使用zmirror反向代理pixiv

前言

2018.12.19更新:优化了文章结构

2018.12.10更新:正式写完教程

2018.11.30更新:解决了登陆问题

2019.11.47鉴于配置难度及性能,我们推荐使用nginx配置pixiv反向代理

鉴于配置难度及性能,我们强烈推荐使用nginx配置pixiv反向代理,参见下文
鉴于配置难度及性能,我们强烈推荐使用nginx配置pixiv反向代理,非常不建议使用znirror部署
鉴于配置难度及性能,我们强烈推荐使用nginx配置pixiv反向代理,非常不建议使用znirror部署,重要的话说三遍

更新好累_(´□`」 ∠)_

没想到我的博客会有人看,那就久违的更个新吧

注意:本教程搭建后无法登录注册 请另请高明

一.Zmirror介绍

一个Python反向HTTP代理程序, 用于快速、简单地创建别的网站的镜像, 自带本地文件缓存、CDN支持
比如国内可以访问的Google镜像/中文维基镜像

Github : 前往

在部署前你需要确保

  1. 拥有自己的域名(freenom的免费域名即可)
  2. 拥有自己的服务器(vps)

二.Pixiv反向代理部署教程

一键部署步骤

我在制作镜像时使用了vultr的vps

众所周知vultr的大部分ip被p站屏蔽(不要问我为什么,我不知道),但硅谷的机房似乎没有问题(两台机子都是好的),大家可以试试

测试配置(仅供参考)

域名:freenom免费tk域名

系统:Ubuntu16_64

事前原理讲解

为了简单地解决登陆问题,我使用了一些非常规手段,即用主域名作为登陆服务器生成cookies,供给二级域名使用。
因此,在开始部署前,你需要添加两个解析记录:一个@,一个随意到你的服务器上。

在我的配置过程中,我使用了accounts.qixiv.tk作为二级域名,只是正好解析了这个域名,没有额外原因,您可以根据需要修改为自己的二级域名,请注意,如果要修改您用的二级域名,请连带修改配置文件中的替换部分。

教程中涉及的配置文件皆由官方示例文件修改而来,若有设置不完善的地方,还望海涵。

操作详细

一.解析域名

首先要将域名解析到你的VPS上。(用于申请Let's Encrypt的免费ssl)

二.运行安装脚本

然后运行@yumin9822制作的脚本, 运行两次 ,一次命名为pixiv,另一次命名为pixivlogin(这不是强制的,只是好记,你可以根据个人喜好修改)

Ubuntu

wget --no-check-certificate -O /tmp/zmirror-ubuntu.sh https://raw.githubusercontent.com/yumin9822/zmirror-docker/master/zmirror-ubuntu.sh
        chmod a+x /tmp/zmirror-ubuntu.sh && /tmp/zmirror-ubuntu.sh

Debain7/8

wget --no-check-certificate -O /tmp/zmirror-ubuntu.sh https://raw.githubusercontent.com/yumin9822/zmirror-docker/master/zmirror-ubuntu.sh
        chmod a+x /tmp/zmirror-ubuntu.sh && /tmp/zmirror-ubuntu.sh

更多一键部署脚本请前往

http://www.hostloc.com/thread-336358-1-1.html

在脚本询问你预设镜像时,输入“a” 即选择自定义模式

输入一个名称,回车,然后输入你的域名,回车,接着依照脚本走申请证书,等脚本运行结束

三.检查确认

确定你已经运行了两次,即创建了两个zmirror镜像,并且使用的一个是主域名,另一个是该主域名的二级域名。

四.下载配置文件

下载我配置好的设置文件:下载地址

五.修改配置文件

修改配置文件,将其中的"qixiv.tk"替换为你的域名,如果你使用的不是"accounts.你的域名.后缀"这个二级域名,你应该先替换"accounts.qixiv.tk"为你的二级域名,再替换"qixiv.tk"为"你的域名",注意pixivconfig.py,是给主域名使用的,pixivlogin.py是给二级域名使用的。

六.上传配置

分别进入对应的zmirror镜像目录(即/var/www/你设置的名字)

输入

rm -f config.py

删除原有配置文件

然后输入

vim config.py

创建新的配置文件,并将你修改好的配置文件粘贴入内

七.重启服务

确定两个镜像配置文件都修改完毕

然后输入

service apache2 restart

此时镜像应该已经成功运行,你可以访问你的域名来享受反向代理的快乐了。

如果搭建过程中出现问题,欢迎诸位留言讨论。

反向如果你想要往反向代理中插入统计代码,请等待我的下一次更新。

最后修改:2019 年 04 月 19 日 05 : 49 PM

发表评论

6 条评论

  1. satania

    外部图片加载不出来,是什么原因呢?console也没有报错

    1. losquare
      @satania

      我重新写了配置文件,你试试看还有没有问题?

  2. mnixry

    我觉得应该是P站的用户登陆页有一个跳转的问题,点击登陆的时候跳到domain.sample.com/ext/accounts.pixiv.net,然后再跳转到accounts.pixiv.net,然后由于反代理规则又跳到domain.sample.com/ext/accounts.pixiv.net,如此重复,就会出错。希望能给你一点思路XD

    1. losquare
      @mnixry

      你给了我启发,我改用两个域名分别承载www.pixiv.net与accounts.pixiv.net,然后就可以正常登录了,过两天有空了就把教程写出来~\(≧▽≦)/~

  3. Jerk

    按大佬的教程搭建 结果出现了500错误

    1. losquare
      @Jerk

      有可能是zmirror本身更新了,也可能是你拷贝配置文件时出了差错。也许你愿意过两天试试看我即将发布的新配置文件。