说明:现在百毒各种犀利操作导致很多人都转向了谷歌,不过由于谷歌在国内被墙,对一些人来说访问起来是有点困难的,除了挂梯子以外,反代谷歌也可以,很久前就发过这种教程→传送门,不过最近找到了个好项目Searx
,一个基于Python
的完全开源免费搜索引擎平台,为你提供来自Google
、Bing
、Yahoo
等70
多种各大视频、图片、搜索、磁力等网站结果展示,并对搜索结果进行优化,同时不会存储你的任何搜索信息,搭建也很方便,有兴趣的可以搭建给需要谷歌的同事或朋友用下。
截图
手动安装
项目地址: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
。
域名反代
这里是建议使用域名反代的,反代可以用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 {
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;
}
最后使用的时候,记得在高级设置那里将搜索语言设置成你需要的就行了,不然搜出来的结果可能不会让你满意。
如果想设置匿名访问,可以查看该教程→传送门,参考配置匿名访问即可。
这个可以添加搜索引擎吗?preferences过一段时间就会error 不知道什么问题
可以添加,但得研究下。后面这个问题貌似与更改默认语言为中文有关系,你不修改语言看看。
引擎无法获取结果:
google (unexpected crash: CAPTCHA required)
这个看是不是你的ip被谷歌拉黑或者当机器人了。
这个国内的鸡儿 也可以搭建吗
应该不能,国内可以用这个修改版项目,https://github.com/entropage/mijisou,不过搜索引擎是百度,360,搜狗等。
安装方法好像不一样 大佬会发这个修改项目的教程吗?
安装方法其实差不多,也就是需要Python3,安装python3教程可以看这个https://www.moerats.com/archives/848/,然后使用pip3 install -r requirements.txt安装依赖,再使用Python3运行就行了
谢谢大佬 宝塔需要依赖python2吧?如果装了python3是否会进不去面板?
不会的,先用服务器自带的python2装宝塔,然后升python3,改链接,宝塔可以直接用。但是python3下就无法安装宝塔了。
只要不做软连接,也就是改动默认的版本应该没事。2和3可以共存
Ssdnodes拿来试试手大佬有没有那个刷题的源码啊
什么题?
刷国考、公招考试等等的,可以导入WordExcel的,
暂时没看到
有没有搜索还能点开维基的
你是说不挂梯子能打开中文维基?这种还没发现。
http://blog.g00gle.top/?p=295
类似这种
展示站挂了
这种见过很多类似的,不过都没发。
这波操作可以的,马上搭一个起来玩玩。
大佬多来点爬妹子的教程啊
要不起,再搞几下肾没了
没事,有2个怕啥
你得考虑下我们啊
上次200G的图还没看完呢
要不看下我的爬91和1024的教程?估计还得加几个T
太牛了,先收藏,抽空再学习!
要记得在设置里.搜索语言选择中文
不然搜出来的都是奇怪的东西.
这个我在最下面说明下。
可以回复一下我的问题嘛?我两天之内看您博客。我搭建好之后提示这些,是我的问题,还是源码问题?如果楼主有解决问题,可以发一下我的QQ邮箱。谢谢。
错误! 引擎无法获取结果。
google (超时), wikipedia (超时)
请稍后再试,或寻找其它的 searx 实例替代。
我用的国内的服务器,应该怎么解决问题呢,或者能否修改engine
你看看是不是端口没有开启,我也是超时,然后开了端口就好了
难道用的国内的服务器?
下评论的演示站也用不了,我估计应该不是服务器的问题把,我先去试试看。谢谢你
想我这么懒得家伙当然是直接用
预览站https://searx.me/
预览站点代价缓存都不行,想知道效果