自建谷歌镜像,使用nginx部署zmirror完整反代Google,不用搭梯子访问Google


分类:玩转Internet       作者:Caq98i       发布时间:2023-06-10       更新时间:2024-03-25 阅读量:1266    


本文介绍一个完整反代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配置文件中的端口一致
}


捐赠通道,感谢!🦀🦀


          support a 🍕


留言与评论







限时特惠促销