宝塔去除登录绑定手机号 .so 文件+自建云端
声明:本文内容闭住尚未进行任何安装测试。这里仅作收集备份作用,防止原作者受外界因素影响删除。
文件备份2022-6-8:OneDrive
文件较大,大概 271 MB 左右。
教程原文
把 宝塔官方的 .so 文件 删除:libAuth.aarch64.so libAuth.glibc-2.14.x86_64.so libAuth.loongarch64.so libAuth.x86-64.so libAuth.x86.so pluginAuth.cpython-37m-aarch64-linux-gnu.so pluginAuth.cpython-37m-i386-linux-gnu.so pluginAuth.cpython-37m-loongarch64-linux-gnu.so pluginAuth.cpython-37m-x86_64-linux-gnu.so pluginAuth.cpython-310-aarch64-linux-gnu.so pluginAuth.so
把下载下来的 panelPlugin.py panelSSL.py pluginAuth.cpython-37m-x86_64-linux-gnu.so pluginAuth.so 四个文件 替换搭配 /www/server/panel/class 目录下面
pluginAuth.cpython-37m-x86_64-linux-gnu.so pluginAuth.so 因为编译了,暂时不开源,防止泛滥,如果担心安全可以关闭本GitHub项目,懂代码的大佬可以自己拖到 IDA 查看代码!
原理
- panelSSL.py 第 1042 行 rtmp = public.httpPost('http://www.example.com/api’+’/GetToken’,pdata) 替换成 你的伪登录token接口
- panelPlugin.py 第 38 行 #_check_url=__api_root_url+’/panel/get_soft_list_status’ #检测云端状态的注释掉(上传的文件已经注释掉了)
- panelPlugin.py 第 1304 行 #public.run_thread(self.is_verify_unbinding,args=(get,)) #每次加载列表 会 检测账户绑定 !(上传的文件已经注释掉了)
就这么简单 没什么 东西 主要 就是 pluginAuth 文件 加密列表 加密插件(因为用不到 插件安装 都是直接上传 已经下载好的解密插件,所以这个功能就没写)
部署方法
- 先装一个 宝塔面板 然后装好环境, 然后 创建1个站点 – example.com / www.example.com (必须填这个域名 用来hosts 重定向的 pluginAuth.so 列表里的 域名是这个)
- example.com / www.example.com 站点 301 重定向 到 自己的域名
- 创建自己域名的站点 – 绑定自己的域名 例如: domian.com / www.domian.com 导入伪静态 如下:
if (!-d $request_filename){ set $rule_0 1$rule_0; } if (!-f $request_filename){ set $rule_0 2$rule_0; } if ($rule_0 = "21"){ # 列表 rewrite ^/(panel/get_plugin_list)$ /panel/get_plugin_list.json?s=/$1 last; # 登录 rewrite ^/(api/GetToken)$ /api/token.json?s=/$1 last; rewrite ^/(.*)$ /index.php/$1; }
-
自己域名站点下目录 创建 panel 和 api 文件 把 get_plugin_list.json文件 放到panel文件里,token.json文件 放到api文件里 然后访问 http://domian.com/panel/get_plugin_list / http://domian.com/api/GetToken 看看 能不能访问!(这两个文件在 项目 data 目录里下载 )
-
确保以上都操作对了,然后把 宝塔面板里 /www/server/panel/class 目录下面 官方的so 全部删除:libAuth.aarch64.so libAuth.glibc-2.14.x86_64.so libAuth.loongarch64.so libAuth.x86-64.so libAuth.x86.so pluginAuth.cpython-37m-aarch64-linux-gnu.so pluginAuth.cpython-37m-i386-linux-gnu.so pluginAuth.cpython-37m-loongarch64-linux-gnu.so pluginAuth.cpython-37m-x86_64-linux-gnu.so pluginAuth.cpython-310-aarch64-linux-gnu.so pluginAuth.so
-
然后 下载项目里的 panelPlugin.py panelSSL.py pluginAuth.cpython-37m-x86_64-linux-gnu.so pluginAuth.so 四个文件 放进去 把 panelSSL.py 里 第 1042 行 rtmp = public.httpPost('http://www.example.com/api’+’/GetToken’,pdata) 替换成 你的伪登录token接口 例如:rtmp = public.httpPost('http://www.domian.com/api’+’/GetToken’,pdata)
-
修改 etc/hosts 指引到:
你服务器IP example.com 你服务器IP www.example.com
- 最后重启面版就行了,然后登录面板 随便输入 手机号 密码 就可绑定账号!
如果想要修改到期时间,列表文件里搜索 1893513599 批量替换成 新的 Unix时间戳。