soxoj/kronikier-web
GitHub: soxoj/kronikier-web
kronikier-web:从网站历史快照中挖掘历史联系方式。
Stars: 4 | Forks: 1
# kronikier-web
🗄️ 通过挖掘获取网站的历史电话号码和电子邮件地址
[web.archive.org](https://web.archive.org) 快照 — 完全来自您的浏览器。
[kronikier CLI](https://github.com/soxoj/kronikier) 的姊妹项目;
共享相同的提取逻辑(libphonenumber,Cloudflare cfemail decode,`[at]/[dot]` 解码,商业注册 / ISIN / 邮政地址过滤,ccTLD优先的电话区域)移植到JavaScript。
## 快速开始
```
git clone https://github.com/soxoj/kronikier-web
cd kronikier-web
python3 server.py
```
在任何浏览器中打开 `http://localhost:8765/`。输入域名,点击 **开始**。
唯一的运行时依赖项是Python的 `requests` 包(如果您没有,请执行 `pip install requests`)。
## 它的功能
对于一个域名(或单个URL),它:
1. 向Wayback Machine的CDX索引请求主机上每个捕获的页面,
预先过滤为可能的联系页面(`/contact`,`/about`,`/impressum`,…)。
2. 此外,探测一小部分知名的联系路径,包括
西里尔字母的(`/контакты`,`/о-нас`,`/реквизиты`)服务器端
CDX过滤器无法触及。
3. 逐个获取顶级快照,具有来自archive.org的自动速率限制和
速率限制信号的回退。
4. 提取电话(libphonenumber-js)和电子邮件(正则表达式 + Cloudflare
`data-cfemail` decode + `[at]`/`[dot]` 解码)。
5. 在快照之间去重,显示每个联系值的首次/最后出现,并提供CSV下载链接。
## 模式
- **域名**(默认)— 对主机上的可能联系页面进行排名,获取
前N个。
- **单个URL** — 遍历一个特定页面的每个存档快照,从最新开始。当您已经知道包含联系信息的页面时很有用。
## 为什么它需要一个本地的Python启动器?
浏览器拒绝向运行在任何其他源上的JS暴露 `web.archive.org` 响应,因为IA的CDX和回放端点不提供CORS头。`server.py` 是一个仅使用stdlib的静态服务器,具有内置的
`/proxy?url=…` 端点,它:
- 与archive.org服务器端通信并回复具有宽容CORS的响应;
- 完全镜像kronikier CLI的HTTP行为(一个共享的
`requests.Session()`,404/408/429/5xx的相同重试策略,
相同的User-Agent)因此Wayback Machine将其视为与CLI相同;
- 将每个成功的响应缓存到磁盘(`~/.cache/kronikier-web/`)以便快速重运行 — 存档快照是不可变的,不需要过期;
- 将上游允许列表锁定为 `web.archive.org` 和 `archive.org`,因此代理
意外地变成开放中继。
如果端口8765已被占用:`python3 server.py 9000`。
要清除缓存:`rm -rf ~/.cache/kronikier-web`(或通过 `KRONIEKER_WEB_CACHE_DIR` 覆盖路径)。
## 与CLI的不同之处
CLI ([github.com/soxoj/kronikier](https://github.com/soxoj/kronikier))
具有校准的时间预算规划器,持久的快照缓存,数百个
知名路径,并且可以扩展到非常大的网站,具有自适应并发性。
Web构建故意最小化 — 顺序获取一个小型的知名探测列表 — 但覆盖了相同的提取边缘情况(Google
跟踪ID,商业注册标记,ISIN值,地理坐标,德国邮政地址片段,日期/时间戳,等)。
对于大型网站的深度扫描,请使用CLI。
## 文件
- `index.html` — 页面 + 内联CSS
- `app.js` — CDX查询,快照获取,电话/电子邮件提取,UI
- `server.py` — 静态服务器 + CORS代理 + 磁盘缓存
## 报告错误
如果您发现提取错误(遗漏的联系,误报,混乱的输出),请通过电子邮件发送 **kronikier@soxoj.com** 或在
[github.com/soxoj/kronikier/issues](https://github.com/soxoj/kronikier/issues)
打开一个问题。
包括存档URL和出现错误的精确值。
## 许可证
MIT.
标签:BSD, CDX索引, Cloudflare, DNS解析, JavaScript前端, libphonenumber, MITRE ATT&CK, Python后端, Syscall, Web存档, Web开发, 历史信息检索, 多模态安全, 开源项目, 数据去重, 数据可视化, 数据合规, 数据挖掘, 数据隐私, 浏览器扩展, 电子邮件识别, 电话号码识别, 网站历史数据, 网络安全, 网络应用, 联系方式提取, 自定义脚本, 逆向工具, 隐私保护