惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
D
Darknet – Hacking Tools, Hacker News & Cyber Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
小众软件
小众软件
V
Visual Studio Blog
T
Tailwind CSS Blog
博客园 - Franky
F
Fortinet All Blogs
D
DataBreaches.Net
Recorded Future
Recorded Future
雷峰网
雷峰网
GbyAI
GbyAI
博客园 - 聂微东
V
V2EX
Security Archives - TechRepublic
Security Archives - TechRepublic
SecWiki News
SecWiki News
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
Help Net Security
Help Net Security
Y
Y Combinator Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
云风的 BLOG
云风的 BLOG
TaoSecurity Blog
TaoSecurity Blog
K
Kaspersky official blog
AI
AI
The Hacker News
The Hacker News
C
Cybersecurity and Infrastructure Security Agency CISA
Project Zero
Project Zero
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
Security Latest
Security Latest
Hacker News: Ask HN
Hacker News: Ask HN
H
Help Net Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
I
Intezer
Spread Privacy
Spread Privacy
Blog — PlanetScale
Blog — PlanetScale
宝玉的分享
宝玉的分享
Cyberwarzone
Cyberwarzone
T
Threatpost
C
CERT Recently Published Vulnerability Notes
L
Lohrmann on Cybersecurity
S
SegmentFault 最新的问题
P
Privacy & Cybersecurity Law Blog
S
Securelist
A
About on SuperTechFans
WordPress大学
WordPress大学
G
Google Developers Blog
L
LINUX DO - 热门话题
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events

eallion's Blog

春假清明自驾游 Ubuntu 25.10 安装和配置 秋假 彩礼 2025 博客变化 预制菜 联邦礼仪之一 重拾写博客的乐趣 少儿 TED - 时间管理大师 n8n 之同步博客到 Mastodon 如何备份 Mastodon Docker 部署 Mastodon NAS 折腾记 Windows 11 安装软件 博客排版 - 挤压中文标点符号 Hugo 博客集成 Mastodon 独立博客自省问卷 15 题 Chrome 插件更新:网址净化器 在 Hugo 中使用 Shiki 炒菜万能公式 uBlacklist 订阅合集 读《中文互联网正在加速崩塌》 CSS 和 JS 实现博客热力图 受灾小记 那,他吃什么?! Mastodon 同步到 Memos Hugo 外部链接跳转提示页面 联邦宇宙及 Mastodon 简介 2024 博客变化 部署动态生成 OG Image 的 API 再看《星际穿越》 实感 自部署 GitHub 风格的 Reactions 点赞功能 图床 CDN CNAME 接入 Cloudflare SaaS 实现分流 利用 GitHub Actions 同步对象存储 留给孩子一个完整的母亲 博客 AI 摘要及优化 豆瓣同步到 Notion 和 Neodb NeoDB API 创建观影页面 Artalk 无评论随机显示诗词 孙燕姿关于AI孙燕姿的回复 Windows 安装 Rime 小狼毫五笔拼音输入法 Umami Docker 部署及优化 去有风的地方 非 24 小时睡眠觉醒障碍 Memos API 获取总条数 Memos API 公告样式滚动效果 Memos API 调用渲染页面 Memos 手动导入数据 Memos 简介 凉城利川·避暑旅居胜地(附 CCTV 报道) 珊瑚鱼 读《中文大约的确已经死了》 再说评论 且试天下 记一次博客被攻击 Hugo .GitInfo 的替代方案 Gitea 安装备忘 Twikoo 集成 Slimbox2 灯箱插件 童心皆可爱 减肥小结 白粽肉粽及端午快乐安康 劳动合同解除 (终止) 及赔偿一览表 启用 Waline 静态博客评论系统的选择 好好说话 KMS Windows 激活服务器 Ubuntu 20.10 优化 关于 Ubuntu Ubuntu ZFS 原生全盘加密 Ubuntu ZFS 加密 Home 目录 爱丽丝梦游仙境症 偶发 月半 Ubuntu 20.04.1 配置 LNMP 本地环境备忘 佛性写博 Ubuntu 20.04 优化 免费领取咪咕版 Kindle Typecho 迁移到 Hugo 博客迁移到 Hugo GitHub Actions 自动部署 Hexo 脚本 Gridea Hexo Hugo 等 git push 同步到多个仓库 Ubuntu 19.10 优化 Typecho 中英文之间自动加上空格 Ubuntu 配置 EverVim Ubuntu 配置 Guake Ubuntu 配置 Oh-My-Zsh 阿里云镜像改版 备份工具 Duplicati Ubuntu Server snap 安装 Nextcloud Ubuntu Server 安装 Mosh 算命 言论自由 无意义的个性化 「我谈的话题没什么敏感的」 博客换回默认主题 typecho1.2 (18.10.23) 新窗口打开链接 一言 APP 添加 “今日诗词” 官方源 api 让 Firefox 只在新标签页 newtab 显示书签栏 爱子七不责 改革开放 40 年 大民大国 40 年 40 本书
n8n 之备份 Mastodon 嘟文
Charles Chin · 2025-06-11 · via eallion's Blog

# 前言

以前体验过 n8n,但是源于自己的成见,觉得它的流程节点太多了,任何一个节点出问题都会影响到整个流程的鲁棒性。人总是健忘的,好比自己的博客,半年没写了,前两天突然打算写一篇博客,已经不知道怎么下手了,不是忘了这就是忘了那,打了 5 次补丁才把一篇文章按自己当初的博客要求给完成。
后来看到木木老师的《 Memos & n8n,秒接入 AI》,我也决定再次部署 n8n 试试用它来备份 Mastodon 嘟文,半年下来很流畅,很稳定。

显示 Deactivated 的节点(灰色)表示已停用。

# 功能

# 备份

这个 n8n 流程只能备份 Mastodon 嘟文(Statuses),不能备份评论和转发,随嘟文发布的 Media 文件会以 Markdown 的图片格式拼接到嘟文结尾来保存。不能备份 Mastodon 其他的内容。

# 同步

它还具体同步的功能,可以把嘟文同步到 GitHub、Memos、Notion、Twitter 等平台,有些平台 n8n 原生支持,有些平台需要官方提供的 API 来创建 HTTP Request 节点。

# 加速

一般来说,Mastodon 实例都部署在国外,通过 Cloudflare CDN 来加速,隐藏实例的 IP 地址。我通过添加了一个 s3 的 n8n 节点来对博客集成进行加速,把 Statuses 缓存到阿里云的 OSS 上。博客中集成的「 嘀咕」和「 随手拍」页面访问的数据都是从 OSS 上获取的,访问速度会更快。

# 配置 n8n

# 部署 n8n

n8n 的部署方式有很多种,Docker、Kubernetes、云服务等,这里就不赘述了。可以参考官方文档: n8n 部署

# 配置凭证

在 n8n 面板中,点右上角的三角形,选择 Create Credentials,创建需要的凭证。
其他的平台,如:Memos、Blinko、Sink 没有官方的凭证,是通过 HTTP Request 节点来实现认证的。

我的流程中用到了以上几个节点,需要同步到其他平台,可模仿添加即可。

可选:也可以在编辑流程时,再根据需要来配置凭证:

# 导入流程

我导出了我最新的 n8n 流程文件(已脱敏),在其他 n8n 中导入后,编辑凭证信息即可使用。

内容太长了,贴到 Gist 上: n8n_sync_mastodon_to_memos_blinko_github_notion.json

除了下载这个文件导入外,更简便的方法是在 n8n 中新建一个 Workflow,在编辑器中,点击右上角的「Import from URL…」,填入 Gist 的 Raw 链接:https://gist.githubusercontent.com/eallion/4e7ed09ab48b774628b21b9e67efe124/raw/de066041ba842ea98f3c3ea4c435cd8e7c76c1c9/n8n_sync_mastodon_to_memos_blinko_github_notion.json

导入完成后,一定要双击点开每个节点编辑成自己的信息。

# 配置 Mastodon

现在可以配置 Mastodon 了,复制 n8n 流程中的 Webhook 节点 Production URL

然后在 Mastodon 的设置中,管理 Webhooks 新增端点 添加一个 Webhook,填入上面的 URL,启用事件选择:status.created,然后保存。

# 总结

如果一切配置正确,Mastodon 会在每次发布嘟文时(Reply 和 Boost 操作时也会触发,但已做好 Break 判断),向 n8n 的 Webhook 发送一个 POST 请求,触发 n8n 流程。

本流程包含以下动作:

  • 检查是不是 Neodb 的标记
  • 用 AI 对比 Mastodon 最新嘟文和 Memos 的最新 Memo 是否重复
  • 优化处理文本内容
  • 优化后的内容同步到 Memos 中(含时间)
  • 优化后的内容同步到 GitHub
  • 优化后的内容同步到 Notion
  • 优化后的内容同步到 Blinko(已弃用)
  • 同步最新的 40(limit)条嘟文和 Emoji 到 S3 节点(阿里云 OSS),用于博客集成加速

其中,Manual 这个节点是用来手动触发流程的,测试的时候可以用它来模拟 Mastodon 的 POST 请求。测试时需要停用 Webhook 节点。

从运行历史看,流程运行正常,耗时在 160 毫秒左右:

# 注意事项

不要在短时间内频繁操作 Mastodon,比如不要非常快速的发布嘟文、回复或转发等,每次操作都会触发 n8n 流程,可能出现第二次操作时,第一次操作触发的流程还没完成的情况。
这会导致什么情况呢?因为流程中请求 Mastodon 的 API 时,是没有携带 Statuses ID 参数的,会导致短时间内多次请求同一内容,从而备份重复了。
初次设计这个流程时就想到了,但完成了一半了懒得改了,只要慢一点点就没事。

# Todo

  • Webhook 触发时锁定 Statuses ID。