前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >私密的搜索引擎搭建

私密的搜索引擎搭建

原创
作者头像
用户1112170
修改2019-06-03 10:32:08
1.5K0
修改2019-06-03 10:32:08
举报
文章被收录于专栏:一键一键

说明:之前介绍过一个多平台聚合搜索服务Searx,都是以Google等国外搜索为主→传送门,然后这里说的秘迹搜索就是基于Searx二次开发,主要是聚合国内的百度、360、搜狗等搜索服务,专为国人开发,而且秘迹搜索可以最大程度的保护个人搜索隐私,Ta不会根据搜索关键词追踪用户,也不会通过历史搜索内容做广告推荐,目前该搜索源码开源,看见很多人想搭建个,发现教程挺简单的,这里就水个搭建教程。

截图

📷
📷

安装

Github地址:https://github.com/entropage/mijisou

官方网站:https://mijisou.com,不想自己搭建的直接就使用这个地址搜索。

1、安装依赖 CenOS 6系统:

代码语言:javascript
复制
#安装EPEL
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
#安装Python3和Redis
yum install python34 redis git screen -y
#安装pip3
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
#启动Redis
service redis start
#设置Redis开机自启
chkconfig redis on

CenOS 7系统:

代码语言:javascript
复制
#安装EPEL
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#安装Python3和Redis
yum install python36 redis git screen -y
#配置Python3软链接
ln -s /usr/bin/python3.6 /usr/bin/python3
#安装pip3
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
#启动Redis
systemctl start redis
#设置Redis开机自启
systemctl enable redis

Debian/Ubuntu系统:

代码语言:javascript
复制
#安装pip3和Redis
apt update
apt install python3-pip redis-server git screen -y

2、安装搜索

代码语言:javascript
复制
#拉取源码
git clone https://github.com/entropage/mijisou.git
#安装依赖
cd mijisou && pip3 install -r requirements.txt
#编辑配置文件
nano searx/settings_et_dev.yml

这里只说主要配置,先填写Reids服务器IP,参数如下:

代码语言:javascript
复制
cache_server : "127.0.0.1"

然后设置匿名访问,这个之前没有在Searx教程提过,主要是秘迹搜索以隐私为主,所以就配合下,这里就说下配置过程,具体方法看后面,当然你不设置也是不影响基本使用的。

运行的话,貌似Github只给了flask开发运行方法,这里不建议使用,所以就不写出来了,然后博主提供个gunicorn运行方法,使用命令:

代码语言:javascript
复制
#修改下配置文件
mv searx/settings_et_dev.yml searx/settings.yml
#启动,端口可以自行修改
gunicorn searx.webapp:app -b 127.0.0.1:8888 -D

此时访问地址为127.0.0.1:8888,还需要使用域名反代才能访问,如果你要使用ip访问,将运行命令改成0.0.0.0:8888即可。

域名反代

反代可以用NginxApacheCaddy,这里只说宝塔和Caddy。如果你网站有宝塔,就可以使用宝塔进行反代,如果没有,建议使用第2种的Caddy反代,配置很快。

1、宝塔反代 先进入宝塔面板,然后点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL填入http://127.0.0.1:8888,再启用反向代理即可。至于启用SSL就不说了,直接在站点配置就可以启用。

2、Caddy反代 安装Caddy

代码语言:javascript
复制
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置Caddy

代码语言:javascript
复制
#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!

#http访问,该配置不会自动签发SSL
echo "www.moerats.com {
 gzip
 proxy / 127.0.0.1:8888 
}" >> /usr/local/caddy/Caddyfile

#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
echo "www.moerats.com {
 gzip
 tls admin@moerats.com
 proxy / 127.0.0.1:8888
}" >> /usr/local/caddy/Caddyfile

tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。

启动Caddy

代码语言:javascript
复制
/etc/init.d/caddy start

就可以打开域名进行访问了。

3、Nginx配置 如果你使用其它的,这里就大概发个Nginx反代配置,直接添加到配置文件即可。

代码语言:javascript
复制
#在配置文件里添加
  location / {
      proxy_pass http://127.0.0.1:8888;
      proxy_set_header        Host                 $host;
      proxy_set_header        X-Real-IP            $remote_addr;
      proxy_set_header        X-Forwarded-For      $proxy_add_x_forwarded_for;
      proxy_set_header        X-Remote-Port        $remote_port;
      proxy_set_header        X-Forwarded-Proto    $scheme;
      proxy_redirect          off;
  }

就可以打开域名进行访问了。

配置匿名访问

Morty项目地址:https://github.com/asciimoo/morty

该功能主要用的Morty,大致就是重写网页以排除恶意HTML标记和属性,还替换外部资源引用以防止第三方信息泄露。

1、安装Golang环境

代码语言:javascript
复制
#Debian/Ubuntu系统
apt-get -y install golang
#创建目录并定义GOPATH环境变量指向该目录
mkdir ~/mjsmorty
echo 'export GOPATH="$HOME/mjsmorty"' >> ~/.bashrc
source ~/.bashrc

#CentOS/RHEL系统
yum -y install golang
#创建目录并定义GOPATH环境变量指向该目录。
mkdir ~/mjsmorty
echo 'export GOPATH="$HOME/mjsmorty"' >> ~/.bashrc
source ~/.bashrc

2、安装Morty

代码语言:javascript
复制
#安装
go get github.com/asciimoo/morty
mv ~/mjsmorty/bin/morty /usr/local/bin

#查看版本,有版本输出信息即按照成功
morty -version

3、启动Morty 先随机生成一个十六进制的key,使用命令:

代码语言:javascript
复制
openssl rand -hex 16

启动命令:

代码语言:javascript
复制
#监听端口和key值自行修改
screen -dmS morty morty -listen 127.0.0.1:3000 -key moerats

此时Morty监听地址为http://127.0.0.1:3000,然后再使用一个二级域名,比如morty.moerats.com对该地址反代,反代参考上面的教程,建议加上SSL

然后修改配置文件searx/settings.yml,大致修改如下:

代码语言:javascript
复制
#这里的key值修改成上面随机生成的十六进制值
secret_key : "moerats"

#填入你的morty地址、key值、秘迹搜索地址,这里的key需要和上面的一致
result_proxy:
    url : https://morty.moerats.com
    key : moerats
    server_name : https://www.moerats.com

然后重启秘迹搜索生效。最后主题目录为searx/static/themes,设置方法可以自己参考Github地址的提示。

最后博主想说的是,只要人在国内,就不谈隐私保护这事,该喝茶的还是得乖乖的去喝茶。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 截图
  • 安装
  • 域名反代
  • 配置匿名访问
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档