meysam81/trawl
GitHub: meysam81/trawl
一款零云端、零成本的 Chrome 扩展,用于从任意网页提取、验证和导出邮箱地址,是 Hunter.io 的免费开源替代方案。
Stars: 0 | Forks: 0
# Trawl
[](https://github.com/meysam81/trawl/actions/workflows/ci.yml)
[](LICENSE)
[](https://github.com/meysam81/trawl/releases)
[](https://github.com/meysam81/trawl/stargazers)
[](https://www.typescriptlang.org/)
[](https://developer.chrome.com/docs/extensions/mv3/)
[](https://vite.dev/)
[](https://bun.sh/)
[](https://zod.dev/)
[](#privacy)
[](#privacy)
[](https://github.com/meysam81/trawl/pulls)
[](https://github.com/sponsors/meysam81)
零云端 Chrome 邮箱智能工具。从任意网页提取、验证并发现邮箱地址 —— 无需账户、无需订阅、无需依赖 Hunter/Apollo/Snov.io。

## 为什么选择 Trawl?
- **零云端** —— 所有数据均存储在浏览器的本地存储中。任何数据都不会传输到你无法控制的服务器。
- **零成本** —— 无需 API keys、无需订阅、无使用限制。安装即可使用。
- **全流程** —— 提取 → 验证 → 发现 → 导出,一个扩展全搞定。
- **智能提取** —— 解码混淆格式(`[at]`、`{dot}`)、HTML 实体(`@`)、mailto 链接、JSON-LD 和 data 属性。
- **置信度评分** —— MX 验证 + 一次性邮箱检测 + 来源分析 = 为每个地址提供 0-100 的评分。
## 功能特性
### 提取
多层邮箱提取:正则表达式、7 种混淆模式、6 种 HTML 实体形式、`mailto:` 链接、`data-email` 属性以及 JSON-LD/schema.org 块。同时提取电话号码和社交 URL(LinkedIn、Twitter/X、GitHub、Facebook、Instagram、YouTube)。过滤掉图片文件名和视网膜密度模式等误报。
### 验证
通过 DNS-over-HTTPS(Cloudflare 为主,Google 备用)进行 MX 记录验证,缓存 30 分钟。针对 43 个已知提供商进行一次性域名检测。自动分类为个人、角色或一次性邮箱。识别提供商(Gmail、Outlook、Yahoo、ProtonMail)。为每个地址提供 0-100 的置信度评分。
### 发现
使用 7 种模式(`first.last@`、`flast@` 等)和 14 种角色地址(`info@`、`careers@`、`support@`、……)根据人名生成候选邮箱。检测当前网站上的联系/关于/团队页面。从 GitHub Events API 获取公开的提交邮箱。
### 导出
CSV(带公式注入保护)、JSON(美化打印)、vCard(正确转义)以及制表符分隔的剪贴板复制。Gmail 和 Outlook 的一键撰写链接。直接从弹窗或仪表板下载任意格式的文件。
### 仪表板
全标签页管理 UI,支持搜索、域名/类型过滤、批量操作、标签、备注、收藏和扫描历史。CRM 应有的所有功能 —— 却无需 CRM。
### 自动扫描
浏览时进行后台提取。配置域名白名单和黑名单。徽章计数器显示每页发现的邮箱。发现新地址时推送桌面通知。
### 页面情报
自动页面分类(公司、博客、目录、电商、个人、政府、教育)。跨 6 个平台的社交链接提取。RDAP/WHOIS 域名查询,获取注册商、创建日期和到期日期。相关页面检测,用于查找联系、关于、团队和招聘页面。
## 键盘快捷键
| 快捷键 | 操作 |
| ----------- | -------------------------------- |
| `Alt+E` | 从当前页面提取邮箱 |
| `Alt+D` | 打开仪表板 |
| 右键点击 | 从选中文本提取 |
## 安装
### Chrome Web Store
_即将推出_
### 手动安装
```
git clone https://github.com/meysam81/trawl.git
cd trawl
bun install
bun run build
```
然后打开 `chrome://extensions`,启用开发者模式,并加载 `dist/` 目录。
## 隐私
- **无账户、无遥测、无云端。** 绝无例外。
- 所有数据存储在 `chrome.storage.local` —— 由 Chrome 加密,永不同步。
- 外部网络调用仅限于:
- DNS-over-HTTPS (Cloudflare/Google) 用于 MX 查询
- GitHub API 用于获取公开提交邮箱
- RDAP 用于获取域名注册信息
- 完全开源 —— [自行审计代码](https://github.com/meysam81/trawl)。
- 基于 [MIT](LICENSE) 授权。
## 架构
```
Popup ──→ Lib Modules ←── Dashboard
↑
Service Worker ←→ Content Script
```
**数据流:** `schemas.ts` (Zod SoT) → `extract.ts` → `intelligence.ts` → `storage.ts` → `export.ts`
**支持模块:** `discovery.ts` · `page-intelligence.ts` · `logger.ts`
每次存储读/写都经过 Zod 验证。无效数据会被记录并跳过 —— 扩展绝不会因状态错误而崩溃。
## 开发
```
bun install # install dependencies
bun run start # dev server with HMR
bun run build # production build to dist/
bun run typecheck # tsc --noEmit
bun run lint # oxlint
bun run deadcode # knip — unused exports/deps
# 使用 Google DNS primary 替代 Cloudflare(默认)
VITE_DNS_PRIMARY=google bun run build
```
**技术栈:** TypeScript (strict) · Vite 7 · @crxjs/vite-plugin · Zod 4 · loglevel · oxlint · knip
## 赞助者
[](https://github.com/sponsors/meysam81)
[](https://buymeacoffee.com/meysam)
[](https://patreon.com/meysam81)
## 许可证
[MIT](LICENSE) — 版权所有 2026 Meysam
标签:Bun, ESC4, Manifest V3, OSINT, SEO工具, TypeScript, Vite, Zod, 安全插件, 密码管理, 市场调研, 数据导出, 替代Hunter.io, 本地处理, 浏览器插件, 潜在客户挖掘, 爬虫工具, 电子邮件提取, 自动化攻击, 营销工具, 邮箱验证, 隐私优先, 零云服务