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, 代码示例, 关键词扫描, 反汇编, 数据分析, 数据索引, 桌面应用, 逆向工具