# Анализатор моста IndieWeb ↔ Fediverse

Разбор microformats2 (h-entry/h-card), проверка Webmention/IndieAuth/Micropub/Microsub, двойное представление ActivityPub Object+Activity и маршрутизация reply-all — строго по спецификациям W3C

> Каноническая страница: https://elysiatools.com/ru/tools/webmention-micropub-microsub-indieauth-activitypub-apenode-reply-all-indieweb-bridge

- **Категория:** Web & Internet

- **Ключевые слова:** webmention, micropub, microsub, indieauth, activitypub, microformats2, h-entry, indieweb, fediverse, bridgy fed, mf2 парсер

## Обзор

Перебросьте IndieWeb-страницу в Fediverse —— с **настоящим парсером microformats2** и проверками протоколов W3C, которые выполняют реальные мосты.

**Что делает:**
- **mf2-дерево**: разбор `h-entry` / `h-card` / `h-feed` по алгоритму microformats2 —— `p-` (value-class, значение data/input, подстановка alt у img), `u-` (приоритет href/src/значение, абсолютное разрешение от базового URL), `dt-` (`time[datetime]`), `e-content` (html + value), вложенные микроформаты с `value` по префиксу, подразумеваемые name/url/photo.
- **Webmention (Рекомендация W3C 2017)**: проверка source/target (обязательно URL; получатель ОБЯЗАН отклонить source == target), поддержка target без учёта фрагментов, поиск эндпоинтов `rel=webmention`.
- **IndieAuth (Рекомендация W3C 2018)**: обнаружение `rel=authorization_endpoint` / `rel=token_endpoint` и эндпоинтов Micropub/Microsub; описание потока authorization-code + PKCE S256.
- **Micropub (Рекомендация W3C 2017)**: точный JSON create-запрос (`{type:["h-entry"], properties:{…}}`) плюс шаблоны update (replace/add/delete) и delete/undelete.
- **Microsub (черновик IndieWeb)**: раскладка каналов и разница `order=published` и порядка получения по умолчанию.
- **Двойное представление ActivityPub (Рекомендация W3C 2018)**: AS2 **Object** (Note с `inReplyTo`, `attributedTo`, публичная адресация `as:Public`) и обёртывающая **Activity** —— `Create` либо `Like`/`Announce` при `u-like-of`/`u-repost-of`.
- **Маршрутизация reply-all**: для каждого адресата `in-reply-to` / `like-of` / `repost-of` / `u-syndication` — маршрут уведомления: Webmention на обнаруженный эндпоинт цели, плюс мосты в духе Bridgy Fed и руководство по ActivityPub-ретрансляторам.

**Примечание о честности:** «Apenode» — *не* стандарт Fediverse/W3C: так до 2015 года назывался API-шлюз Kong. Реальное понятие здесь — **ActivityPub relay**: сервер, который подписывается на актёров и повторно анонсирует их активности. Маршрутизация отражает эту реальность.

## Входные данные

- **HTML страницы или JSON ActivityPub** (textarea): Paste an h-entry page or an ActivityPub document…
- **Базовый URL** (text): https://example.com/my-post
- **URL источника (проверка webmention)** (text): https://source.example/reply
- **URL цели (проверка webmention)** (text): https://target.example/post

## Когда использовать

- Отладка разметки microformats2 на персональном сайте перед подключением к Fediverse.
- Проверка валидности отправки и эндпоинтов Webmention между источником и целевой страницей.
- Тестирование генерации полезной нагрузки Micropub JSON и объектов ActivityPub (Note, Like, Announce).

## Как это работает

- Парсер разбирает HTML-код по правилам microformats2, извлекая текстовые свойства (p-), ссылки (u-), даты (dt-) и разметку (e-content).
- Проверяются правила W3C Webmention: валидность абсолютных URL, запрет совпадения source и target, поиск rel-эндпоинтов.
- Формируются структуры ActivityPub (Object Note и обёртывающая Activity Create/Like/Announce) и маршруты уведомлений для ответов.

## Сценарии использования

- Проверка совместимости разметки h-entry блога с мостами федерации вроде Bridgy Fed.
- Валидация Webmention-запросов и диагностика обнаружения эндпоинтов на стороне получателя.
- Трансляция микроформатов персонального сайта в JSON-LD ActivityStreams 2.0 для публикации в Mastodon.

## Частые вопросы

### Чем отличаются представления Object и Activity в ActivityPub?

Object представляет сущность контента (например, Note), а Activity описывает совершённое действие над объектом (например, Create, Like или Announce).

### Почему Webmention требует несовпадения source и target?

Спецификация W3C Webmention строго запрещает равенство source и target для предотвращения циклических уведомлений и самоссылок.

### Как инструмент обрабатывает относительные ссылки?

Все относительные URI внутри свойств u- и ссылок разрешаются в абсолютные URL относительно переданного baseUrl.

### Какие эндпоинты IndieAuth и публикации обнаруживаются в HTML?

Анализатор находит ссылки с rel="authorization_endpoint", rel="token_endpoint", rel="micropub" и rel="microsub".

### Как обрабатываются свойства u-like-of и u-repost-of?

При наличии этих свойств вместо обычной Note ActivityPub генерирует активности Like или Announce, ссылающиеся на внешний URL цели.

## Связанные инструменты

- [Генератор Data URI](https://elysiatools.com/ru/tools/data-uri-generator): Преобразует файлы в Data URI (Base64 или процентное кодирование) для встраивания изображений, шрифтов и ресурсов прямо в HTML, CSS или Markdown
- [Генератор и анализатор JWK](https://elysiatools.com/ru/tools/jwk-generator): Генерирует JSON Web Keys (JWK) для RSA, EC (P-256/P-384/P-521/secp256k1) и OKP (Ed25519/Ed448/X25519/X448), либо разбирает существующий JWK для просмотра параметров, отпечатка и метаданных
- [ID Card Validator](https://elysiatools.com/ru/tools/id-card-validator): Validate and analyze ID card numbers from various countries with detailed breakdown (JSON output)
- [Валидатор JSON Schema](https://elysiatools.com/ru/tools/json-schema-validator): Проверка данных JSON по схеме JSON для проверки структуры и типов данных
- [Netrc Парсер](https://elysiatools.com/ru/tools/netrc-parser): Анализирует и конвертирует формат файла Netrc в JSON
- [Парсер Конфигурации SSH](https://elysiatools.com/ru/tools/ssh-config-parser): Анализирует и конвертирует файл конфигурации SSH в формат JSON
- [Извлечение мелодического контура](https://elysiatools.com/ru/tools/audio-melody-contour-extractor): Извлекает ведущую мелодию и помещает MIDI, события нот, контур высоты, SVG и JSON в ZIP.
- [Просмотрщик игровых сохранений](https://elysiatools.com/ru/tools/game-save-viewer): Подкиньте любой файл сохранения — NBT из Minecraft, GVAS из Unreal Engine, контейнеры Palworld, текстовые JSON/XML/INI/Lua-сейвы, SQLite-профили — и получите определённый формат, версии движка, ключевые поля прогресса и ограниченное дерево структуры.

## Примеры

- [Примеры JSON](https://elysiatools.com/ru/samples/json): Примеры формата JSON (JavaScript Object Notation) от простых до сложных структур
- [Примеры JWT](https://elysiatools.com/ru/samples/jwt-samples): Полные примеры JWT от базовой структуры токенов до продвинутых реализаций безопасности
- [JSON Примеры Terraform Plan](https://elysiatools.com/ru/samples/terraform-plan-json-samples): Файлы Terraform plan JSON для визуализации зависимостей и проверки изменений, похожие на terraform show -json
- [Примеры Hex/Unicode Конвертера](https://elysiatools.com/ru/samples/text-hex-unicode-formats): Тестовые примеры для преобразования hex и unicode escape-последовательностей
