Skip to content

vertotem/Mastodon-Random-Picker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

毛象乱选 (Mastodon Random Picker)

一个用于随机浏览 Mastodon(长毛象)用户嘟文的工具。支持通过 API 抓取或导入本地存档文件,然后随机抽取并浏览嘟文。

✨ 功能特性

  • 🎲 随机抽取:从用户的嘟文中随机选择一条进行浏览
  • 📥 多种导入方式
    • 通过 Mastodon 用户主页链接直接抓取
    • 导入本地 JSON 备份文件
    • 导入 Mastodon 导出的 ActivityPub 格式存档文件夹
  • 🔍 灵活的筛选
    • 抓取时可排除回复和转嘟
    • 支持按日期范围筛选
    • 支持按数量限制抓取
  • 💾 数据管理
    • 自动记录已读状态
    • 支持导出数据备份(含进度)
    • 自动加载本地缓存
  • 🖼️ 媒体支持
    • 支持显示图片、视频等媒体附件
    • 图片全屏查看,支持键盘导航
    • 导入存档时可显示本地媒体文件
  • 🎨 美观界面
    • 现代化的 UI 设计
    • 响应式布局
    • 流畅的动画效果

🚀 使用方法

方式一:通过链接抓取

  1. 打开 Mastodon 用户主页(如 https://alive.bar/@meomo
  2. 复制浏览器地址栏的完整链接
  3. 粘贴到输入框中,点击搜索按钮
  4. 等待数据抓取完成
  5. 点击"开始随机抽取"按钮开始浏览

方式二:导入本地 JSON 文件

  1. 点击"导入本地 JSON 文件"
  2. 选择之前导出的 JSON 备份文件
  3. 支持两种格式:
    • 原始数据 JSON(纯嘟文数组)
    • 含进度的备份文件(包含已读记录)

方式三:导入 Mastodon 存档

  1. 在 Mastodon 中导出您的数据(ActivityPub 格式,ZIP 文件)
  2. 解压 ZIP 文件到本地文件夹
  3. 点击"导入本地 JSON 文件"
  4. 选择解压后的整个文件夹(不是 ZIP 文件)
  5. 程序会自动读取 outbox.jsonactor.json,并显示包含的媒体文件

📋 功能说明

抓取设置

  • 排除回复:抓取时跳过回复类型的嘟文
  • 排除转嘟:抓取时跳过转发类型的嘟文
  • 抓取范围
    • 抓取全部:获取所有符合条件的嘟文
    • 仅抓取最新 N 条:限制抓取数量
    • 仅抓取此日期之后:按日期筛选

显示筛选

  • 日期范围:设置随机抽取的时间范围
  • 显示回复/转嘟:控制是否在随机抽取中包含这些类型

数据管理

  • 下载数据:导出纯嘟文数据 JSON
  • 数据 + 进度:导出包含已读记录的完整备份
  • 重置已读记录:清除当前用户的已读状态

🛠️ 技术栈

  • 纯前端实现,无需后端服务器
  • 使用原生 JavaScript(ES6+)
  • Tailwind CSS 样式框架
  • 支持 ActivityPub 格式解析

📝 注意事项

  1. 网络环境:能否成功抓取数据和显示图片,取决于您的网络环境能否访问对应的 Mastodon 实例
  2. API 限制:由于 API 限制,程序每次请求约 40 条嘟文,大量数据需要多次请求
  3. 服务器压力:建议抓取完成后下载数据到本地,下次直接导入,减少对服务器的请求
  4. 浏览器兼容性:需要支持现代浏览器特性(File API、ES6+ 等)

📄 许可证

本项目采用 MIT 许可证。

👤 作者

Made by 梦貘 with ❤️

🔗 相关链接

About

Mastodon Random Picker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published