背景:目前PS5首次折腾必须要连外网,还要改DNS,除非使用ESP8266/32,
本文的方法是完全不改DNS,不使用ESP8266,不连接外网的情况下自动折腾
能实现什么:
1.折腾全程不连接外网
2.完全自建hen服务器,随时更新,无需重复刷写ESP8266固件
3.解决PKG浏览器首次打开锁地址,无法输入地址的问题
4.彻底屏蔽PS5升级
5.HEN后和局域网可用,可以继续使用NFS网盘和发送bin
解法: 搭建dnsmasq DNS服务器,全域名解析指向内网,搭配ngnix 反向代理所有域名到指定页面
技术栈:Docker + dnsmasq + Nginx
原理:
1.将PS5 的IP 不设置网关,或指向一个不存在的内网IP,这样就不可能上外网
2.自建内网HEN服务器,自建nginx重定向服务器-Docker
3.将PS5 的DNS设置为内网的自建DNS服务器,将所有请求解析转发到自己内网建置的HEN服务器
3.设置nginx,将访问PKG版浏览器的地址 重定向到HEN服务器
[hide]折腾的差不多了,是不是该折腾点家用服务器了![/hide]
--------------------------------------------正式开工--------------------------------------------------------------------------------
0.修改PSN5 IP 略,注意将网关设置为一个不存在的IP,如果你是用openwrt,想要DHCP方式获取特殊的IP和DNS,请修改路由器配置文件
config hostoption name 'ps5-pj'option dns '1'option ip '192.168.31.236'option tag 'ps5_hen'option dhcpv6 'disabled'option mac '5c:96:66:56:f2:ad'
1.DNS劫持,建立DNS服务器 :
为了图省事dnsmasq 直接拉的docker, 参考下面的配置文件,你如果有openwrt的路由器也可以直接使用,改配置文件即可,
这个镜像 jpillora/dnsmasq 带一个web修改配置文件界面,方便
version: "3.3"services:dns-server:image: jpillora/dnsmasqcontainer_name: dns-serverrestart: alwaysenvironment:TZ: Asia/ShanghaiHTTP_USER: adminHTTP_PASS: adminPORT: "5380"network_mode: "host"volumes:- /volume3/docker/dnsmasq/config/dnsmasq.conf:/etc/dnsmasq.conf:rw# 日志大小限制logging:driver: json-fileoptions:max-size: "10m"
2.配置dnsmasq :
2.1 配置dnsmasq :
访问容器的5380端口,修改配置文件,重启服务
我们的目的是用户访问任意网址都去我们的网站,直接这一条就好了:
#所有域名
address=/#/192.168.31.232
如果要特定域名,比如PSGO或者其他PGK浏览器的IP地址,甚至彻底屏蔽升级,可以按下图设置
2.2 测试dnsmasq :
将自己电脑DNS改成你的DHCP服务器,使用浏览器访问任意网址测试下,或者直接nsloouo或者ping
nslookup www.baidu.com 192.168.31.192
- 安装nginx
安装ngnix是为了实现PS5 用户指南功能,他访问的是一个长链接,类似这样:
https://manuals.playstation.net/document/ct/ps5/index.html
如果直接转发域名,它携带的/document/ct/ps5/index.html传过去,就打不开了
就毕竟我们的伪站是没有这么多路径、虚拟目录,这就需要用到ngnix的反向代理了
为了省事还是用docker,参考下列配置:
用的jc21/nginx-proxy-manage 这个容器,web配置更方便了
version: '3'
services:app:image: 'dockerproxy.com/jc21/nginx-proxy-manager:latest'restart: unless-stoppedports:- '80:80' # 冒号左边可以改成自己服务器未被占用的端口- '82:81' # 冒号左边可以改成自己服务器未被占用的端口- '443:443' # 冒号左边可以改成自己服务器未被占用的端口volumes:- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
打开NPM的配置网站,就是81端口对应的那个,修改默认网站设置,先随便填写一个网站
然后打开配置文件直接修改为所有路径到HEN的网站:
一般是在容器的ngnix/data/nginx/default_host/site.conf 这个文件
直接修改为如下样式
# Default Site
# ------------------------------------------------------------server {listen 80 default;
listen [::]:80 default;server_name default-host.localhost;access_log /data/logs/default-host_access.log combined;error_log /data/logs/default-host_error.log warn;
#将下面的链接,修改为局域网自动破解链接
include conf.d/include/letsencrypt-acme-challenge.conf;location / {rewrite ^ http://192.168.31.192:84/900/02/index.html permanent;
}}
找台电脑DNS设置为dnsmasq 的服务器,随便访问下任何网站,并携带路径测试,应该都能转发到目标网站
比如:
http://123/456
http://abc/def/123
如果先要劫持psgo或者特定PKG浏览器的,请按下图修改
4.自建hen服务器
下载HEN源码 https://github.com/ps5go/ps5go.github.io
参考下图和这篇文章:https://blog.csdn.net/wangrui1573/article/details/112347403
新建完成可以用https://IP:端口/测试下
4.修改客户端DNS
现在去PS5修改DNS为自建的dnsmasq,你也可以使用dhcp的option功能,让客户端自动获取不一样的dns
参考这篇文章:https://blog.csdn.net/wangrui1573/article/details/133270271
5.在PS5上测试用户指南
5.1 确保DNS正确
5.2 打开用户指南,信任证书,观察页面跳转和全自动破解
5.3 安装PKG版浏览器,信任证书,打开会发现自动重定向到内网hen服务器
6.网络安装
现在可以从NFS网络存储安装PKG,我们完全上面的设定后,PS5是有内网的,可以直接挂载NFS存储到本地安装
以后说不定能发展出类似 PS3netsrv这样的 网络文件夹方式
上两张图你们就懂了: