You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tmitsuha fdc351fadb
Update pluginAuth.so
8 months ago
class Update pluginAuth.so 8 months ago
data Create token.json 8 months ago
img Create 7.png 8 months ago
plugin Create bt_ssh_auth-1.0.zip 8 months ago
.gitattributes Initial commit 8 months ago
.gitignore Initial commit 8 months ago
README.md Update README.md 8 months ago

README.md

某塔 去除登录绑定手机号 .so 文件 自建云端!

把 宝塔官方的 .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 查看代码!

原理

  1. panelSSL.py 第 1042 行 rtmp = public.httpPost('http://www.example.com/api'+'/GetToken',pdata) 替换成 你的伪登录token接口
  2. panelPlugin.py 第 38 行 #_check_url=__api_root_url+'/panel/get_soft_list_status' #检测云端状态的注释掉(上传的文件已经注释掉了)
  3. panelPlugin.py 第 1304 行 #public.run_thread(self.is_verify_unbinding,args=(get,)) #每次加载列表 会 检测账户绑定 !(上传的文件已经注释掉了)

就这么简单 没什么 东西 主要 就是 pluginAuth 文件 加密列表 加密插件(因为用不到 插件安装 都是直接上传 已经下载好的解密插件,所以这个功能就没写)

部署方法

  1. 先装一个 宝塔面板 然后装好环境, 然后 创建1个站点 - example.com / www.example.com (必须填这个域名 用来hosts 重定向的 pluginAuth.so 列表里的 域名是这个)
  2. example.com / www.example.com 站点 301 重定向 到 自己的域名
  3. 创建自己域名的站点 - 绑定自己的域名 例如: 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;
}

  1. 自己域名站点下目录 创建 panel 和 api 文件 把 get_plugin_list.json文件 放到panel文件里token.json文件 放到api文件里 然后访问 http://domian.com/panel/get_plugin_list / http://domian.com/api/GetToken 看看 能不能访问!(这两个文件在 项目 data 目录里下载

  2. 确保以上都操作对了,然后把 宝塔面板里 /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

  3. 然后 下载项目里的 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)

  4. 修改 etc/hosts 指引到:

你服务器IP example.com
你服务器IP www.example.com
  1. 最后重启面版就行了,然后登录面板 随便输入 手机号 密码 就可绑定账号!

如果想要修改到期时间,列表文件里搜索 1893513599 批量替换成 新的 Unix时间戳