本文介绍一个完整反代Google搜索的方法,相较于普通的nginx反代,本方案将Google搜索与中文维基百科无缝结合,并可以访问谷歌快照,这一点直接使用nginx反代是很繁琐的。本方案基于github的zmirror项目。
准备工作:
一台能访问谷歌且不会触发Google验证的VPS
域名一个并做好解析
zmirror项目地址:aploium/zmirror: The next-gen reverse proxy for full site mirroring
由于此项目已经多年没有维护了,本教程基于原部署文档进行了调试,并成功实现了Google镜像网站的搭建。本教程使用docker进行部署,安装docker请参考:Linux系统Docker安装教程
Google学术镜像:谷歌学术镜像与SCI-HUB网址导航免费Google学术镜像站点
① 拉取镜像并创建容器:
docker run -it --net host -v /home/www:/home/www --name caq98i anqiqii/flask39 bash
镜像 anqiqii/flask39 是一个集成flask框架的python运行环境(因为zmirror是基于flask框架开发的),此镜像已经集成了uwsgi服务器,仅需进行简单的配置即可上线。这里假设将zmirror安装到 /home/www/zmirror目录
② 执行上面的代码完成后,会自动创建一个容器并进入。进入容器后执行:
pip install cchardet fastcache
③ 拉取zmirror本身:
cd /home/www &&
git clone https://github.com/aploium/zmirror &&
cd zmirror &&
chown -R www-data . &&
chgrp -R www-data . &&
cp more_configs/config_google_and_zhwikipedia.py config.py
④ 手动修改config.py配置文件:
在第30行开始处,开始的
############### Local Domain Settings ##############
my_host_name = '127.0.0.1'
my_host_scheme = 'http://'
修改为如下, 修改两行, 添加一行
############### Local Domain Settings ##############
my_host_name = 'google.youweb.com'
my_host_scheme = 'https://' #http改成https
verbose_level = 2
请将其中的 google.youweb.com 替换为你是自己实际的域名
大约在第59行,在中文维基百科分组的最后,添加两行(用于添加对英文维基百科的支持与部分图片的支持):
'en.wikipedia.org',
'upload.wikimedia.org',
⑤ 新建一个配置文件:uwsig.ini,内容如下:
[uwsgi]
uid = root
gid = root
socket = 0.0.0.0:3031
# zmirror根目录路径,也是本配置文件所在的路径
chdir = /home/www/zmirror
wsgi-file = wsgi.py
callable = application
processes = 4
threads = 2
master = true
enable-threads = true
buffer-size=20480
# 指定记录pid的文件
pidfile = uwsgi_pid
# 日志文件
daemonize = uwsgi.log
⑥ 保存后配置文件后,启动zmirror服务:
uwsgi --ini uwsgi.ini
停止与重启:(需保证此时的工作路径为zmirror的目录)
uwsgi --stop uwsgi_pid
uwsgi --reload uwsgi_pid
一切配置完毕后,就能退出容器了:CTRL + P + Q
⑦ 申请证书可以使用acme.sh,nginx配置证书,与创建站点(略);nginx与uwsgi对接:
location / {
include /etc/nginx/uwsgi_params; # uwsgi_params 文件一般在这个路径
uwsgi_pass 127.0.0.1:3031; # 端口与uwsig.ini配置文件中的端口一致
}
捐赠通道,感谢!🦀🦀