核心用法
ddgr 是一款基于 Python 的命令行 DuckDuckGo 搜索工具,适用于需要在终端环境中快速获取网页搜索结果的场景。用户可通过 snap run ddgr "查询词" --np 进行非交互式搜索,或直接运行进入交互模式浏览结果。工具支持时间过滤(d/w/m/y)、站点限定搜索、JSON 结构化输出、以及 DuckDuckGo 特有的 Bangs 快捷指令(如 !w 直达 Wikipedia)。
显著优点
1. 隐私优先设计:默认启用 Do Not Track,无用户画像追踪,支持 Tor 代理和 HTTPS 代理,搜索历史不留存
2. 终端原生体验:无需打开浏览器即可获取结果,JSON 输出便于脚本化处理和自动化工作流集成
3. DuckDuckGo 生态完整支持:原生集成 13,000+ Bangs 快捷搜索,大幅提升特定站点检索效率
4. 轻量部署:Snap/PPA/源码三种安装方式,依赖仅 Python 3.8+
潜在局限
- DuckDuckGo HTML 接口响应速度偶慢于主站
- 交互模式依赖终端环境,部分移动端 SSH 客户端体验受限
- 区域限制可能因网络环境导致无结果返回
- 安全搜索
--unsafe选项需显式开启,误操作可能影响结果过滤
适合人群
- 开发者、运维工程师等高频终端用户
- 隐私敏感型用户( journalist、安全研究人员)
- 需要自动化搜索数据抓取的脚本编写者
- 低带宽或图形界面受限的远程服务器环境使用者
常规风险
| 风险类型 | 说明 |
|---------|------|
| 网络层 | 虽支持代理,但默认直连仍暴露搜索关键词至 ISP |
| 误操作 | `--ducky` 自动打开首条结果,可能跳转至恶意站点 |
| 依赖安全 | Snap/PPA 源需信任,源码安装需审计 Python 依赖 |
| 功能局限 | 部分 DuckDuckGo 高级功能(如即时答案卡片)无法完整呈现 |