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

SearXNG - 一个注重隐私的互联网元搜索引擎

引言

在数字监控和数据货币化的时代,对于许多用户而言,在线保护个人信息变得至关重要。隐私问题特别突出的一个领域是搜索引擎,它们经常收集用户数据以定制个性化广告或构建用户档案。SearXNG 是一个开源的元搜索引擎,它汇集了各种来源的结果,同时不追踪或分析其用户。本文旨在提供一个全面的指南,介绍如何设置和自定义您自己的 SearXNG 实例,确保您的互联网搜索既保护隐私又可控。

SearXNG 是什么?

SearXNG(下一代)是原始 SearX 项目的分支,具有增强的功能和安全措施。它通过结合多个搜索服务的力量,同时严格遵守隐私原则,提供了一种去中心化的网络搜索方法。用户享有可定制的界面、自托管选项以及根据需要集成额外搜索引擎的能力。

SearXNG 的关键特性

  • 用户隐私保护
    匿名搜索:每个查询都会生成一个随机的浏览器档案,防止个人识别。
  • 实例 IP 作为来源:托管 SearXNG 的服务器的公共 IP 地址作为所有查询的来源,保护用户身份。
  • 无广告或追踪:与商业搜索引擎不同,SearXNG 不显示广告或追踪用户在网络中的行为。
    可定制性和控制
  • 自托管:您可以运行自己的 SearXNG 实例,完全控制其操作方式。
  • 配置选项:根据个人喜好调整默认语言、每页结果数量和搜索类别等设置。
  • 插件和扩展:通过插件如 Tor 支持匿名或额外的实用程序来管理实例,增加功能。

高级安全措施

  • 加密连接:HTTPS/SSL 连接确保客户端和服务器之间的通信保持安全。
  • 可选的 Cookie:默认情况下不使用 Cookie,减少数据泄露或滥用的风险。
  • 社区驱动开发:透明度和社区参与有助于代码质量和安全性的持续改进。

开始使用 SearXNG

安装先决条件

在开始安装之前,请确保满足以下要求:

  1. 服务器访问:您需要访问具有 root 权限或 sudo 功能的 Linux 服务器。
  2. 基础知识:熟悉命令行操作和基本的 Linux 管理任务将很有帮助。
  3. 资源:确保您的服务器满足 SearXNG 开发者指定的最低资源要求。
  4. **逐步指南
    克隆配置文件
    首先,我们克隆 SearXNG 提供的配置文件仓库:
sudo su
cd /usr/local
git clone https://github.com/searxng/searxng-docker.git

修改环境变量
使用您喜欢的文本编辑器打开 .env 文件,并相应地更新值:

nano searxng-docker/.env

将 替换为您的域名,将 替换为您的管理员电子邮件地址。这些详细信息将在请求 SSL 证书时使用。

生成密钥并修改设置
生成一个新的密钥以增加安全性,并在必要时修改设置:

cd searxng-docker
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml
nano searxng/settings.yml

在退出前对设置进行所需的更改并保存文件。

配置 Docker Compose
修改 docker-compose.yaml 文件以反映您的特定设置。如果您计划使用 Nginx 而不是 Caddy 作为反向代理,请跳过这一步。否则,根据需要调整端口映射:

nano docker-compose.yaml

根据您需求更改端口映射。此外,如果您更改了端口映射,请记得在 Caddyfile 中更新相应的值。

安装和设置 Docker & Docker Compose
如果系统中尚未安装 Docker 和 Docker Compose,请进行安装:

sudo apt update && sudo apt install docker.io docker-compose

启用 Docker 在系统启动时自动启动:

sudo systemctl enable docker
sudo systemctl start docker

运行 SearXNG
现在,我们可以使用 Docker Compose 启动 SearXNG:

sudo docker-compose up

通过您的网络浏览器在 http://:8080 上访问 SearXNG。请注意,默认端口可能会根据您的配置而有所不同。

提示和考虑

使用 Nginx 而不是 Caddy

如果您更喜欢使用 Nginx 作为反向代理,请在完成上述指令后遵循以下步骤:

  1. 从 docker-compose.yaml 中删除对 Caddy 的引用。
  2. 创建一个新的 Nginx 配置文件,通常位于 /etc/nginx/conf.d 下。
  3. 在您的 Nginx 配置中映射正确的主机和端口,以便将流量定向到 SearXNG。
  4. 重新启动 Nginx 以应用更改:sudo systemctl restart nginx。

选择您的服务器位置

考虑在那些以积极的互联网监控或限制性内容法规而闻名的国家之外托管您的 SearXNG 实例。这有助于维护用户隐私,并确保在搜索期间可以不受限制地访问全球资源。

定期更新

使用最新软件版本保持您的 SearXNG 实例更新,以从错误修复、性能增强和潜在的安全补丁中受益。定期检查官方文档以了解升级程序。

社区参与

加入 SearXNG 社区论坛或邮件列表,以了解最新发展,寻求帮助,并提供贡献。共同塑造注重隐私的搜索引擎的未来。

总结

SearXNG 提供了一个强大平台,用于进行私密和可定制的互联网搜索。通过遵循这里概述的步骤,您可以设置自己的实例,并重新掌控您的在线存在。记得明智地配置您的实例并保持维护,以确保最佳性能和防御威胁。祝您搜索愉快!

相关文章:

SearXNG - 一个注重隐私的互联网元搜索引擎

引言 在数字监控和数据货币化的时代,对于许多用户而言,在线保护个人信息变得至关重要。隐私问题特别突出的一个领域是搜索引擎,它们经常收集用户数据以定制个性化广告或构建用户档案。SearXNG 是一个开源的元搜索引擎,它汇集了各…...

(第15天)【leetcode题解】459、重复的子字符串

目录 459、重复的子字符串题目描述暴力匹配思路代码 字符串匹配思路代码与暴力匹配的不同 KMP解法思路代码KMP算法的核心和用途 459、重复的子字符串 题目描述 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 暴力匹配 思路 推理 如果…...

PostgreSQL的学习心得和知识总结(一百四十二)|深入理解PostgreSQL数据库数据库之 Continuous Integration

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…...

【外币兑换,简单贪心】

小明刚从美国回来,发现手上还有一些未用完的美金,于是想去银行兑换成人民币。可是听说最近人民币将会升值,并从金融机构得到了接下来十二个月可能的美元对人民币汇率,现在,小明想要在接下来一年中把美金都兑换成人民币…...

数据库入门(sql文档+命令行)

一.基础知识 1.SQL(Structured Query Language)结构化查询语言分类: DDL数据定义语言用来定义数据库对象:数据库、表、字段DML数据操作语言对数据库进行增删改查DQL数据查询语言查询数据库中表的信息DCL数据控制语言用来创建数据…...

【机器学习300问】84、AdaGrad算法是为了解决什么问题?

神经网络的学习的目的是找到使损失函数的值尽可能小的参数。这是寻找最优参数的问题,解决这个问题的过程称为最优化。因为参数空间非常复杂,无法轻易找到最优解,而且在深度神经网络中,参数的数量非常庞大,导致最优化问…...

Java算法-力扣leetcode-14. 最长公共前缀

14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: strs ["flower","flow","flight"] 输出: "fl"示…...

视频拼接融合产品的产品与架构设计(二)

视频拼接融合产品的产品与架构设计一 以上是第一期,以前思考的时候还是比较着急,现在思考的更多了,现实世界的拼接更加需要我们沉下心来做,尤其是对于更多画面,画面更加清晰怎么做 本篇章不在于其他功能,在…...

【docker 】push 镜像到私服

查看镜像 docker images把这个hello-world 推送到私服 docker push hello-world:latest 报错了。不能推送。需要标记镜像 标记Docker镜像 docker tag hello-world:latest 192.168.2.1:5000/hello-world:latest 将Docker镜像推送到私服 docker push 192.168.2.1:5000/hello…...

Java框架精品项目【用于个人学习】

源码获取:私聊回复【项目关键字】获取 更多选题参考: Java练手项目 & 个人学习等选题参考 推荐菜鸟教程Java学习、Javatpoint学习 前言 大家好,我是二哈喇子,此博文整理了各种项目需求 此文下的项目用于博主自己学习&#x…...

每周一算法:无向图的最小环

题目链接 观光之旅 题目描述 给定一张无向图,求图中一个至少包含 3 3 3 个点的环,环上的节点不重复,并且环上的边的长度之和最小。 该问题称为无向图的最小环问题。 你需要输出最小环的方案,若最小环不唯一,输出…...

分布式websocket IM即时通讯聊天开源项目如何启动

前言 自己之前分享了分布式websocket的视频有同学去fork项目了,自己启动一下更方便理解项目嘛。然后把项目启动需要的东西全部梳理出来。支持群聊单聊,表情包以及发送图片。 支持消息可靠,消息防重,消息有序。同时基础架构有分布式权限&…...

tensorflow学习笔记(1)环境准备写个简单例子(小白手册)-20240506

一、安装python、tensorflow 1、Mac上默认python已经安装,自带pip 2、pip3 install tensorflow 如果报错,提示pip3版本较低,可以根据提示来更新pip3:/Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --upgrade pip 3、然后再使用pip3来安装tensor…...

kubernate 基本概念

一 K8S 是什么? K8S 全称:Kubernetes 1 kubernate基本概念 作用: 用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。 可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如…...

【系统架构师】-选择题(十二)计算机网络

1、网闸的作用:实现内网与互联网通信,但内网与互联网不是直连的 2、管理距离是指一种路由协议的路由可信度。15表示该路由信息比较可靠 管理距离越小,它的优先级就越高,也就是可信度越高。 0是最可信赖的,而255则意味…...

代码随想录|总结篇

完结篇: 60天,还是坚持了下来,达成算法路上的一个小目标。 加入代码随想录训练营之前,也断断续续刷到了树那一章节,但后面因为导师项目等种种情况,一直耽搁到年后。年后打算重新开始刷题时,正好…...

网络编程套接字和传输层tcp,udp协议

认识端口号 我们知道在网络数据传输的时候,在IP数据包头部有两个IP地址,分别叫做源IP地址和目的IP地址。IP地址是帮助我们在网络中确定最终发送的主机,但是实际上数据应该发送到主机上指定的进程上的,所以我们不仅要确定主机&…...

通过wget下载ftp文件

通过wget下载ftp文件 基础用法带密码的http文件带密码的ftp文件补充 基础用法 在下载的过程中会显示进度条,包含百分比,已下载字节,下载速度,剩余时间。 # 下载单个文件 wget [url_file]# 下载目录全部文件 wget [url_dir/*] wg…...

Acrobat Pro DC 2023 for Mac:PDF处理的终极解决方案

Acrobat Pro DC 2023 for Mac为Mac用户提供了PDF处理的终极解决方案。它具备强大的文档处理能力,无论是查看、编辑还是创建PDF文件,都能轻松胜任。在编辑功能方面,Acrobat Pro DC 2023支持对文本、图像进行精准的修改和调整,还能添…...

map容器

目录 map构造和赋值 map大小和交换 map插入和删除 map查找和统计 map排序 map构造和赋值 map中所有元素都是pair(即一对) pair中第一个元素为key(键值),起到索引作用,第二个元素为value(…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

Vue ③-生命周期 || 脚手架

生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建

【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...