昨天下午突然发现PIXIV的网页打不开了,本来不应该怕被ban这种事,但是不想我的服务器IP被PIXIV禁了,所以我无法通过VPN访问。被禁的原因很多,不过我猜测这和Vultr脱不了干系。用服务器ping了pixiv.net,能ping通,但是没有返回,所以基本的判断是被pixiv拒绝访问。为什么?一个可能是因为我这个IP之前被人用过,而且用于攻击Pixiv或其关联网站,因此被禁;另一个可能是Vultr的IP段都被禁了,因为我不止一次看到Vultr的服务器被用来做肉鸡,另外不排除Vultr的主机上部署有大量爬虫,所以被禁。

请看完全文后再修改!思路及方案来源:2heng.xin

ONE

以下是针对Windows的改法,其他系统类似,可自己Google hosts文件的位置。MAC用户看这里。Linux各发行版:sudo nano /etc/hosts,原则上立即生效。

首先,用文本编辑器(比如记事本)打开 "C:\Windows\System32\drivers\etc\hosts" 文件(64位和32位系统都是这个路径,不熟悉的注意看下后面的补充及截图),最下方直接粘贴下面片段:
* 使用 Nginx 反代理方案的同学直接使用压缩包里的 hosts 文件即可,其与下方内容一致。

#Pixiv Start
127.0.0.1 pixiv.net
127.0.0.1 www.pixiv.net
127.0.0.1 ssl.pixiv.net
127.0.0.1 accounts.pixiv.net
127.0.0.1 touch.pixiv.net
127.0.0.1 oauth.secure.pixiv.net
127.0.0.1 dic.pixiv.net
127.0.0.1 en-dic.pixiv.net
127.0.0.1 sketch.pixiv.net
127.0.0.1 payment.pixiv.net
127.0.0.1 factory.pixiv.net
127.0.0.1 comic.pixiv.net
127.0.0.1 novel.pixiv.net
127.0.0.1 imgaz.pixiv.net
127.0.0.1 sensei.pixiv.net
127.0.0.1 fanbox.pixiv.net
127.0.0.1 i.pximg.net
210.140.131.145 source.pixiv.net
210.129.120.50 app-api.pixiv.net
74.120.148.207 g-client-proxy.pixiv.net
210.140.131.145 i1.pixiv.net
210.140.131.145 i2.pixiv.net
210.140.131.145 i3.pixiv.net
210.140.131.145 i4.pixiv.net
210.140.131.159 d.pixiv.org
210.140.92.135 pixiv.pximg.net
210.140.92.134 s.pximg.net
#Pixiv End

以上内容填入 hosts 文件后保存(遇到权限问题无法保存看这里),之后就应该已经可以正常访问了。如果仍然无法访问,请按下 + R 键,输入 cmd,回车,进入 cmd 后输入 ipconfig /flushdns,回车执行以刷新DNS缓存,若还不行请尝试清理浏览器缓存、Cookie、停用所有浏览器插件并重启电脑。

另外,建议不要使用国产浏览器!诸如360浏览器等的云端加速功能,因为其代理服务器是在国内的,开启了加速功能流量实际就得经过国内的服务器,那样等于白改hosts了。建议使用 Mozilla Firefox 、Google Chrome 、Microsoft Edge 等正经一点儿的浏览器。

补充:

请注意: hosts文件无后缀,无后缀,无后缀! 同时 hosts 文件中不能有 http/https 等开头和斜杠 /。

若出现站内某些按钮点击后无法打开,可尝试将跳转后无法加载的子域名加入hosts列表,按 210.129.120.41 xxx.xxx.xxx 这样的格式,将xxx.xxx.xxx换成对应的子域名,而 IP 部分则需要通过境外服务器的 ping 指令来获取,所以如果发现某个域名无法访问欢迎留言告诉我。

相对于使用vpn,这个办法更彻底一些而且方便得多。同时,如果你了解基础的网络原理,你会知道hosts解析是永远优先于DNS解析的,对于DNS污染,修改hosts当然是最有效也最彻底的方法。

IMPORTANT: Windows当然也可像目录上所列的各手机系统一样通过修改网络DNS访问,但我个人非常不建议使用,故未列在目录中。如果一定要尝试请看这里:Windows 修改 DNS,注意里面提供的 1.1.1.1 DNS 在大陆并不能访问 Pixiv,DNS 信息应参照以下手机的填写,提醒一定记住默认配置并确保自己有能力改回来,然后不必要的时候尽量改回默认(否则可能影响网速、延时)。

II. 客户端恢复教程
上方的 hosts 目前暂时不适合手机使用,等我找到手机上运行 Nginx 的方法就 OK 了。目前手机据说还可以用第二组 DNS,不过最好的方法依然是 VPN。此处可以获取旧版 hosts 文件,虽然不知道还有什么用。

(1) Android
方法一
此方法强烈推荐。安装 Virtual Hosts (下载),然后再到这里下载基础版hosts文件。

启动Virtual Hosts,添加刚刚下载的hosts文件(Android系统默认下载位置为Download文件夹,其他浏览器下载位置请自行百度,hosts文件就叫hosts,没有文件类型后缀,如下载后出现后缀请自行删除),然后首页开关启动即可。

方法二
非常简单,下载 DNS Changer,按照以下截图配置(截图上的DNS已失效,请更换),启用后即可直接通过客户端访问。

公共DNS随时可能失效,截图下方留下了多组DNS以作备用(横向看,DNS1+DNS2为一组DNS)。

DNS 1 DNS 2 Provider
101.132.183.99 193.112.15.186 PdoMo-DNS
123.207.56.160 留空即可 unknown
111.230.37.44 留空即可 unknown
106.14.152.170 留空即可 BAI DNS
202.141.178.13 202.141.162.123 USTC
119.23.248.241 111.231.199.82 FUN DNS
115.159.146.99 123.206.21.48 AIXYZ DNS
123.207.137.88 115.159.220.214 Pure DNS
如以上DNS均不可用,请尝试其他方法,或自行寻找/搭建可用DNS。

Android较低版本用户可以试试这个(支持Android4.0.3+,不过似乎有广告)。

我的建议是通过APP设置DNS,不需的时候关闭。因为DNS服务器带宽有限,如果你直接修改了WiFI的DNS,那么网络拥挤时可能会严重影响其他网站的正常访问速度。如果仍要直接修改请继续看。

方法三
如以上方法不成功请按照这里修改 DNS,正如里面说的安卓改 DNS 确实很麻烦的。另外修改 DNS 可能对需要网页登陆的公共 WIFI 产生影响,不建议对此类 WIFI 使用,如遇无法登陆请先选择“忘记此 WIFI”后再重新登陆。

方法四
不同于方法一,如果你有能力修改Android的hosts,那么可以参考以上的电脑教程(Android的hosts文件格式与Windows略有不同,请不要直接覆盖)。

好像有人下载不到pixiv的客户端?到这里下吧https://m.apkpure.com/pixiv/jp.pxv.android(Google Play 版官方客户端)。

另外推荐一个不错的第三方客户端 Pivision。

(2) iOS
方法一
iOS客户端修复原理与Android原理一致,推荐一个APP:DNS Override。

方法二
iOS也可按照这个方法手动修改DNS:修改DNS的方法,注意里面提供的 1.1.1.1 DNS 在大陆并不能访问 Pixiv,请使用上面表格里的 DNS。另该法可能对需要网页登陆的公共WIFI产生影响,不建议对此类WIFI使用。

本人无iOS设备测试,有相应设备的志愿者测试后可以反馈给我一下。

没有代理怎么办呢?
在文章开头的 Nginx 方法中,已经通过本地化脚本解决了这个问题,记得在 hosts 中加一行:127.0.0.1 www.google.com。

TWO

中国防火墙新增了对国内 TLS 1.2 请求的过滤。以前 TLS 1.2 只过滤国外的流量,现在国内的流量也开始过滤了,curl 检测的结果是访问境内和境外服务器都是第一次握手时就失去响应,所以就算是部署在境内的代理服务器用不了。目前电脑只能通过 Nginx 本地代理访问;Android 设备的话,我逆向了一下 Pivision,改了一下里面的接口,重新打的包改名 PivisionS,可以裸连扒图哦,这里下载

Nginx 本地代理(推荐)
Windows 使用方法
下载(进去往下翻有下载说明的)并解压到电脑任意路径中不含中文、日文等非英文字符的位置,之后安装文件名为 ca.cer 的根证书文件,然后参考下方「hosts 修改方法」部分修改 hosts(请使用压缩包里的hosts,因为每次更新都可能变的),最后通过可视化工具或者调试工具启动 Nginx 即可。

重要提醒:使用 Nginx 反代理的时候建议关闭各类全局代理,如各类 VPN 客户端、浏览器代理插件、某些 steam 代理工具、类似 ADSafe 这样的广告屏蔽软件,如果对 P 站的域名启用了代理,那么 hosts 就无法生效,所以请将他们暂时关闭或者把 P 站相关域名移出代理列表。

说明:
① Chrome 浏览器证书安装方法、FireFox 浏览器证书安装方法,按键具体位置因浏览器版本而异,可利用浏览器配置界面的搜索框快速查找;其他浏览器请自行寻找安装方法。务必确保 Mashiro Internet Fake Authority CA 已经添加到了受信任机构列表中(如图),遇到浏览器安全提醒说明你一定还没有添加成功。注意:如果遇到浏览器显示网站不可信任,这时即使你点了信任,网页内的图片等内容还是可能被浏览器阻止,最好的解决办法是保证证书安装成功。

② 如果遇到 Nginx 启动失败,首先请确保路径为全英文,可将解压出来的整个文件夹移动到各个磁盘的根目录处;其次自行查看错误日志,通常用搜索引擎直接检索日志里那行信息就可以找到一大堆解决方法了;如需反馈请附上logs/error.log中的日志(摘取出现错误时间点的片段即可,一般在文件最后几行,切勿在我这里发太长的日志)。

③ 无法启动 Nginx,常见原因是端口被占用(80 或 443 端口,建议先看一下日志),参考端口占用的解决方法。

④ 很多人说图片显示不出来,可依次尝试把 hosts 中 i.pximg.net 的 IP 改成 210.140.92.140、210.140.92.141、210.140.92.134、210.140.92.135、210.140.92.139、210.140.92.143、210.140.92.137、210.140.92.138 中的任意一个。

⑤ 可视化工具仅支持 Windows 64 位版,32 位版请尝试通过调试脚本启动,如果都不行请看用 cmd 管理 Nginx
MAC 使用方法
MAC 上同样可以使用 Nginx,详细的 MAC 配置方法请看这篇文章

Linux 使用方法
Nginx 配置文件目录为 /etc/nginx/,使用和 MAC 完全一致的配置文件和证书并替换配置文件即可,最后参考下方「hosts 修改方法」部分的方法修改 hosts(请使用压缩包里的hosts,因为每次更新都可能变的)。

声明:禁止将此代理用于绘画交流与学习之外的用途

NOTE:请访问 https://www.pixiv.net,而不要访问 http://www.pixiv.net。点击这个链接即可正常访问

参考:樱花庄的白猫

2heng.xin


暮春三月,江南草长,杂花生树,群莺乱飞