Rat's

使用Searx搭建一个私人的搜索引擎平台,可展现Google/Bing等70多种搜索网站的搜索结果
说明:现在百毒各种犀利操作导致很多人都转向了谷歌,不过由于谷歌在国内被墙,对一些人来说访问起来是有点困难的,除了挂...
扫描右侧二维码阅读全文
27
2019/01

使用Searx搭建一个私人的搜索引擎平台,可展现Google/Bing等70多种搜索网站的搜索结果

说明:现在百毒各种犀利操作导致很多人都转向了谷歌,不过由于谷歌在国内被墙,对一些人来说访问起来是有点困难的,除了挂梯子以外,反代谷歌也可以,很久前就发过这种教程→传送门,不过最近找到了个好项目Searx,一个基于Python的完全开源免费搜索引擎平台,为你提供来自GoogleBingYahoo70多种各大视频、图片、搜索、磁力等网站结果展示,并对搜索结果进行优化,同时不会存储你的任何搜索信息,搭建也很方便,有兴趣的可以搭建给需要谷歌的同事或朋友用下。

截图

请输入图片描述
请输入图片描述

手动安装

项目地址:https://github.com/asciimoo/searx

1、安装pip

#CentOS 6.x 32位
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install -y python-pip

#CentOS 6.x 64位
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install -y python-pip

#CentOS 7.x
yum install -y epel-release
yum install -y python-pip
#如果CentOS 7安装出现No package python-pip available,可以用以下命令进行安装
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

#Debian/Ubuntu系统
apt-get -y update
apt-get -y install python-pip

2、安装git

#Debian/Ubuntu系统
apt-get -y install git

#CentOS系统
yum -y install git

3、编辑Searx

#拉取源码
git clone https://github.com/asciimoo/searx.git
#安装依赖
cd searx
pip install -r requirements.txt
#编辑配置文件
nano searx/settings.yml

修改名称什么参数,应该都看的懂,自行设置,这里只说下4种参数:

language:为搜索语言,默认en-US,如果你的搜索以中文为主,那就改成zh-CN,当然这个语言在搜索界面也可以设置
port:为监听端口,默认8888,可自行修改。
bind_address:为监控地址,默认为127.0.0.1,如果需要让ip地址能被外网访问,就修改为0.0.0.0,这里建议默认,然后再用域名反代即可。
secret_key:该参数为加密密匙,可自行设置,数值可以在ssh客户端使用openssl rand -hex 16命令生成。

这里你也可以不用nano编辑器,直接使用命令修改:

#修改language,默认为中文搜索结果
sed -i 's/language : "en-US"/language : "zh-CN"/g' searx/settings.yml
#修改secret_key
sed -i "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml
#修改bind_address,改了后就可以使用ip访问了,如果你使用域名的话,可以不修改
sed -i 's/bind_address : "127.0.0.1"/bind_address : "0.0.0.0"/g' searx/settings.yml
#修改port,比如修改成8000
sed -i "s/port : 8888/port : 8000/g" searx/settings.yml

更多参数设置可以参考→传送门

4、运行Searx
安装screen

#CentOS系统
yum install screen -y

#Debian/Ubuntu系统
apt-get install screen -y

后台运行:

screen -dmS searx python searx/webapp.py

然后使用ip:port访问,如果你的bind_address地址没修改,可能浏览器会访问不了,就需要反代了,方法后面会说。

如果你修改了bind_address地址为0.0.0.0,还打不开媒体界面的话,还需要开启防火墙端口,使用命令:

#CentOS 6
iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
service iptables save
service iptables restart

#CentOS 7
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload

如果你开了端口还不能打开,可能还需要去服务商后台开启对应的端口。

Docker安装

这里貌似用官方的Dockerfile文件构建镜像的时候会报错,所以博主自己写了个Dockerfile文件,安装也很快。

Github地址:https://github.com/iiiiiii1/Docker-Searx

1、安装Docker

#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、安装git

#Debian/Ubuntu系统
apt-get -y install git

#CentOS系统
yum -y install git

3、构建镜像

#拉取源码
git clone https://github.com/iiiiiii1/Docker-Searx
#构建镜像,搜索语言默认已改成中文
cd Docker-Searx
docker build -t searx .

4、启动镜像

docker run -d --name searx -p 8888:8888 searx 

启动命令被我简化了,详细可参考→传送门,然后使用ip:8888,访问即可,映射端口可自行修改,比如-p 8000: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 {
    header_upstream Host {host}
    header_upstream X-Real-IP {remote}
    header_upstream X-Forwarded-For {remote}
    header_upstream X-Forwarded-Proto {scheme}
  }
}" > /usr/local/caddy/Caddyfile

#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
echo "www.moerats.com {
 gzip
 tls admin@moerats.com
 proxy / 127.0.0.1:8888 {
    header_upstream Host {host}
    header_upstream X-Real-IP {remote}
    header_upstream X-Forwarded-For {remote}
    header_upstream X-Forwarded-Proto {scheme}
  }
}" > /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;
  }

最后使用的时候,记得在高级设置那里将搜索语言设置成你需要的就行了,不然搜出来的结果可能不会让你满意。

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

发表评论

78 条评论

  1. bingwong

    老铁,那个morty一直配置不成功。能帮忙看看吗

    1. Rat's
      @bingwong

      给下报错提示

      1. bingwong
        @Rat's

         不知道为啥,每次重新登陆ssh,gopath就改变了。导致morty自动停止。 后来改用docker-morty就没有问题了。。。搞不明白,反正弄好了,谢那

  2. 热心市民

    一些建议,Caddy反代使用次数这么频繁,建议写一篇文章,内容是多个程式需要反代Caddy的配置文件该如何写。谢谢大大,希望大大可以水一篇多程式反代Caddy配置

    1. Rat's
      @热心市民

      这个很久前水过了,https://www.moerats.com/archives/422/,具体的可以看下官方文档

  3. ali

    请问下服务器重启后就网站就打不开了,用的宝塔反代,怎么搞

    1. ali
      @ali

      已解决

  4. 阿萨德

    麻烦问一下大佬screen启动怎么关啊......ctrla a k 按了没反应

    1. Rat's
      @阿萨德

      试一下这个命令恢复窗口screen -r searx,然后Ctrl+C断开

  5. 梓瑜

    老大,输入了caddy反代配置后caddy启动失败2019/03/24 07:14:15 error inspecting server blocks: parse //aiouniya.cn {
    gzip
    proxy / 127.0.0.1:8888 {

    header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote} header_upstream X-Forwarded-Proto {scheme}

    }
    }: net/url: invalid control character in URL

    1. Rat's
      @梓瑜

      大概就是说你格式不对,检查下格式

  6. 梓瑜

    老大我看了下你在推搬瓦工年付$47 CN2线路,1G内存/20G硬盘/1T流量,速度快,建站稳定,已购买,用来搭建这个项目怎么样啊?

    1. Rat's
      @梓瑜

      可以啊

  7. kanlee

    楼主,这个用docker安装如何加上自动启动?重启VPS后不能用了

    1. Rat's
      @kanlee

      写个开机启动容器命令就可以了,放到rc.local文件里

  8. wintsa

    拿来试手,结果吧我typecho博客给弄没了。。。怎么办

    1. Rat's
      @wintsa

      用了什么操作

      1. wintsa
        @Rat's

        直接在网站布置,反代

        1. Rat's
          @wintsa

          用的caddy?只要数据不丢就没事,都有救

  9. kai

    同问题,默认中文时首选项Internal Server Error

    1. 幻想丶一下
      @kai

      设置成台湾吧,这样不会

    2. Rat's
      @kai

      这个只能去github反映下,然后等修复了

  10. 天涯后面的天空

    国内用mijisou.com蛮不错的。我用的公共searx无法在不科学的时候返回谷歌结果...

    1. Rat's
      @天涯后面的天空

      公共searx用的国内服务器搭建的?

      1. 天涯后面的天空
        @Rat's

        我试了下searx.me可以出谷歌结果=-=
        我自己搭建的是否出现了Caddy 启动失败 !
        系统是debian,我准备换ubuntu再试试

        1. Rat's
          @天涯后面的天空

          失败可以看下启动日志。

          1. 天涯后面的天空
            @Rat's

            这样就相当绝望了

            1. Rat's
              @天涯后面的天空

              图片给你取消了,太大影响布局,用这个命令看运行日志tail -f /tmp/caddy.log

              1. 天涯后面的天空
                @Rat's

                Activating privacy features... done.
                http://:2015
                /usr/local/caddy/caddy: line 1: search.qklmlj.com: command not found ʴ|/usr/local/caddy/caddy: line 3: proxy: command not found
                /usr/local/caddy/caddy: line 4: header_upstream: command not found
                /usr/local/caddy/caddy: line 5: header_upstream: command not found
                /usr/local/caddy/caddy: line 6: header_upstream: command not found
                /usr/local/caddy/caddy: line 7: header_upstream: command not found
                /usr/local/caddy/caddy: line 8: syntax error near unexpected token `}'
                /usr/local/caddy/caddy: line 8: ` }'

                1. Rat's
                  @天涯后面的天空

                  你这个配置文件有问题,重新把配置Caddy那步来一遍

  11. AiharaMei

    被谷歌当成机器人了 有办法恢复吗

    1. Rat's
      @AiharaMei

      好像等于是被拉黑了,只能换ip了

  12. tangspoon

    为什么按照你的教程,搭建好之后显示:502 bad Gateway

    1. Rat's
      @tangspoon

      502一般就是没搭建好

      1. 安静
        @Rat's

        那应该怎么办啊

        1. Rat's
          @安静

          日志都不清楚,所以我也不知道哪个环节的问题

  13. 雁陎

    这个项目用了一下,发现有时候会出现这样的情况:bing和google结果交替展示,google的结果与搜索内容有关,而bing的结果与搜索无关。所以想问一下博主,可以关掉bing的搜索结果吗

    1. Rat's
      @雁陎

      关掉bing的话,可以试试修改settings.yml文件

    2. 雁陎
      @雁陎

      刚刚又测试了一下,当搜索语言为zh时结果正常,为zh-CN时就会出现上述情况,但是好像没法改成默认zh?

  14. 逗比

    有个BUG,默认的模板如果设置中文,切换到/preferences 会报错。

    1. Rat's
      @逗比

      这个只能等作者修复了,貌似老版本没这个问题

  15. huaji

    使用nginx反代后searx首页出现page not found

    1. Rat's
      @huaji

      估计配置有问题。

  16. SaQ

    大佬,caddy反代之后https在国内打不开了

    1. Rat's
      @SaQ

      使用ip能打开?还有顺便运行下命令/etc/init.d/caddy status,看状态是不是running

  17. 缙哥哥

    这个可以在安装宝塔的基础上直接添加网站吗?一定要ssh安装?还有,开启反代后,同服务器其他网站是不是就没用了?没接触过这个,请大佬指点一二。

    1. Rat's
      @缙哥哥

      是的,需要ssh安装,可以添加网址,反代对其他网址没影响

  18. searx

    这个可以添加搜索引擎吗?preferences过一段时间就会error 不知道什么问题

    1. Rat's
      @searx

      可以添加,但得研究下。后面这个问题貌似与更改默认语言为中文有关系,你不修改语言看看。

  19. 123123

    引擎无法获取结果:

    google (unexpected crash: CAPTCHA required)

    1. Rat's
      @123123

      这个看是不是你的ip被谷歌拉黑或者当机器人了。

  20. 云天

    这个国内的鸡儿 也可以搭建吗

    1. Rat's
      @云天

      应该不能,国内可以用这个修改版项目,https://github.com/entropage/mijisou,不过搜索引擎是百度,360,搜狗等。

      1. searx
        @Rat's

        安装方法好像不一样 大佬会发这个修改项目的教程吗?

        1. Rat's
          @searx

          安装方法其实差不多,也就是需要Python3,安装python3教程可以看这个https://www.moerats.com/archives/848/,然后使用pip3 install -r requirements.txt安装依赖,再使用Python3运行就行了

          1. searx
            @Rat's

            谢谢大佬 宝塔需要依赖python2吧?如果装了python3是否会进不去面板?

            1. 江南
              @searx

              不会的,先用服务器自带的python2装宝塔,然后升python3,改链接,宝塔可以直接用。但是python3下就无法安装宝塔了。

            2. Rat's
              @searx

              只要不做软连接,也就是改动默认的版本应该没事。2和3可以共存

  21. zturns

    Ssdnodes拿来试试手大佬有没有那个刷题的源码啊

    1. Rat's
      @zturns

      什么题?

      1. zturns
        @Rat's

        刷国考、公招考试等等的,可以导入WordExcel的,

        1. Rat's
          @zturns

          暂时没看到

  22. kenshin

    有没有搜索还能点开维基的

    1. Rat's
      @kenshin

      你是说不挂梯子能打开中文维基?这种还没发现。

      1. kenshin
        @Rat's

        http://blog.g00gle.top/?p=295
        类似这种

        1. kenshin
          @kenshin

          展示站挂了

          1. Rat's
            @kenshin

            这种见过很多类似的,不过都没发。

  23. LALA

    这波操作可以的,马上搭一个起来玩玩。

    1. Rat's
      @LALA

      大佬多来点爬妹子的教程啊

      1. LALA
        @Rat's

        要不起,再搞几下肾没了

        1. Rat's
          @LALA

          没事,有2个怕啥

          1. 云天
            @Rat's

            你得考虑下我们啊
            上次200G的图还没看完呢

            1. Rat's
              @云天

              要不看下我的爬91和1024的教程?估计还得加几个T

  24. 缙哥哥

    太牛了,先收藏,抽空再学习!

  25. Cat's

    要记得在设置里.搜索语言选择中文
    不然搜出来的都是奇怪的东西.

    1. Rat's
      @Cat's

      这个我在最下面说明下。

  26. Cat's

    想我这么懒得家伙当然是直接用
    预览站https://searx.me/

    1. kenshin
      @Cat's

      预览站点代价缓存都不行,想知道效果