惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
D
DataBreaches.Net
F
Full Disclosure
腾讯CDC
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
The Register - Security
The Register - Security
WordPress大学
WordPress大学
博客园 - 聂微东
雷峰网
雷峰网
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy International News Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
博客园 - 三生石上(FineUI控件)
Know Your Adversary
Know Your Adversary
AWS News Blog
AWS News Blog
G
Google Developers Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CERT Recently Published Vulnerability Notes
O
OpenAI News
Project Zero
Project Zero
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Application and Cybersecurity Blog
Application and Cybersecurity Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
MongoDB | Blog
MongoDB | Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
Cisco Talos Blog
Cisco Talos Blog
P
Palo Alto Networks Blog
Schneier on Security
Schneier on Security

Rat's Blog - Docker

使用Docker快速安装Poste.io邮件服务器 - Rat's Blog 使用Docker安装Seafile云盘专业版,并配置域名及SSL证书 - Rat's Blog 使用Docker快速安装rTorrent和ruTorrent - Rat's Blog Linux VPS使用Docker快速部署一个CentOS系统容器 - Rat's Blog VPS使用GDList挂载Google Drive和OneDrive网盘,支持多个同时挂载 - Rat's Blog 使用Docker快速安装H5ai网盘、内置HTML5视频播放器DPlayer - Rat's Blog Linux VPS使用Docker快速安装Cloudreve多功能网盘 - Rat's Blog 使用Docker快速安装Aria2+AriaNg+h5ai,可离线BT下载和在线播放 - Rat's Blog 使用Docker快速安装FileRun多功能网盘 - Rat's Blog
使用Searx搭建一个私人的搜索引擎平台,可展现Google/Bing等70多种搜索网站的搜索结果 - Rat's Blog
博主: Rat's · 2019-01-27 · via Rat's Blog - Docker

说明:现在百毒各种犀利操作导致很多人都转向了谷歌,不过由于谷歌在国内被墙,对一些人来说访问起来是有点困难的,除了挂梯子以外,反代谷歌也可以,很久前就发过这种教程→传送门,不过最近找到了个好项目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/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 {
    header_upstream Host {host}
    header_upstream X-Real-IP {remote}
    header_upstream X-Forwarded-For {remote}
    header_upstream X-Forwarded-Port {server_port}
    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-Port {server_port}
    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;
  }

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

如果想设置匿名访问,可以查看该教程→传送门,参考配置匿名访问即可。


版权声明:本文为原创文章,版权归 Rat's Blog 所有,转载请注明出处!

本文链接:https://www.moerats.com/archives/875/

如教程需要更新,或者相关链接出现404,可以在文章下面评论留言。