侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 84 篇文章
  • 累计创建 31 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

真正属于自己的搜索引擎!用NAS搭建一个无广告且开源免费的引擎平台。

羊刀仙
2024-11-23 / 0 评论 / 0 点赞 / 8 阅读 / 4128 字
温馨提示:
本文最后更新于 2024-11-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

不知道各位都在用什么搜索引擎?

笔者目前常用的是百度和Google:一个本地化内容强,但是广告巨多且内容质量参差不齐;另一个全球内容相关性强,权威信息丰富,但对国内用户来说有一定使用门槛。

对我们来说也许谷歌会比百度好一些,但两者的隐私性都大差不差,你无法避开搜索引擎的追踪,尤其是在登陆账户的时候。虽然国外久不久会诞生新的优秀搜索引擎,可遗憾的是最终都会与资本接轨。

本期推荐的开源免费搜索引擎平台是 SearXNG,一个基于 Python 开发、完全开源、免费的元搜索引擎。它的特点是可以从 Google、Bing、Yahoo 等 70 多种搜索引擎以及视频、图片、磁力网站中获取搜索结果,并对结果进行整合和优化(无广告、关联性更强),提升搜索效率。同时,它强调隐私保护,不会存储用户的任何搜索信息,非常适合注重隐私的用户。

searxng.svg

对比下看看某度的广告,SearXNG第一个便是准确的搜索的结果。

未标题-4.png

部署流程

本期教程以威联通NAS作为演示平台,但通过SSH控制台进行操作,并不涉及到Container Station,其他平台也基本可以无脑抄作业。

为了为容器提供持久化存储,允许容器中的数据保存在宿主机上,避免数据在容器停止或删除后丢失,在常用的Docker目录下准备一个文件夹,用于存储数据。

截屏2024-11-23 13.11.06.png

打开SSH工具,连接NAS进行操作。依次输入以下指令。

# 进入上面创建的目录下
cd /share/Container/searxng

# 下载相关文件
git clone https://github.com/searxng/searxng-docker.git

# 进入下载好的文件目录内
cd searxng-docker/

# 编辑配置
vim docker-compose.yaml

截屏2024-11-23 13.13.18.png

因为项目为了方便新用户,默认使用caddy进行反向代理,本文用不到,所以选择将其相关的所有配置直接删掉。

vim 指令后,英文状态按下i,左下角出现INSERT字样即可进行编辑。下图caddy部分以及最后的volumes部分目录,进行删除;另外searxng项目中的端口也需要进行修改。这里告诉大家一个小技巧,ESC后退出编辑模式,光标移动到任意行,快速按两下D即可删除整行内容。

截屏2024-11-23 13.29.07 拷贝.png

更新后的yaml文件内容如下,大家可以核对下。

version: "3.7" # 新版本Docker Compose可删除此行,不删目前也没啥影响

services:
  redis:
    container_name: redis
    image: docker.io/valkey/valkey:8-alpine
    command: valkey-server --save 30 1 --loglevel warning
    restart: unless-stopped
    networks:
      - searxng
    volumes:
      - valkey-data2:/data
    cap_drop:
      - ALL
    cap_add:
      - SETGID
      - SETUID
      - DAC_OVERRIDE
    logging:
      driver: "json-file"
      options:
        max-size: "1m"
        max-file: "1"

  searxng:
    container_name: searxng
    image: docker.io/searxng/searxng:latest
    restart: unless-stopped
    networks:
      - searxng
    ports:
      - "9696:8080" # 冒号左侧可改
    volumes:
      - ./searxng:/etc/searxng:rw
    environment:
      - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
      - UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4}
      - UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4}
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
    logging:
      driver: "json-file"
      options:
        max-size: "1m"
        max-file: "1"

networks:
  searxng:

volumes:
  valkey-data2:

修改完毕后,退出编辑模式,同时按下SHIFT+:,输入wq并回车即可保存退出。

接着输入以下命令,修改环境变量。

vim .env

WX20241123-141558@2x.png

修改操作跟上面一致,将井号删除即可,填写好反代的域名即可保存退出,非标准端口也要把监听端口加上。如果你想要本地使用,直接填写设备的局域网IP即可。所在设备具备公网IP的朋友,我们进行反向代理的目的只是为了更加安全和方便。

WX20241123-141848@2x.png

修改完毕后,接着输入以下命令:

# 生成密钥
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml

# 如果提示命令不存在,则输入docker-compose up -d
docker compose up -d

# 如果部署不成功,请修改权限后再次运行第二行命令
chmod -R 777 /etc/searxng

如此一来,便部署完毕,局域网的朋友可以直接 NAS_IP:9696进行使用。通过域名HTTPS外网访问的话还差一步,请继续往下看。

反向代理

NAS 上推荐使用Lucky进行部署,具体的部署使用方法请见往期文章。

子规则的配置图如下所示,这类服务还可以利用Lucky自带的安全认证再加一把锁。如下图所示。

截屏2024-11-23 14.59.48.png

最后

部署完了可以直接使用,搜索引擎等更多设置可以点击左上角的小齿轮进行调整。

截屏2024-11-23 15.11.11.png

截屏2024-11-23 15.18.31.png

该项目非常不错,但是对于没有魔法的朋友可能不太友好。

那本篇文章就到这里,觉得不错的朋友别忘了三连支持下!

感谢观看,本文完~

0

评论区