当前位置: 首页 > news >正文

搭建SearXNG

🩻 Kali WSL 搭建 SearXNG:从入门到入土(完整版 · 2026)

适用人群:Windows 用户、零 Linux 基础、想在局域网内拥有一个无广告、无追踪、可自定义的搜索引擎
环境:Windows 10/11 + WSL2 + Kali Linux(2026.1)
目标 IPhttp://192.168.2.6:8888(根据你 ipconfig 输出确定)
核心原则:不暴露公网,仅限本地网络访问


📦 第一章:准备工作 —— 先把地基打牢

✅ 1.1 确认 Windows 已启用 WSL

管理员身份 打开 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 中直接安装:

wsl --install -d kali-linux

安装完成后,首次启动会要求你创建用户名和密码(记住!这是你的 Linux 用户)。


✅ 1.3 配置 APT 源:USTC 为主,官方为备(推荐做法)

🔍 最佳实践:国内镜像放前面加速下载,官方源放后面作为 fallback,避免镜像同步延迟导致包缺失。

步骤 1:备份原始源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

步骤 2:编辑源列表

sudo nano /etc/apt/sources.list

清空原内容,按以下顺序写入(USTC 在前,官方在后):

# 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:更新系统

sudo apt update && sudo apt upgrade -y

⚠️ 若提示 GPG 密钥错误,请运行以下命令更新 Kali 官方签名密钥:

wget -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+,可直接使用。

验证版本:

python3 --version
# 应输出:Python 3.12.x 或更高

安装必要依赖:

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(推荐,速度快,免密)

cd ~
git clone git@github.com:searxng/searxng.git
cd searxng

方式二:使用 HTTPS(无需配置,但可能较慢)

cd ~
git clone https://github.com/searxng/searxng.git
cd searxng

✅ 若尚未配置 SSH,请先完成 附录 A,或暂时使用 HTTPS 方式。


✅ 2.2 创建虚拟环境(隔离依赖)

python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip wheel

✅ 2.3 安装 SearXNG 依赖(使用 USTC PyPI 镜像加速)

pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/

⏳ 使用 USTC PyPI 镜像可显著提升国内下载速度。


✅ 2.4 初始化配置文件

./manage.sh setup

该命令会:

  • ~/.searxng/ 下生成 settings.yml
  • 自动生成安全密钥(ultrasecretkey

⚙️ 第三章:配置局域网访问 —— 让手机能搜

✅ 3.1 修改监听地址

编辑配置文件:

nano ~/.searxng/settings.yml

找到 server 部分,修改为:

server:bind_address: "0.0.0.0"   # 关键!监听所有接口port: 8888public_instance: false    # 必须为 false,防止被公共目录收录

🔒 绝对不要设为 public_instance: true!否则会被自动提交到 searx.space,暴露你的 IP。


✅ 3.2 启动 SearXNG

# 确保在 searxng 目录下
source venv/bin/activate
python searx/webapp.py

看到以下输出即成功:

Running on http://0.0.0.0:8888/

💡 可按 Ctrl+C 停止。后续可用 nohupscreen 后台运行(见第五章)。


✅ 3.3 放行 Windows 防火墙(关键!)

PowerShell(管理员) 中执行:

New-NetFirewallRule -DisplayName "SearXNG LAN" -Direction Inbound -Protocol TCP -LocalPort 8888 -Profile Private -Action Allow

-Profile Private 表示只在“家庭/工作网络”下允许,更安全。


📱 第四章:局域网访问测试

✅ 4.1 获取 Windows 主机 IP

在 Windows PowerShell 中执行:

ipconfig

找到 无线局域网适配器 WLAN以太网适配器 以太网 下的:

IPv4 地址 . . . . . . . . . . . . : 192.168.2.6

✅ 4.2 在手机/其他设备上访问

打开浏览器,输入:

http://192.168.2.6:8888

✅ 应看到 SearXNG 搜索界面!

🔍 首次搜索可能较慢(因需连接多个引擎),耐心等待。


✅ 4.3 (可选)优化搜索引擎

默认启用了大量引擎,部分在国内无法访问。建议禁用无效引擎:

编辑 ~/.searxng/settings.yml,找到 search > engines,例如:

- name: googledisabled: false
- name: bingdisabled: false
- name: duckduckgodisabled: true   # 禁用
- name: yandexdisabled: true   # 禁用

重启服务生效。


🧹 第五章:进阶与维护 —— 从能用到好用

✅ 5.1 后台运行(避免关闭终端就停止)

安装 screen

sudo apt install -y screen

启动后台任务:

screen -S searxng
# 进入新会话后
cd ~/searxng
source venv/bin/activate
python searx/webapp.py
# 按 Ctrl+A, 再按 D 键分离会话

查看/恢复:

screen -ls          # 查看会话
screen -r searxng   # 恢复

✅ 5.2 开机自启(可选)

WSL2 不完全支持 systemd,推荐简单方案:
创建 Windows 启动脚本 start-searxng.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

cd ~/searxng
git pull
source venv/bin/activate
pip install --upgrade -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/

🪦 第六章:入土指南 —— 彻底卸载

步骤 1:停止服务

pkill -f "searx/webapp.py"

步骤 2:删除文件

rm -rf ~/searxng ~/.searxng

步骤 3:卸载 Kali WSL(可选)

在 PowerShell 中:

wsl --unregister kali-linux

步骤 4:删除防火墙规则

在 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 clonegit pull,避免 HTTPS 限速。

🔧 A.1 生成 SSH 密钥对(在 WSL 中操作)

ssh-keygen -t ed25519 -C "your_email@example.com"
  • 按回车使用默认路径 ~/.ssh/id_ed25519
  • 可设密码(passphrase),也可直接回车留空(方便自动化)

🔧 A.2 启动 ssh-agent 并添加密钥

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

🔧 A.3 复制公钥到剪贴板

cat ~/.ssh/id_ed25519.pub

复制输出的整行内容(以 ssh-ed25519 AAAAC3... 开头)。

🔧 A.4 添加到 GitHub

  1. 登录 GitHub → Settings → SSH and GPG keys
  2. 点击 New SSH key
  3. Title 填 Kali WSL
  4. Key type 选 Authentication
  5. 粘贴公钥内容,点击 Add SSH key

🔧 A.5 验证是否成功

ssh -T git@github.com

应返回:

Hi <your_github_username>! You've successfully authenticated...

✅ 成功!现在你可以用 git@github.com:... 方式高速克隆仓库。


🎁 结语

现在,你拥有了一个:

  • 双源保障 的 APT 配置(USTC + 官方)
  • SSH 加速 的 GitHub 克隆体验
  • 完全私有 的搜索引擎
  • 无广告、无追踪
  • 局域网内任意设备可用
  • 可自定义引擎和主题

从此告别百度广告、谷歌审查、必应垃圾结果!

最后提醒:技术无罪,用途有界。请仅用于合法学习与个人隐私保护。


Happy Searching! 🔍
本文由qwen3Max辅助生成

http://www.jsqmd.com/news/737756/

相关文章:

  • LinkSwift:浏览器脚本实现多平台网盘直链下载的完整指南
  • 抖音音频提取终极指南:3分钟学会批量下载抖音原声背景音乐
  • Windows 11任务栏歌词插件完整教程:让歌词在任务栏上优雅显示
  • 鸣潮智能助手:如何用开源自动化工具解放双手,轻松游戏
  • 有感而记
  • 如何快速合并B站缓存视频:终极完整解决方案
  • Excel文件批量搜索神器:3分钟搞定100个文件的跨文件查询难题
  • 实用指南:5分钟高效备份QQ空间所有历史记录
  • 深度拆解transformer第09章:架构选择的分野——Decoder-only为什么赢了通用语言建模?
  • TrueNAS SCALE存储池避坑指南:从RAIDZ选择到SSD缓存,我的12块硬盘配置心得
  • 初创团队如何借助 Taotoken 实现多模型 API 的成本精细化管理
  • 4.k8s部署zipkin
  • AI代理安全密码管理:AgentPassVault架构设计与实战部署
  • 技能化框架设计:从插件化架构到自动化任务编排
  • 拆解一个真实的医院HIS系统:从挂号到药房,看SpringBoot如何支撑核心医疗业务
  • 3M GROTE VHB胶带的自我革命 上海普轩电子科技革命的工具 - 自动化老兵
  • [AI生成] IPVS性能高于iptables原因
  • 终极实战:将闲置电视盒子变身高性能Armbian服务器完全指南
  • markdown公式中按需编号
  • G-Helper:让华硕笔记本告别Armoury Crate的轻量级控制方案
  • Windows音频路由神器:Audio Router实现多程序音频智能分流指南
  • 2026小程序开发服务商盘点:技术深度与业务适配性成选型关键
  • 5.k8s部署sentinel
  • 别再写 `int rand = 0;` 了!C++命名空间实战避坑指南(从冲突到优雅解决)
  • k8s部署nacos单机版
  • ThinkPad风扇控制终极指南:TPFanCtrl2让你的笔记本散热更智能安静
  • Vision Mamba项目实战:用PyCharm+AutoDL调试Mamba SSM核心模块(附调试代码片段)
  • 微信聊天记录永久备份终极指南:免费开源工具WeChatExporter完整解决方案
  • 2026年4月273*8钢制袖阀管源头厂家推荐,根管/超前根管/无缝根管/隧道根管/边坡支护土钉,钢制袖阀管生产厂家推荐 - 品牌推荐师
  • 浏览器Canvas渲染劫持与文档批量下载性能优化:kill-doc架构设计与实现原理深度解析