SearXNG - 一个注重隐私的互联网元搜索引擎
引言
在数字监控和数据货币化的时代,对于许多用户而言,在线保护个人信息变得至关重要。隐私问题特别突出的一个领域是搜索引擎,它们经常收集用户数据以定制个性化广告或构建用户档案。SearXNG 是一个开源的元搜索引擎,它汇集了各种来源的结果,同时不追踪或分析其用户。本文旨在提供一个全面的指南,介绍如何设置和自定义您自己的 SearXNG 实例,确保您的互联网搜索既保护隐私又可控。
SearXNG 是什么?
SearXNG(下一代)是原始 SearX 项目的分支,具有增强的功能和安全措施。它通过结合多个搜索服务的力量,同时严格遵守隐私原则,提供了一种去中心化的网络搜索方法。用户享有可定制的界面、自托管选项以及根据需要集成额外搜索引擎的能力。
SearXNG 的关键特性
- 用户隐私保护
匿名搜索:每个查询都会生成一个随机的浏览器档案,防止个人识别。 - 实例 IP 作为来源:托管 SearXNG 的服务器的公共 IP 地址作为所有查询的来源,保护用户身份。
- 无广告或追踪:与商业搜索引擎不同,SearXNG 不显示广告或追踪用户在网络中的行为。
可定制性和控制 - 自托管:您可以运行自己的 SearXNG 实例,完全控制其操作方式。
- 配置选项:根据个人喜好调整默认语言、每页结果数量和搜索类别等设置。
- 插件和扩展:通过插件如 Tor 支持匿名或额外的实用程序来管理实例,增加功能。
高级安全措施
- 加密连接:HTTPS/SSL 连接确保客户端和服务器之间的通信保持安全。
- 可选的 Cookie:默认情况下不使用 Cookie,减少数据泄露或滥用的风险。
- 社区驱动开发:透明度和社区参与有助于代码质量和安全性的持续改进。
开始使用 SearXNG
安装先决条件
在开始安装之前,请确保满足以下要求:
- 服务器访问:您需要访问具有 root 权限或 sudo 功能的 Linux 服务器。
- 基础知识:熟悉命令行操作和基本的 Linux 管理任务将很有帮助。
- 资源:确保您的服务器满足 SearXNG 开发者指定的最低资源要求。
- **逐步指南
克隆配置文件
首先,我们克隆 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 作为反向代理,请在完成上述指令后遵循以下步骤:
- 从 docker-compose.yaml 中删除对 Caddy 的引用。
- 创建一个新的 Nginx 配置文件,通常位于 /etc/nginx/conf.d 下。
- 在您的 Nginx 配置中映射正确的主机和端口,以便将流量定向到 SearXNG。
- 重新启动 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(…...

GNU/Linux - 是否可以多次打开同一个设备文件
使用设备/dev/ttyS1举例来说明。 一个设备文件打开多次 在 Linux 中,多次打开 /dev/ttyS1 以读取数据通常是可以接受的。多次打开 /dev/ttyS1 并向 /dev/ttyS1 发送数据时,所有打开的文件描述符都能接收数据。每个打开的文件描述符都代表与串行端口的独立…...

Visual Studio的使用方法
目录 1. 下载软件 2. 软件安装 3. 软件使用 4. VS工具的字体背景美化 5. 程序调试 1. 下载软件 官网地址:Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com) 2. 软件安装 1.选中vs_Professional,鼠标右击选择“以管理员身份…...

【35分钟掌握金融风控策略18】贷前风控策略详解-3
目录 编辑 贷前风控数据源 第三方数据 贷前风控数据源 第三方数据 在金融风控过程中,金融机构通常会引入一些第三方的风控数据(或第三方金融技术)来辅助识别贷款个人或贷款企业的风险状况,帮助金融机构进行风控决策&#x…...

秋招后端开发面试题 - MySQL事务
目录 MySQL事务前言面试题什么是数据库事务为什么要有事务呢?项目中遇到的事务事务的传播机制事务的特性?事务并发存在的问题四大隔离级别四大隔离级别,都会存在哪些并发问题呢数据库是如何保证事务的隔离性的呢?如何解决加锁后的…...

C语言栈的含义与栈数据操作代码详解!
引言:在本篇博客中,我们将学到数据结构——栈,讲到栈的含义与关于栈的数据操作代码。栈可以在顺序表、双向链表以及单链表的基础上实现,而于本篇博客中,我们选择在顺序表的基础上实现栈。 更多有关C语言和数据结构知识…...

数据库基础语法二
一、数据库 1、登陆数据库 2、创建数据库zoo 3、修改数据库zoo字符集为gbk 4、选择当前数据库为zoo 5、查看创建数据库zoo信息 6、删除数据库zoo mysql -uroot -p #登陆数据库 create database zoo; #创建数据库zoo alter database zoo character set gbk collate gbk_…...

数据库的一些知识点
在Sno between列上创建约束,要求Sno的值在18至22岁之间,约束名Sno_CK。请写出对应的完整性命名子句constraint Sno_CK primary key check and。 本题得分: 0分 正确答案: 填空1 : 学号填空2 : snobetween18and22 2.单选题 (12分) 下述SQL命令的短语中…...

[AutoSar]BSW_Com021单帧 首帧 流控帧 连续帧 详解
目录 关键词平台说明一、N_PDU和N_PCI二、单帧三、首帧四、流控帧五、连续帧六、case 关键词 嵌入式、C语言、autosar、OS、BSW、UDS、diagnostic 平台说明 项目ValueOSautosar OSautosar厂商vector , EB芯片厂商TI 英飞凌编程语言C,C编译器HighTec (…...

CSS学习笔记之中级教程(一)
1、CSS 布局 - display 属性 1.1 display 属性 display 属性是用于控制布局的最重要的 CSS 属性。 display 属性规定是否/如何显示元素。 每个 HTML 元素都有一个默认的 display 值,具体取决于它的元素类型。大多数元素的默认 display 值为 block 或 inline。 …...

Spring Cloud Alibaba 网关 Gateway 集成(7)
项目的源码地址 Spring Cloud Alibaba 工程搭建(1) Spring Cloud Alibaba 工程搭建连接数据库(2) Spring Cloud Alibaba 集成 nacos 以及整合 Ribbon 与 Feign 实现负载调用(3) Spring Cloud Alibaba Ribbo…...