DearStrike4940/archive-scout-2.0

GitHub: DearStrike4940/archive-scout-2.0

一款跨平台桌面研究工具,用于索引、下载、关键字扫描和报告 Wayback Machine 的公开网页快照,支持项目化的长期归档研究工作流。

Stars: 0 | Forks: 0

# Archive Scout 2.0 Archive Scout 是一款跨平台桌面应用程序,用于索引公开的 Wayback Machine 快照、下载归档的文本页面、扫描自定义关键字,以及生成排名纯文本报告。 此仓库用一个代码库和一个发布页面取代了之前分别针对 Windows、Linux、Intel Mac 和 Apple Silicon Mac 的独立仓库。 ## 下载 首个公开的 2.0 alpha 版本将提供三个文件: - [下载 Windows x64 版本](../../releases/latest/download/ArchiveScout-Windows-x64.zip) - [下载 Linux x64 版本](../../releases/latest/download/ArchiveScout-Linux-x64.tar.gz) - [下载 macOS Intel 和 Apple Silicon 版本](../../releases/latest/download/ArchiveScout-macOS-Universal.dmg) 在正式发布版本之前,请使用 **Actions → Build All Platforms → Run workflow** 来创建测试构建。 ## 2.0 alpha 1 的新特性 Archive Scout 2.0 引入了专为长期研究设计的新项目格式,而不是单次一次性扫描。 - Windows、Linux、Intel Mac 和 Apple Silicon Mac 使用同一个代码仓库 - 同一原始 URL 的多个 Wayback 快照可以共存 - 下载的文档与关键字结果分开存储 - 每次重新扫描都会创建一个保留的扫描运行记录,而不是覆盖以前的报告 - 现有下载内容可以使用新关键字重新扫描,无需联系 Wayback Machine - 事后仅可重试出错的 URL - 对于有效的本地文件,在尝试任何新下载之前,会先在本地重试扫描或解析错误 - 下载、扫描、解析、迁移和索引错误将作为结构化数据库记录进行存储 - 版本 1 的项目会自动备份并迁移 - 项目完整性检查操作会检测缺失、空白、不匹配和孤立的文件 - 已为后续的搜索界面准备好 SQLite 全文索引 - 纯文本报告依然可用,并且每次扫描都会获得其专属的报告文件夹 ## 操作模式 ### 索引、下载、扫描和报告 运行完整的工作流程。Archive Scout 会查询 CDX 索引,下载符合条件的文本快照,扫描它们,并生成报告。 ### 仅索引 URL 查询 CDX 并存储快照元数据,但不下载任何内容。 ### 下载并扫描待处理的 URL 仅下载未完成或被标记为错误的快照。 ### 恢复中断的工作 继续处理因停止或中断的运行而遗留的待处理快照。它不会自动重试之前失败的 URL。 ### 使用当前关键字重新扫描现有下载内容 读取项目中已保存的文件并创建新的扫描运行。此操作不会发起 CDX 请求,也不会下载任何内容。 ### 仅重试出错的 URL 仅选择未解决且可重试的错误。当本地文件仍然有效时,会从磁盘重新扫描在扫描或解析期间失败的页面。仅当其本地副本缺失、无效或从未完成时,才会重新下载该快照。 ### 仅重新生成报告 根据已完成的扫描运行重新生成纯文本报告,无需扫描或下载。 ### 检查项目完整性 检查数据库和快照文件夹中是否存在缺失的文件、空文件、大小不匹配、数据库链接损坏、未解决的错误以及未跟踪的文本文件。 ## 报告 最新的报告直接保留在 `reports` 文件夹中: ``` matches_ranked.txt matched_urls.txt wayback_urls.txt interesting_links.txt keyword_counts.txt all_indexed_urls.txt errors.txt summary.txt integrity.txt ``` 每次已完成的扫描也会保存在类似以下的文件夹中: ``` reports/scan-00003-Current-keywords/ ``` 因此,更改关键字并重新扫描不会破坏之前关键字集合生成的报告。 ## 项目文件 ``` project.json archive_scout.sqlite3 archive_scout.v1.backup.sqlite3 captures/ reports/ ``` 备份数据库仅在迁移版本 1 的项目后才会出现。 ## 升级版本 1 的项目 1. 复制整个项目文件夹作为外部备份。 2. 在 Archive Scout 2.0 中打开现有的 `project.json`。 3. 启动本地操作,例如**检查项目完整性**或**重新扫描现有下载内容**。 4. Archive Scout 会检测到旧数据库,创建 `archive_scout.v1.backup.sqlite3`,构建版本 2 的数据库,导入已保存的快照,并将旧排名保留为遗留扫描运行记录。 5. 迁移后检查 `reports/integrity.txt`。 备份不会自动删除。 ## 从源码运行 需要 Python 3.11 或更高版本。 ``` python -m pip install -r requirements-runtime.txt python run_app.py ``` 使用以下命令运行测试: ``` python -m unittest discover -s tests -p "test_*.py" -v ``` ## 构建各个操作系统 GitHub 必须在其原生的 runner 上构建每个平台。打开: ``` Actions → Build All Platforms → Run workflow ``` 成功的手动运行会创建三个可下载的 workflow artifact。发布诸如 `v2.0.0-alpha.1` 之类的 tag 会创建或更新 GitHub Release,并附带三个公开的安装包及其 SHA-256 校验文件。 ## 当前状态 `2.0.0-alpha.1` 是基础版本。数据库已为评论、笔记、标签、重复项分组、论坛主题、论坛帖子、提取内容和快照比较做好准备,但这些界面和分析工具将在后续的里程碑中添加。 有关完整的实施计划,请参阅 [ROADMAP.md](ROADMAP.md);有关项目结构,请参阅 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)。 ## 负责任的使用 Archive Scout 仅处理公开的归档资料。用户有责任遵守适用的法律法规、归档政策、网站条款以及道德研究规范。请勿使用本软件骚扰他人、暴露私人信息或使归档基础设施超载。
标签:ESC4, OSINT, Wayback Machine, 代码示例, 关键词扫描, 反汇编, 数据分析, 数据索引, 桌面应用, 逆向工具