警告
本文最后更新于 2022-11-02,文中内容可能已过时。
前言
z-library是全球最大的电子书下载站,资源非常丰富。然而地址经常面临被封禁的问题,国内非常容易被墙,官方也在不断地变换地址。除了寻找别人所做的镜像站之外,另一种最方便的,就是自建镜像站。
今天实操自建一个z-library的镜像站,摆脱被墙困扰,实现免翻下载。
准备工作
- 一个自己的域名,可以申请免费域名。
- 一个cloudflare账号,DNS解析托管到cloudflare。
cloudflare配置
- 登录cloudflare管理台后,选择worker,创建一个服务
- 选择http处理程序,服务名称你自定。这个服务名称xxx就是你这个cloudflare给你生成的三级域名,下面有行提示:您的服务将被部署到:https://xxx.aaaa.workers.dev,aaaa这里是你整个worker里定义名称。不过现在cloudflare提供的这个域名国内都被墙了,所以用不上,这也是我们要准备自己一个域名的原因。
- 创建完服务,进来点击【资源】–快速编辑,将下面代码替换原有代码,保存。
覆盖添加的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | // 你要镜像的网站. const upstream = 'zh.zlibrary.org' // 镜像网站的目录,比如你想镜像某个网站的二级目录则填写二级目录的目录名,镜像 google 用不到,默认即可. // 镜像站是否有手机访问专用网址,没有则填一样的. // 屏蔽国家和地区. // 屏蔽 IP 地址. // 镜像站是否开启 HTTPS. // 文本替换. // 以下保持默认,不要动 async function fetchAndApply(request) {
} async function replace_response_text(response, upstream_domain, host_name) {
} async function device_status(user_agent_info) { |
---|
- 回到【触发器】–添加自定义域,添加自己的域名,这个域名需要先托管到cloudflare上。
到此,镜像站已经完成,生效时间虽说24小时,实际一般很快,不到1分钟就生效。
其他
这里我们利用cloudflare提供的全球cdn,给我们做了代理。免费用户每天worker里服务可以有10万次请求,对于个人而言完全足够用。
需要注意,z-library对每个ip未登录用户每天有5次下载限制,如果你建立镜像站后出现过超过限制,很可能是cloudflare的代理ip的下载次数已经被人用完了。怎么解决呢,换个ip即可,或者最方便的找个修改ip的插件就可以继续用了。
改ip插件:
- PC浏览器插件(chrome,edge为主,chromium内核系列):ModHeader。
使用: ctrl+shift+h唤起插件,或者可以在插件主页里打开,修改请求头 request headers
,选择X-Forwarded-For
,后面自定义填写ip,ip在正确的IP地址范围即可 。
- 安卓手机浏览器插件:
Header Editor
,下载安装Iceraven 浏览器 ,附加组件搜索安装Header Editor
,修改请求头,匹配类型填你的域名,执行类型常规
,头名称选择X-Forwarded-For
,后面自定义填写ip,保存,开启插件即可。
这样你就拥有了自己的z-library镜像站,可以无限制的下载电子书资源了。