Tootbot

🐘 轻量命令行 Mastodon 发布工具

social-media榜 #31

通过 Bun 运行时向 Mastodon 发布推文、媒体及定时帖子的命令行工具

收藏
12.8k
安装
2.7k
版本
0.3.0
CLS 安全性认证2026-07-01
点击查看完整报告 >

使用说明

核心用法

mastodon-publisher 是一个基于 Bun 运行时的命令行工具,用于向 Mastodon 联邦宇宙社交平台发布内容。核心命令为 bun {baseDir}/scripts/toobot.js new-status,支持文本状态、媒体附件、定时发布及精细的隐私控制。

主要功能参数:

  • --status: 推文文本内容(与媒体二选一必填)
  • --visibility: 可见性设置,支持 public(公开)、private(粉丝可见)、unlisted(未列出)、direct(私信)
  • --scheduled-at: RFC3339 格式定时发布时间
  • --quote-approval-policy: 控制谁可以引用该帖子
  • --media-path: 媒体附件路径,支持多文件重复指定
  • --language: ISO 639-1 语言代码标注

特色能力:

  • 纯文本/纯媒体/混合内容发布
  • 定时调度未来帖子
  • 多层级隐私与引用权限控制

显著优点

1. 轻量高效:基于 Bun 运行时,启动快、资源占用低
2. 隐私友好:原生支持 Mastodon 的去中心化特性,无算法干预

3. 灵活可控:细粒度的可见性与引用权限设置,适合敏感内容管理

4. 定时发布:支持未来时间点自动发布,便于内容规划

5. 媒体友好:支持多附件上传,可无文本纯媒体发帖

潜在缺点与局限性

  • 依赖单一运行时:强制要求 Bun,Node.js 用户需额外安装
  • 无交互式配置:纯命令行工具,无配置文件管理,每次需完整参数
  • 路径硬编码:脚本路径 {baseDir}/scripts/toobot.js 为模板变量,实际部署需替换
  • 无状态管理:无本地草稿箱或发布历史查询功能
  • 文档极简:错误处理、API 限流、令牌管理等关键细节未说明

适合人群

  • 需要在 CLI/自动化工作流中集成 Mastodon 发布的技术用户
  • 注重隐私、使用联邦宇宙平台的内容创作者
  • 寻求轻量级定时发布工具的社交媒体运营者
  • 偏好命令行效率而非 GUI 的重度终端用户

常规风险

  • 令牌泄露风险:命令行参数可能暴露于 shell 历史或进程列表
  • 定时任务可靠性:依赖本地系统时间,无服务端确认机制
  • 媒体路径有效性:本地路径错误将导致发布失败,无预检查
  • API 限流未知:未说明 Mastodon 实例的速率限制处理策略
  • 联邦延迟:发布后跨实例传播存在异步延迟,非即时全局可见

安全解读

核心功能与用法

Mastodon Publisher 是一个面向 Mastodon 联邦宇宙的内容发布自动化工具,基于高性能 JavaScript 运行时 Bun 构建。该 skill 提供完整的 Mastodon 状态发布能力,包括纯文本发布、多媒体附件上传、定时发布调度、可见性控制及引用权限管理。

典型使用场景

  • 即时内容发布:快速分享文字更新或媒体内容
  • 定时内容调度:通过 --scheduled-at 参数预设未来发布时间,支持 ISO 8601/RFC3339 格式
  • 隐私分级控制:支持 public(公开)、unlisted(未列出)、private(粉丝可见)、direct(私信)四级可见性
  • 媒体内容管理:支持单条或多条媒体附件上传,允许纯媒体发布(无文字内容)
  • 引用权限管理:通过 --quote-approval-policy 控制哪些用户群体可以引用回复

显著优点

1. 运行时性能优异:基于 Bun 运行时,启动速度和执行效率显著优于 Node.js 环境
2. 功能覆盖完整:涵盖 Mastodon API v1 的核心发布功能,包括媒体上传、账户验证等

3. 参数设计灵活--status--media-path 互斥依赖设计,既保证内容有效性又支持纯媒体发布

4. 标准合规:使用 HTTPS + Bearer Token 认证,符合 Mastodon 官方 API 规范

局限性与风险

1. 代码可审计性受限:主脚本为 322KB 编译后单文件 Bundle,原始源代码结构丢失,难以进行深度安全审查
2. 依赖不透明:yargs-parser 等依赖项版本信息缺失,无法执行 CVE 扫描

3. 输入验证薄弱--media-path 等参数未展示路径遍历防护,--scheduled-at 格式验证依赖外部库

4. 环境依赖单一:强制依赖 Bun 运行时,对未安装 Bun 的环境不友好

适用人群

  • 需要自动化 Mastodon 内容发布的个人用户或小型团队
  • 已部署 Bun 运行时的技术环境
  • 能够接受 T3 来源等级(个人开发者)并愿意进行额外安全审查的用户

常规风险提醒

  • Token 安全管理:需配置 ACCESS_TOKEN 环境变量,建议使用最小权限范围的 Mastodon 应用令牌
  • 实例兼容性:实际行为取决于用户配置的 Mastodon 实例版本和策略
  • 编译代码风险:虽然当前版本未发现恶意代码,但编译后 Bundle 难以保证未来版本的可审计性

Tootbot 内容

scripts文件夹
手动下载zip · 87.0 kB
tootbot.jstext/javascript
请选择文件