mrtdlgc/goodoldsearch-oss
GitHub: mrtdlgc/goodoldsearch-oss
一个本地的静态搜索查询构建器,通过菜单界面生成精确或高级搜索链接,一键跳转到多个搜索引擎和垂直站点,辅助安全侦查与信息搜集。
Stars: 17 | Forks: 1
# 经典搜索
用精确短语、站点过滤、排除、日期范围、文件类型构建精确搜索查询,以及跨搜索引擎和垂直搜索目标的一次点击链接。
这不是搜索引擎、元搜索聚合器、爬虫或 API 代理。它是一个本地静态查询构建器,打开你选择的搜索引擎。
该应用有五个界面:
- **Simple**:`index.html` 中的日常精确搜索构建器。
- **Advanced Search Lab**:`advanced.html` 中的专业操作符构建器,支持 Google dorks、文件类型搜索、站点/路径过滤、标题/URL/正文操作符、日期范围、预设和原始操作符行。
- **Shodan**:`shodan.html` 中的 Shodan 查询构建器和搜索助手,用于横幅术语、组织/网络范围、端口、TLS 证书过滤、HTTP 元数据、截图以及防御性暴露审查。
- **crt.sh**:`crtsh.html` 中的 crt.sh 查询构建器和搜索助手,用于证书透明度搜索、通配符域、过期证书清理、去重结果、JSON 导出和证书 ID 关联。
- **Wayback**:`wayback.html` 中的 Wayback 查询构建器和搜索助手,用于 CDX API URL、匹配类型、日期范围、状态码、MIME 过滤、折叠捕获和档案研究。
## 支持的目标
网页:
- Google(使用 `udm=14` 跳过 AI 概述)
- Google Verbatim
- Brave
- Kagi
- DuckDuckGo
- Bing
- Marginalia(小型网络、非商业索引)
- Mojeek(独立爬虫)
技术及论坛:
- Hacker News
- GitHub Issues
- GitHub Code
- Stack Overflow
- Reddit(通过 Google)
研究与档案:
- arXiv
- Google Scholar
- Wayback Machine(互联网档案馆网页捕获)
## 预设策略
- **精确**:引用整个输入。
- **旧版 Google**:引用输入,优先进行更严格的网页搜索。
- **技术错误**:引用完整错误,并推荐 GitHub Issues、Stack Overflow、HN 和代码搜索。
- **论坛**:优先考虑人工讨论界面。
- **旧网页**:添加 `before:` 日期,并提供 2022、2020、2016 和 2010 的快速预设。
- **PDF/文档**:添加 `filetype:pdf`。
- **排除垃圾**:应用可编辑的本地黑名单,用于 `-site:` 过滤和常见垃圾术语。
## 本地开发
```
npm install
npm run dev
```
开发命令一次性构建静态应用,并将 `dist` 目录服务在 [http://127.0.0.1:4173](http://127.0.0.1:4173)。
没有 HMR。每次更改后重新运行 `npm run dev`(或 `npm run build && npm run preview`)。
构建过程会编译 TypeScript 应用、复制静态资源,并生成站点地图/robots 文件。
## 构建
```
npm run build
```
输出到 `dist/` 目录。也可以直接从 `dist/index.html` 打开应用。
在构建时设置 `PUBLIC_SITE_URL` 以获取正确的规范 URL 和站点地图条目。默认值为 `https://goodoldsearch.com`。
```
PUBLIC_SITE_URL=https://goodoldsearch.com npm run build
```
## Docker / Coolify
包含的 `Dockerfile` 构建应用,然后使用现有 Node 静态服务器服务 `dist`。
Coolify 设置:
- 构建包:Dockerfile。
- 暴露端口:`3000`。
- 构建参数或构建时环境变量:`PUBLIC_SITE_URL=https://goodoldsearch.com`。
- 运行时环境:Coolify 可以提供 `PORT`;否则镜像默认为 `3000`。
## 测试与冒烟
```
npm test
npm run smoke
npm run smoke:live
npm run smoke:live:strict
```
- `npm test` 构建应用,运行单进程断言套件,并执行查询类型冒烟检查。
- `npm run smoke` 验证每个支持的引擎 URL 构建器、主机、引擎特定查询语法、关键策略行为以及分享 URL 往返。
- `npm run smoke:live` 还会尝试每个目标的实时可达性,并报告外部警告(不导致结构性冒烟失败)。
- `npm run smoke:live:strict` 也会因外部可达性警告而失败。某些引擎即使浏览器链接正常,也可能会对自动化请求进行限速、重定向或机器人阻止。
## 文件结构
```
src/
main.ts
styles.css
lib/
queryModel.ts
queryBuilder.ts
recipes.ts
shareUrl.ts
blocklist.ts
bookmarklet.ts
engines/
index.ts
google.ts
googleVerbatim.ts
bing.ts
brave.ts
duckduckgo.ts
kagi.ts
hn.ts
redditGoogle.ts
stackoverflow.ts
githubIssues.ts
githubCode.ts
arxiv.ts
utils.ts
tests/
query.test.mjs
scripts/
build-seo-files.mjs
clean-dist.mjs
copy-static.mjs
serve-dist.mjs
smoke-engines.mjs
```
## 许可证
MIT。请参阅 [许可证](LICENSE)。
## 注意事项
- Google 可能在隐藏的页面文本、URL 或过时的索引内容中匹配引用术语。
- DuckDuckGo 在精确匹配稀疏时可能显示相关结果。
- Bing 可能会忽略标点符号或限制影响结果的术语数量。
- Kagi 可能需要登录。
- 垂直搜索忽略其引擎不支持的网页专用操作符。
标签:arXiv, Bing, Brave, CMS安全, ESC4, GitHub, Google dork, Google Scholar, Hacker News, HTML, JavaScript, Kagi, MITM代理, OSINT, Stack Overflow, Wayback Machine, 侦察辅助, 信息检索, 前端工具, 反汇编, 实时处理, 密码管理, 技术侦察, 搜索工具, 文件类型搜索, 日期范围搜索, 本地工具, 查询构建器, 站点过滤, 精确搜索, 网络安全, 自动化攻击, 请求拦截, 隐私保护, 静态网站