Rat's

一个可以保护个人隐私的网络搜索服务:秘迹搜索搭建教程
说明:之前介绍过一个多平台聚合搜索服务Searx,都是以Google等国外搜索为主→传送门,然后这里说的秘迹搜索就...
扫描右侧二维码阅读全文
25
2019/03

一个可以保护个人隐私的网络搜索服务:秘迹搜索搭建教程

说明:之前介绍过一个多平台聚合搜索服务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即可。

域名反代

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

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

2、Caddy反代
安装Caddy

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

#以下全部内容是一个整体,请修改域名后一起复制到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

/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地址的提示。

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

Vultr注册就送$50,可开日本/新加坡等机房,【点击注册】。
最后修改:2019 年 11 月 08 日 11 : 59 PM

发表评论

52 条评论

  1. nidoyu

    不知道什么原因运行gunicorn searx.webapp:app -w 4 -b 127.0.0.1:8888 -D 有的时候成功,能正常访问,但是有的时候就是运行不起来,也没有出错显示。到底是啥原因????

    1. nidoyu
      @nidoyu

      难道内存不够??

      1. Rat's
        @nidoyu

        这个不用安装了,百度貌似不能用了,作者也没更新源码了

  2. my

    大神写一下宝塔面板python管理器的部署方式吧,宝塔面板部署这个秘迹我太难了,尝试10086次了

    1. Rat's
      @my

      宝塔的话,有没有哪里报错?

      1. my
        @Rat's

        正常安装启动没问题,但是正常安装的话会更新python,导致宝塔无法启动(其他功能未测),即便是更新了软连接到python也是不能启动就很迷茫,后来发现宝塔有python管理器,有点看不懂不会调参数,总是启动不了,想着从docker官方拉个centos镜像自己做结果也失败了

        1. Rat's
          @my

          好像安装py3会导致宝塔打不开,不过可以适当处理下,宝塔就可以打开了,从gunicorn和宝塔的启动文件下手。

  3. kfkdxd

    centos7环境下面,不安装宝塔面板可以成功安装使用,先安装宝塔面板后,再进行这个秘迹搜索安装,中间就会有各种错误,大佬能不能教一下安装了宝塔面板后如何安装秘迹搜索

    1. Rat's
      @kfkdxd

      宝塔的没试过,感觉差不多,你哪里出错了?贴下日志

      1. kfkdxd
        @Rat's

        Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-vsk7aft2/cryptography
        Storing debug log for failure in /root/.pip/pip.log

  4. kfkdxd

    大佬,安装依赖那一步,提示-bash: pip3: command not found

    1. Rat's
      @kfkdxd

      第一步有安装pip3的方法

  5. kfkdxd

    大佬,如何联系你

  6. yejunping

    对于一个小白装了好几遍了,还是装不出来。放弃了

  7. Ray

    再推荐一个 Lookao 非常轻量、简洁且尊重隐私的搜索引擎,也是基于 SearX 开发https://zhaodao.ai/p/1018

    1. Rat's
      @Ray

      这个很久前就看到过,挺不错的,就是不知道开源没。

      1. A
        @Rat's

        博主写个lookao安装教程呗

        1. Rat's
          @A

          ok,之前想写个,就是么源码,现在有了,就可以水了

      2. A
        @Rat's

        Lookao也是用Searx做的,https://github.com/lookao/searx

        1. Rat's
          @A

          找了好久这个源码

  8. Kevin

    宝塔是基于python2的 这个程序是基于python3 不会冲突吗

    1. Rat's
      @Kevin

      不更改默认的python版本就没啥大问题

      1. Kevin
        @Rat's

        我安装宝塔之后 再安装这个项目 宝塔直接炸了

        1. Rat's
          @Kevin

          操作不对吧,我之前也是在宝塔上测试的

          1. Kevin
            @Rat's

            centos7.5 宝塔直接炸了不知道咋回事
            大佬要不帮我看看

            1. Rat's
              @Kevin

              我记得你加过我,把服务器发过来吧

  9. Kevin

    大佬
    错误! 以下引擎无法检索。

    sogou (unexpected crash: Error -2 connecting to your redis ip address:6379. Name or service not known.), wikipedia (unexpected crash: Error -2 connecting to your redis ip address:6379. Name or service not known.), bing (unexpected crash: Error -2 connecting to your redis ip address:6379. Name or service not known.), 360sousuo (unexpected crash: Error -2 connecting to your redis ip address:6379. Name or service not known.), baidu (unexpected crash: Error -2 connecting to your redis ip address:6379. Name or service not known.)

    1. Rat's
      @Kevin

      配置文件的redis信息没填吧?把ip填127.0.0.1

      1. Kevin
        @Rat's

        ln: failed to create symbolic link ‘/usr/bin/python3’: File exists
        软链接提示这个

        1. Rat's
          @Kevin

          说明不需要做软链接了,已经存在了

  10. 逗比

    感谢大佬分享

  11. 梓瑜

    老大 go get出现timeout只有搭梯子解决吗?

    1. Rat's
      @梓瑜

      你是国内服务器么,我记得解决方法有几个,具体你百度或者谷歌?

  12. 1

    package math/bits: unrecognized import path "math/bits" (import path does not begin with hostname)
    出现这个错误咋办?求大佬指导,谢谢

    1. Rat's
      @1

      看下你的go版本,go version,最低要1.1

  13. YAMADIE

    虽然看不懂,但是居然看完了

  14. Add

    能发一下noVNC的教程吗?https://github.com/novnc/noVNC

    1. Rat's
      @Add

      我先看看

  15. 固态水

    我选择喝茶

  16. 半吊子的静树

    其实不建议使用flask的开发http服务器,最好还是使用uwsi或gunicorn等来部署

    1. Rat's
      @半吊子的静树

      Git就给了flask开发运行,干脆直接用了,现在启动方式改成了gunicorn

  17. masha

    大佬能出一期关于这个婚礼项目的github小白教程吗,急求!~
    https://github.com/iammapping/wedding

    1. Rat's
      @masha

      这个貌似发不了,得考虑一些人的感受

      1. masha
        @Rat's

        emm。人家马上就要结婚婚啦- -。江湖救急~~

        1. Rat's
          @masha

          恭喜,有红包吗

          1. masha
            @Rat's

            谢谢~~事成之后,必有重谢

  18. befores

    厉害了

  19. 刀下的小猪

    最后一句才是正理

    1. 缙哥哥
      @刀下的小猪

      正解了!

  20. 老大哥

    好像很厉害的样子呢

  21. zzz

    作为一名小白 表示有点头疼有没有保姆级教程?

    1. Rat's
      @zzz

      冒有,保姆级别估计就是脚本了