Skip to content

这个Chrome浏览器插件可以从Memex插件保存的页面中随机选择一个打开,确保不会重复打开已经访问过的页面。需要自己先手动导入数据

Notifications You must be signed in to change notification settings

momadacoding/randomPage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Random Memex Page (Chrome Extension)

中文 | English (English summary below)

这个 Chrome 扩展可以从你在 Memex(或手动 / 书签导入)里保存的网页中,随机打开一个尚未访问过的页面,直到全部轮询完再自动重置,帮助你重新“挖掘”已收藏的知识与灵感。

核心特性

  • 🔀 真随机:Fisher–Yates 洗牌,一次生成完整序列
  • 🚫 去重保障:保证一次序列内不重复
  • ♻ 自动重置:全部访问后自动重新洗牌
  • 🧠 多数据来源:书签导入 / 手动粘贴 / (可选)后续扩展的同步
  • 💾 状态持久:序列与历史记录保存在 chrome.storage.local
  • 🔐 隐私友好:不上传、不分析你的浏览内容(详见 PRIVACY.md
  • 🧩 Manifest V3:兼容最新 Chrome API

快速开始

  1. 安装并准备好 Memex(可选,非必须;也可以只靠手动/书签导入)
  2. chrome://extensions/ 里加载本项目下的 chromeExtension/ 目录
  3. 打开扩展“选项”页:导入书签 或 粘贴 URL 列表(格式:URL | 可选标题
  4. 点击浏览器工具栏图标 → “Open Random Page”
  5. 享受随机浏览的乐趣 ✅

目录结构(精简)

chromeExtension/
  background.js          # 核心随机逻辑 + 消息路由 + WebDAV 同步
  options.html / .js     # 导入 & 配置界面(含可选权限请求)
  popup.html / .js       # 弹出操作入口
  memex-communicator.js  # 与 Memex 的尝试性通信(受限时回退)
  memex-storage-scanner.js # 深度扫描/启发式收集(受 5 秒超时保护)
  webdav-sync.js         # WebDAV(可选)远程同步模块
  tests/                 # 手动调试脚本(不打包发布)
  icons/                 # 图标资源
docs/                    # 结构化文档(安装 / 架构 / 排障等)
PRIVACY.md               # 隐私说明
README.md                # 当前文件

文档索引

主题 文件
安装(详细) docs/INSTALL.md
架构 & 存储说明 docs/ARCHITECTURE.md
故障 / CSP / 调试 docs/TROUBLESHOOTING.md
图标指引 docs/ICONS.md
隐私政策 PRIVACY.md

存储键(快速总览)

Key 说明
randomMemexPageData 当前洗牌序列 { shuffledPages, currentIndex, lastShuffled, strategy? }
random-memex-imported-pages 导入的原始页面数组 { url,title,timestamp }
randomMemexLastOpened 最近一次打开的页面元信息
randomMemexHistory 最近访问历史(限制 ~40 条)
webdavSyncConfig WebDAV 配置(可选)
webdavRandomMeta 远程同步元数据缓存

更多细节见 docs/ARCHITECTURE.md

架构简述

后台 background.js 作为 MV3 Service Worker:

  1. 事件触发(点击 / 消息) → 读取存储序列状态
  2. 如需重洗(过期 / 用尽 / 为空) → 重建随机序列(去重 + Fisher–Yates)
  3. 取出下一个 URL → 打开新标签页 → 更新索引 & 历史
  4. 可选:WebDAV push/pull 元数据(带 ETag 冲突处理 & 可选加密)

可选权限

  • bookmarks:仅在从书签导入时动态请求(未使用不授予)

贡献

简易纯 JS,无构建链。请阅读:.github/copilot-instructions.mddocs/ARCHITECTURE.md 后再提交 PR。


English Summary

Random Memex Page is a lightweight MV3 extension that re-surfaces saved pages (from Memex or manually imported sources) by generating a de-duplicated random traversal. It persists shuffle state, supports optional bookmark import (dynamic permission), and offers optional WebDAV sync with conflict resolution + encryption. See docs/ for installation, architecture, troubleshooting, and icon guidance. Privacy-friendly: data stays local unless you explicitly configure sync.


MIT License

About

这个Chrome浏览器插件可以从Memex插件保存的页面中随机选择一个打开,确保不会重复打开已经访问过的页面。需要自己先手动导入数据

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published