🩻 Kali WSL 搭建 SearXNG:从入门到入土(完整版 · 2026)
适用人群 :Windows 用户、零 Linux 基础、想在局域网内拥有一个无广告、无追踪、可自定义的搜索引擎
环境 :Windows 10/11 + WSL2 + Kali Linux(2026.1)
目标 IP :http://192.168.2.6:8888(根据你ipconfig输出确定)
核心原则:不暴露公网,仅限本地网络访问
📦 第一章:准备工作 ------ 先把地基打牢
✅ 1.1 确认 Windows 已启用 WSL
以 管理员身份 打开 PowerShell,执行:
powershell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重启电脑。
💡 2026 年的 Windows 默认已支持 WSL2,但需手动开启。
✅ 1.2 安装 Kali Linux WSL
打开 Microsoft Store,搜索 Kali Linux,点击"安装"。
或在 PowerShell 中直接安装:
powershell
wsl --install -d kali-linux
安装完成后,首次启动会要求你创建用户名和密码(记住!这是你的 Linux 用户)。
✅ 1.3 配置 APT 源:USTC 为主,官方为备(推荐做法)
🔍 最佳实践:国内镜像放前面加速下载,官方源放后面作为 fallback,避免镜像同步延迟导致包缺失。
步骤 1:备份原始源
bash
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
步骤 2:编辑源列表
bash
sudo nano /etc/apt/sources.list
清空原内容,按以下顺序写入(USTC 在前,官方在后):
text
# USTC 镜像(主)
deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
# 官方源(备用)
deb https://http.kali.org/kali kali-rolling main non-free contrib
deb-src https://http.kali.org/kali kali-rolling main non-free contrib
✅ 这样配置后,
apt会优先从 USTC 下载;若 USTC 暂时不可用或缺少某包,会自动回退到官方源。
步骤 3:更新系统
bash
sudo apt update && sudo apt upgrade -y
⚠️ 若提示 GPG 密钥错误,请运行以下命令更新 Kali 官方签名密钥:
bashwget -q -O - https://archive.kali.org/archive-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/kali-archive-keyring.gpg
✅ 1.4 安装 Python 和构建依赖
SearXNG 要求 Python ≥ 3.11。Kali 2026.1 默认 Python 版本通常为 3.12+,可直接使用。
验证版本:
bash
python3 --version
# 应输出:Python 3.12.x 或更高
安装必要依赖:
bash
sudo apt install -y git python3-pip python3-venv build-essential \
libxslt-dev libxml2-dev libffi-dev libssl-dev zlib1g-dev
🔑 第二章:部署 SearXNG(支持 SSH 克隆)
💡 为提升 GitHub 克隆速度并避免 HTTPS 限流,推荐配置 SSH 密钥 。
👉 详细操作请参阅文末附录《附录 A:WSL 中配置 GitHub SSH Key 完全指南》。
✅ 2.1 克隆 SearXNG 仓库
方式一:使用 SSH(推荐,速度快,免密)
bash
cd ~
git clone git@github.com:searxng/searxng.git
cd searxng
方式二:使用 HTTPS(无需配置,但可能较慢)
bash
cd ~
git clone https://github.com/searxng/searxng.git
cd searxng
✅ 若尚未配置 SSH,请先完成 附录 A,或暂时使用 HTTPS 方式。
✅ 2.2 创建虚拟环境(隔离依赖)
bash
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip wheel
✅ 2.3 安装 SearXNG 依赖(使用 USTC PyPI 镜像加速)
bash
pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/
⏳ 使用 USTC PyPI 镜像可显著提升国内下载速度。
✅ 2.4 初始化配置文件
bash
./manage.sh setup
该命令会:
- 在
~/.searxng/下生成settings.yml - 自动生成安全密钥(
ultrasecretkey)
⚙️ 第三章:配置局域网访问 ------ 让手机能搜
✅ 3.1 修改监听地址
编辑配置文件:
bash
nano ~/.searxng/settings.yml
找到 server 部分,修改为:
yaml
server:
bind_address: "0.0.0.0" # 关键!监听所有接口
port: 8888
public_instance: false # 必须为 false,防止被公共目录收录
🔒 绝对不要设为
public_instance: true!否则会被自动提交到 searx.space,暴露你的 IP。
✅ 3.2 启动 SearXNG
bash
# 确保在 searxng 目录下
source venv/bin/activate
python searx/webapp.py
看到以下输出即成功:
Running on http://0.0.0.0:8888/
💡 可按
Ctrl+C停止。后续可用nohup或screen后台运行(见第五章)。
✅ 3.3 放行 Windows 防火墙(关键!)
在 PowerShell(管理员) 中执行:
powershell
New-NetFirewallRule -DisplayName "SearXNG LAN" -Direction Inbound -Protocol TCP -LocalPort 8888 -Profile Private -Action Allow
✅
-Profile Private表示只在"家庭/工作网络"下允许,更安全。
📱 第四章:局域网访问测试
✅ 4.1 获取 Windows 主机 IP
在 Windows PowerShell 中执行:
powershell
ipconfig
找到 无线局域网适配器 WLAN 或 以太网适配器 以太网 下的:
IPv4 地址 . . . . . . . . . . . . : 192.168.2.6
✅ 4.2 在手机/其他设备上访问
打开浏览器,输入:
http://192.168.2.6:8888
✅ 应看到 SearXNG 搜索界面!
🔍 首次搜索可能较慢(因需连接多个引擎),耐心等待。
✅ 4.3 (可选)优化搜索引擎
默认启用了大量引擎,部分在国内无法访问。建议禁用无效引擎:
编辑 ~/.searxng/settings.yml,找到 search > engines,例如:
yaml
- name: google
disabled: false
- name: bing
disabled: false
- name: duckduckgo
disabled: true # 禁用
- name: yandex
disabled: true # 禁用
重启服务生效。
🧹 第五章:进阶与维护 ------ 从能用到好用
✅ 5.1 后台运行(避免关闭终端就停止)
安装 screen:
bash
sudo apt install -y screen
启动后台任务:
bash
screen -S searxng
# 进入新会话后
cd ~/searxng
source venv/bin/activate
python searx/webapp.py
# 按 Ctrl+A, 再按 D 键分离会话
查看/恢复:
bash
screen -ls # 查看会话
screen -r searxng # 恢复
✅ 5.2 开机自启(可选)
WSL2 不完全支持 systemd,推荐简单方案:
创建 Windows 启动脚本 start-searxng.bat:
bat
@echo off
wsl -d kali-linux -u your_username -e bash -c "cd ~/searxng && source venv/bin/activate && nohup python searx/webapp.py > /dev/null 2>&1 &"
将该 .bat 文件放入 shell:startup(开机启动文件夹)。
替换
your_username为你的 WSL 用户名。
✅ 5.3 升级 SearXNG
bash
cd ~/searxng
git pull
source venv/bin/activate
pip install --upgrade -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/
🪦 第六章:入土指南 ------ 彻底卸载
步骤 1:停止服务
bash
pkill -f "searx/webapp.py"
步骤 2:删除文件
bash
rm -rf ~/searxng ~/.searxng
步骤 3:卸载 Kali WSL(可选)
在 PowerShell 中:
powershell
wsl --unregister kali-linux
步骤 4:删除防火墙规则
在 PowerShell(管理员)中:
powershell
Remove-NetFirewallRule -DisplayName "SearXNG LAN"
❓ 常见问题(FAQ)
| 问题 | 解决方案 |
|---|---|
手机打不开 192.168.2.6:8888 |
1. 确认 SearXNG 监听 0.0.0.02. 确认 Windows 防火墙已放行3. 在 Windows 本机浏览器测试 http://127.0.0.1:8888 |
报错 ModuleNotFoundError |
确保激活了虚拟环境:source venv/bin/activate |
| 搜索结果为空/超时 | 禁用无法访问的搜索引擎(如 Google、DuckDuckGo) |
| Python 版本过低 | Kali 2026.1 默认 ≥3.12,若仍低,需手动编译 Python 3.13 |
📎 附录 A:WSL 中配置 GitHub SSH Key 完全指南
用于加速
git clone、git pull,避免 HTTPS 限速。
🔧 A.1 生成 SSH 密钥对(在 WSL 中操作)
bash
ssh-keygen -t ed25519 -C "your_email@example.com"
- 按回车使用默认路径
~/.ssh/id_ed25519 - 可设密码(passphrase),也可直接回车留空(方便自动化)
🔧 A.2 启动 ssh-agent 并添加密钥
bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
🔧 A.3 复制公钥到剪贴板
bash
cat ~/.ssh/id_ed25519.pub
复制输出的整行内容(以 ssh-ed25519 AAAAC3... 开头)。
🔧 A.4 添加到 GitHub
- 登录 GitHub → Settings → SSH and GPG keys
- 点击 New SSH key
- Title 填
Kali WSL - Key type 选 Authentication
- 粘贴公钥内容,点击 Add SSH key
🔧 A.5 验证是否成功
bash
ssh -T git@github.com
应返回:
Hi <your_github_username>! You've successfully authenticated...
✅ 成功!现在你可以用 git@github.com:... 方式高速克隆仓库。
🎁 结语
现在,你拥有了一个:
- ✅ 双源保障 的 APT 配置(USTC + 官方)
- ✅ SSH 加速 的 GitHub 克隆体验
- ✅ 完全私有 的搜索引擎
- ✅ 无广告、无追踪
- ✅ 局域网内任意设备可用
- ✅ 可自定义引擎和主题
从此告别百度广告、谷歌审查、必应垃圾结果!
最后提醒:技术无罪,用途有界。请仅用于合法学习与个人隐私保护。
Happy Searching! 🔍
本文由qwen3Max辅助生成