说明:之前介绍过一个多平台聚合搜索服务Searx
,都是以Google
等国外搜索为主→传送门,然后这里说的秘迹搜索就是基于Searx
二次开发,主要是聚合国内的百度、360
、搜狗等搜索服务,专为国人开发,而且秘迹搜索可以最大程度的保护个人搜索隐私,Ta
不会根据搜索关键词追踪用户,也不会通过历史搜索内容做广告推荐,目前该搜索源码开源,看见很多人想搭建个,发现教程挺简单的,这里就水个搭建教程。
截图
安装
Github地址:https://github.com/entropage/mijisou
官方网站:https://mijisou.com,不想自己搭建的直接就使用这个地址搜索。
1、安装依赖CenOS 6
系统:
#安装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
系统:
#安装EPEL
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#安装Python3和Redis
yum install python36 redis git screen -y
#安装pip3
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
#启动Redis
systemctl start redis
#设置Redis开机自启
systemctl enable redis
Debian
/Ubuntu
系统:
#安装pip3和Redis
apt update
apt install python3-pip redis-server git screen -y
2、安装搜索
#拉取源码
git clone https://github.com/entropage/mijisou.git
#安装依赖
cd mijisou && pip3 install -r requirements.txt
#编辑配置文件
nano searx/settings_et_dev.yml
这里只说主要配置,先填写Reids
服务器IP
,参数如下:
cache_server : "127.0.0.1"
然后设置匿名访问,这个之前没有在Searx
教程提过,主要是秘迹搜索以隐私为主,所以就配合下,这里就说下配置过程,具体方法看后面,当然你不设置也是不影响基本使用的。
运行的话,貌似Github
只给了flask
开发运行方法,这里不建议使用,所以就不写出来了,然后博主提供个gunicorn
运行方法,使用命令:
#设置下变量
export SEARX_SETTINGS_PATH=settings_et_dev.yml
#启动,端口可以自行修改
gunicorn searx.webapp:app -w 4 -b 127.0.0.1:8888 -D
此时访问地址为127.0.0.1:8888
,还需要使用域名反代才能访问,如果你要使用ip
访问,将运行命令改成0.0.0.0:8888
即可。
域名反代
反代可以用Nginx
、Apache
、Caddy
,这里只说宝塔和Caddy
。如果你网站有宝塔,就可以使用宝塔进行反代,如果没有,建议使用第2
种的Caddy
反代,配置很快。
1、宝塔反代
先进入宝塔面板,然后点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL
填入http://127.0.0.1:8888
,再启用反向代理即可。至于启用SSL
就不说了,直接在站点配置就可以启用。
2、Caddy反代
安装Caddy
:
wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/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
:
#以下全部内容是一个整体,请修改域名后一起复制到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 [email protected]
proxy / 127.0.0.1:8888
}" >> /usr/local/caddy/Caddyfile
tls
参数会自动帮你签发ssl
证书,如果你要使用自己的ssl
,改为tls /root/xx.crt /root/xx.key
即可。后面为ssl
证书路径。
启动Caddy
:
/etc/init.d/caddy start
就可以打开域名进行访问了。
3、Nginx配置
如果你使用其它的,这里就大概发个Nginx
反代配置,直接添加到配置文件即可。
#在配置文件里添加
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环境
#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
#安装
go get github.com/asciimoo/morty
mv ~/mjsmorty/bin/morty /usr/local/bin
#查看版本,有版本输出信息即按照成功
morty -version
3、启动Morty
先随机生成一个十六进制的key
,使用命令:
openssl rand -hex 16
启动命令:
#监听端口和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_et_dev.yml
,大致修改如下:
#这里的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
地址的提示。
最后博主想说的是,只要人在国内,就不谈隐私保护这事,该喝茶的还是得乖乖的去喝茶。