Whoogle-Search 私有化部署:3 条路线让自托管隐私搜索引擎跑起来
2026/9/15 19:29:17 网站建设 项目流程

Whoogle-Search 私有化部署:3 条路线让自托管隐私搜索引擎跑起来

【免费下载链接】whoogle-searchA self-hosted, ad-free, privacy-respecting metasearch engine项目地址: https://gitcode.com/GitHub_Trending/wh/whoogle-search

每次打开搜索框,广告排在结果前面,点开的链接还带着追踪参数——这是现在多数人的搜索日常。Whoogle-Search 是一个自托管的元搜索引擎:它不建自己的索引,而是替你向 Google 要结果,再把广告、JavaScript、AMP 链接、Cookie 和 IP 追踪全部过滤掉,交还一个干净的结果页。说白了,就是部署在你自己机器上的一台隐私搜索前端,无广告、不留你的痕迹。

"自托管"指服务跑在你掌控的硬件上;"元搜索引擎"指结果仍来自 Google,只是你不直连 Google,中间隔了一层清洗。你看到的搜索结果和直接搜谷歌是同一批,只是路径干净了。

开工之前:把要求核对一遍

Whoogle 很轻,低配机器就能跑:

项目最低要求推荐
CPU1 核2 核
内存256MB512MB 以上
磁盘约 100MB1GB 以上
软件Docker(+Compose)或 Python 3.7+Docker
端口默认 5000防火墙放行 5000/tcp

唯一要提前确认的是:机器本身能访问 Google。网络直连不通的话,后面部署得再漂亮也拿不到结果,这是整个隐私搜索方案的前提。

选一条部署路线:Docker、Compose 还是 Python

三条路线各有取舍,按你的情况挑:

路线适合谁难度后续维护
Docker 单容器快速验证、个人自用
Docker Compose要改配置、挂 HTTPS、长期跑
Python 直接运行没有 Docker、想改源码

建议:先跑 Docker 单命令,够用就不必折腾;打算挂域名、加认证,直接上 Compose;想读代码做魔改,再考虑 Python 路线。

路线一(推荐):Docker 部署,一条命令跑通

先确认 Docker 可用:

docker --version docker-compose --version

然后拉镜像、起容器:

docker pull benbusby/whoogle-search docker run --publish 5000:5000 --detach --name whoogle-search benbusby/whoogle-search:latest

浏览器打开 http://localhost:5000,看到搜索框就算完成了无广告搜索引擎搭建的第一步。--publish左边是主机端口、右边是容器端口,想换端口只改左边那个数字。

路线二:Docker Compose,方便日后加配置

长期使用建议 Compose。克隆仓库并启动:

git clone https://gitcode.com/GitHub_Trending/wh/whoogle-search cd whoogle-search docker-compose up -d

仓库自带的 docker-compose.yml 已经配好内存上限(256MB)、非特权用户、重启策略,不用自己写。想加功能时改动environment段即可,比如启用基础认证:

environment: - WHOOGLE_USER=your_username - WHOOGLE_PASS=your_password

其余变量——代理、站点替代地址等——在模板文件 whoogle.template.env 里都能查到名字。

路线三:Python 直接运行,最灵活

适合没有 Docker 的环境。以 Ubuntu/Debian 为例,先装系统依赖:

sudo apt-get install -y python3 python3-venv python3-pip libcurl4-openssl-dev libssl-dev

再建虚拟环境并安装:

git clone https://gitcode.com/GitHub_Trending/wh/whoogle-search cd whoogle-search python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ./run

requirements.txt 里有少数包需要本机编译(如 cryptography),卡在 gcc 报错时先补上工具链:sudo apt-get install -y build-essential。换端口则用./run --port 8080

避坑手册:先看现象,再动手

部署后撞到的问题基本集中在三处,出现时照下面对:

🚧 现象一:5000 端口被占用

现象:容器起不来,报错Bind for 0.0.0.0:5000 failed: port is already allocated

原因:机器上别的程序先占了 5000。

处理:不用争,直接改主机端映射:

docker run --publish 8080:5000 --detach --name whoogle-search benbusby/whoogle-search:latest

Compose 用户改 docker-compose.yml 里ports的左侧数字即可,容器内端口不动。

现象二:容器在跑,浏览器却打不开

现象docker ps里容器状态正常,远程浏览器访问 http://服务器IP:5000 一直转圈。

原因:绝大多数情况是防火墙。

处理:放行端口:

# Ubuntu/Debian sudo ufw allow 5000/tcp # CentOS/RHEL sudo firewall-cmd --add-port=5000/tcp --permanent && sudo firewall-cmd --reload

现象三:容器过一会儿自己停了

现象:容器从 running 变成 exited。

原因:资源不够或配置有误。容器不会主动说明死因,日志会。

处理:先看日志再判断:

docker logs whoogle-search

Python 部署的可以看journalctl -u whoogle(systemd 托管时)。修完顺手做个健康检查:

curl -I http://localhost:5000

看到HTTP/1.1 200 OK就是活着的。

进阶选项:HTTPS、Tor、开机自启

基础功能跑通后,想再舒服一点,按场景挑:

挂上域名加 HTTPS(Traefik)

想让 https 访问:仓库里有一份现成的 docker-compose-traefik.yaml,Traefik 和 Let's Encrypt 自动续签都配好了。用前改两处:change@domain.name换成你的邮箱、change.host.name换成你的域名,然后:

docker-compose -f docker-compose-traefik.yaml up -d

走 Tor,让查询不直接暴露本机 IP

想达到的效果:向 Google 发出的请求经 Tor 中转,本机 IP 不出现在 Google 侧。

怎么配

  • Docker 部署:加一个环境变量WHOOGLE_CONFIG_TOR=1(Compose 的environment里加),镜像内置 Tor 服务,随容器一起启动。
  • Python 部署:宿主机要自己跑 Tor。仓库带了一份 Tor 配置示例(已启用ControlPort 9051和 cookie 认证)和启动脚本,配好后同样设WHOOGLE_CONFIG_TOR=1让 Whoogle 接入。

systemd 开机自启 + 基础认证

想达到的效果:服务器重启后服务自动恢复(Python 部署场景)。

怎么配:把下面的单元文件写入/etc/systemd/system/whoogle.service,替换其中的用户名和路径:

[Unit] Description=Whoogle Search After=network.target [Service] Type=simple User=your_username WorkingDirectory=/path/to/whoogle-search ExecStart=/path/to/whoogle-search/run --host 127.0.0.1 --port 5000 Restart=always RestartSec=3 [Install] WantedBy=multi-user.target

然后启用:

sudo systemctl daemon-reload sudo systemctl enable whoogle sudo systemctl start whoogle

Docker 用户不需要这一步,docker-compose.yml 里的restart: unless-stopped已经覆盖重启场景。再配上前面提到的基础认证两个变量,这个隐私搜索入口就可以放心暴露给常用设备了。

长期维护:更新与日志

长期跑两件事:

定期更新。上游迭代很快,也包含安全修复。Compose 部署最省事:

docker-compose pull && docker-compose up -d

docker run部署的顺序是:docker pull benbusby/whoogle-search,接着docker stop whoogle-search && docker rm whoogle-search,然后重跑第一步的 run 命令。

一个要知晓的风险:2025 年 1 月起,Google 对"无 JS 结果页"的支持变得不稳,而 Whoogle 恰好依赖这类页面做过滤。开发者仍在跟进变通方案,留意仓库 README 的更新即可,不必现在焦虑。

跑起来之后,不用改默认搜索引擎也能用;如果打算每天用它,把 http://localhost:5000 加进浏览器自定义搜索引擎,搜索地址格式为http://localhost:5000/search?q=%s即可。

到这一步,一台无广告、不追踪的搜索引擎已经在你自己的机器上跑了。

【免费下载链接】whoogle-searchA self-hosted, ad-free, privacy-respecting metasearch engine项目地址: https://gitcode.com/GitHub_Trending/wh/whoogle-search

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询