# IndieWeb ↔ Fediverse 桥接分析器

解析 microformats2（h-entry/h-card），校验 Webmention/IndieAuth/Micropub/Microsub，生成 ActivityPub Object+Activity 双视图与全回复路由 —— 严格对齐 W3C 规范

> 标准页面: https://elysiatools.com/zh/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 解析树**：按 microformats2 解析算法解析 `h-entry` / `h-card` / `h-feed` —— `p-`（value-class、data/input value、img alt 替换）、`u-`（href/src/value 优先级，按基础 URL 解析为绝对地址）、`dt-`（`time[datetime]`）、`e-content`（html + value）、带前缀派生 `value` 的嵌套微格式、隐含 name/url/photo。
- **Webmention（W3C 推荐 2017）**：校验 source/target（必须是 URL，接收方必须拒绝 source == target）、对 fragment 不敏感的 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**（含 `inReplyTo`、`attributedTo`、`as:Public` 公共寻址的 Note）和包装它的 **Activity** —— `Create`，或当条目带 `u-like-of`/`u-repost-of` 时为 `Like`/`Announce`。
- **全回复路由**：为每个 `in-reply-to` / `like-of` / `repost-of` / `u-syndication` 目标生成通知路由 —— 指向目标已发现端点的 Webmention，外加 Bridgy-Fed 式 Fediverse 桥接建议与 ActivityPub relay 指引。

**诚实说明**："Apenode" *不是* Fediverse/W3C 标准 —— 它是 2015 年 Kong API 网关发布前的旧名。这里真正的 relay 概念是 **ActivityPub relay**：关注演员并转发（re-Announce）其活动的服务器，让新实例可以自举联邦。路由输出反映这一事实。

## 输入项

- **页面 HTML 或 ActivityPub JSON** (textarea): Paste an h-entry page or an ActivityPub document…
- **基础 URL** (text): https://example.com/my-post
- **Source URL（Webmention 检查）** (text): https://source.example/reply
- **Target URL（Webmention 检查）** (text): https://target.example/post

## 适用场景

- 在将个人独立博客接入 Mastodon、Misskey 等 Fediverse 平台前，需要验证微格式与 ActivityPub 映射是否正确时。
- 调试和验证博客中的 Webmention 接收逻辑、rel 端点发现以及 source 与 target 合规性时。
- 为独立网站开发 Micropub 发布接口或 IndieAuth 鉴权流程，需要比对标准请求 Payload 与端点定义时。

## 工作原理

- 输入包含 microformats2 的 HTML 源码或 ActivityPub JSON，并可选择性配置基础 URL 与 Webmention 测试地址。
- 解析器按照 W3C mf2 算法解析 p-、u-、dt- 和 e-content 属性，自动补全绝对路径并构建结构化微格式对象树。
- 系统执行 Webmention、IndieAuth 及 Micropub 规范检查，自动发现页面中的相关协议 endpoint。
- 根据语义类型（如常规笔记、like-of、repost-of）生成 ActivityPub Object 与 Activity 结构，并输出全回复通知路由清单。

## 使用案例

- 独立博客作者测试页面中的 h-entry 标签能否被 Bridgy Fed 等桥接服务正确转换为 Fediverse 动态。
- 去中心化社交协议开发者验证 IndieAuth 与 Micropub 发现端点及 JSON Payload 的合法性。
- 测试互动文章中的 u-in-reply-to 与 u-like-of 跨站回复路由通知路径。

## 常见问题

### 什么是 microformats2（mf2）解析？

它是基于 HTML class 前缀（如 h-entry、p-name、u-url）提取结构化数据的标准算法，本工具支持自动解析文本、富文本及绝对链接。

### Webmention 校验中 source 和 target 有什么限制？

两者必须为合法 URL，且规范要求接收方必须严格拒绝 source 与 target 相同的请求。

### 工具生成的 ActivityPub 双视图指什么？

指同时输出底层的 AS2 Object（如带有 inReplyTo 的 Note）以及外层包裹的操作 Activity（如 Create、Like 或 Announce）。

### like-of 或 repost-of 条目会转换成什么活动？

带有 u-like-of 或 u-repost-of 的条目会分别被转换为 ActivityPub 的 Like 或 Announce 活动，其 object 直接指向目标 URL。

### Apenode 在工具中代表什么？

Apenode 不是 W3C 或 Fediverse 标准，本工具严格遵循 W3C 标准中的 ActivityPub relay 概念来处理活动中继与路由指引。

## 相关工具

- [Data URI 生成器](https://elysiatools.com/zh/tools/data-uri-generator): 将文件转换为 Data URI（Base64 或百分号编码），用于直接在 HTML、CSS 或 Markdown 中内联图片、字体等资源
- [JWK 生成与解析器](https://elysiatools.com/zh/tools/jwk-generator): 生成 RSA、EC（P-256/P-384/P-521/secp256k1）与 OKP（Ed25519/Ed448/X25519/X448）的 JSON Web Key，或解析已有 JWK 以查看参数、指纹与元信息
- [身份证验证器](https://elysiatools.com/zh/tools/id-card-validator): 验证各国身份证号码的有效性并提供详细分析（JSON输出）
- [JSON模式校验器](https://elysiatools.com/zh/tools/json-schema-validator): 验证JSON数据是否符合JSON Schema结构定义
- [Netrc文件解析](https://elysiatools.com/zh/tools/netrc-parser): 解析和转换Netrc文件格式为JSON
- [SSH配置解析器](https://elysiatools.com/zh/tools/ssh-config-parser): 解析和转换SSH配置文件为JSON格式
- [音频旋律轮廓提取器](https://elysiatools.com/zh/tools/audio-melody-contour-extractor): 从音频中提取主导旋律，并在一个 ZIP 中导出 MIDI、音符事件、音高轮廓、SVG 和 JSON。
- [游戏存档查看器](https://elysiatools.com/zh/tools/game-save-viewer): 拖入任意游戏存档——Minecraft NBT、虚幻引擎 GVAS、幻兽帕鲁容器、JSON/XML/INI/Lua 文本存档、SQLite 档案——识别格式、引擎版本、关键进度字段并给出有界的结构树。

## 示例

- [JSON 示例](https://elysiatools.com/zh/samples/json): JSON（JavaScript 对象表示法）格式示例，从简单到复杂结构
- [JWT 示例](https://elysiatools.com/zh/samples/jwt-samples): 从基础令牌结构到高级安全实现的全面JWT示例
- [Terraform Plan JSON 样本](https://elysiatools.com/zh/samples/terraform-plan-json-samples): 用于依赖可视化和变更审查的 Terraform plan JSON 文件样本，贴近 terraform show -json 输出结构
- [十六进制/Unicode转换样本](https://elysiatools.com/zh/samples/text-hex-unicode-formats): 十六进制和Unicode转义序列转换的测试样本
