云殇网络
type: channel
link: https://www.yswl88.com/
description: Your description here.
items: IPAD协议 源支付V8微信自挂程序
items: 异次元发卡-安装部署指导
items: 记一次QQ Music Sign算法
items: 欢迎使用 Typecho

IPAD协议 源支付V8微信自挂程序
type: item
date: 2025-04-23T10:01:00+08:00
description: 本工具是基于 GeWeChat 框架拓展的功能 通过监听 微信收款助手公众号 进行支付回调（目前仅测试了个码）使用教程：要求： 国内服务器 或 国内挂机宝 可连外网，挂机宝要求可以进行NAT转发 个人配置推荐2H2G起，项目官方是推荐的4H8G 可稳定运行Docker即可1.安装docker 服务器可直接在宝塔上安装 挂机宝使用win系统（同时也用来挂机） 安装docker桌面版2.拉取镜像（Linux版 win自测）docker pull registry.cn-hangzhou.aliyuncs.com/gewe/gewe:latestdocker tag registry.cn-hangzhou.aliyuncs.com/gewe/gewe gewe3.运行镜像（Linux版 win自测）mkdir -p /root/tempdocker run -itd -v /root/temp:/root/temp -p 2531:2531 -p 2532:2532 --privileged=true --name=gewe gewe /usr/sbin/init4.开放端口 2531，2532 （挂机宝这里进行NAT端口转发） 5.打开程序压缩包里的登录exe进行登录，首次登录后保存好获取到的 token 和 appid6.yml配置文件说明port: 8000 监听端口后续设置回调地址就是http://或https:// + 你的ip和这个端口 + /callback挂机宝自行转发自这个端口GeWeChat: api: 'http://xxxx:2531' GeWeChat的部署ip，有反代就改成域名 appid: 'xxxx' 登录后获取 token: 'xxxx' 登录后获取CodePay: api: 'https://ypay.yswl88.com' 码支付地址 userId: '这里填商户id' Keys: '这里填软件通讯密钥' channel_id: '这里填监控的微信通道id'7.启动mian.exe后去配置回调域名http://或https:// + 你的ip和端口 + /callback 有反代的直接填域名ipad协议登录第一天后会掉线一次 再次登录需要appid和token 记得保存好GeWeChat官方项目地址：官方地址聊天Q群：点我进入{cloud title="下载地址" type="lanzou" url="https://diyunnb.lanzoum.com/ij7AO2u89cpc" password=""/}

异次元发卡-安装部署指导
type: item
date: 2025-04-18T14:21:00+08:00
description: 第一步：购买域名、服务器 将域名解析至服务器IP第二步：通过 SSH 连接服务器安装宝塔面板 这里宝塔官方提供了在线安装 -> https://www.bt.cn/new/download.html第三步：安装环境要求： PHP >= 8.0 MYSQL5.6(推荐) Nginx(最新)第四步：创建站点，数据库，上传网站源码至网站目录并解压缩第五步：至网站列表->点击网站->设置伪静态{callout color="#11d1df"}location / {if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; }}{/callout}第六步：访问域名即可跳转安装页面{anote icon="fa-download" href="https://faka.wiki/download.php" target="_self" type="secondary" content="下载源码"/}

记一次QQ Music Sign算法
type: item
date: 2025-04-17T18:52:00+08:00
description: 找到需要Sign请求的xhr请求在控制台搜索Sign，点击第一个，跳转到js文件, 分析一下从断点看出执行o(t.data)，而o = n(350).default是webpack的调用形式4.我们在控制台执行n,看看是什么5.双击代码控制台输出的代码跳过去，可以看到是执行的d6.将这里的全部js复制下来，在本地创建一个js文件粘贴进去7.在外边随便定义一个变量，比如 var sdk8.在d方法下边进行导出 {collapse}{collapse-item label="整理后JS:" open} var sdk; Window = global; !function(e) { function t(t) { for (var a, n, d = t[0], c = t[1], i = t[2], l = 0, b = []; l < d.length; l++) n = d[l], Object.prototype.hasOwnProperty.call(o, n) && o[n] && b.push(o[n][0]), o[n] = 0; for (a in c) Object.prototype.hasOwnProperty.call(c, a) && (e[a] = c[a]); for (u && u(t); b.length; ) b.shift()(); return f.push.apply(f, i || []), r() } function r() { for (var e, t = 0; t < f.length; t++) { for (var r = f[t], a = !0, n = 1; n < r.length; n++) { var c = r[n]; 0 !== o[c] && (a = !1) } a && (f.splice(t--, 1), e = d(d.s = r[0])) } return e } var a = {} , n = { 21: 0 } , o = { 21: 0 } , f = []; function d(t) { if (a[t]) return a[t].exports; var r = a[t] = { i: t, l: !1, exports: {} }; return e[t].call(r.exports, r, r.exports, d), r.l = !0, r.exports } sdk = d; d.e = function(e) { var t = []; n[e] ? t.push(n[e]) : 0 !== n[e] && { 1: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 10: 1, 11: 1, 12: 1, 13: 1, 14: 1, 15: 1, 16: 1, 17: 1, 18: 1, 19: 1, 20: 1, 22: 1, 23: 1, 24: 1, 25: 1, 26: 1 }[e] && t.push(n[e] = new Promise((function(t, r) { for (var a = "css/" + ({ 1: "common", 3: "album", 4: "albumDetail", 5: "album_mall", 6: "category", 7: "cmtpage", 8: "download_detail", 9: "index", 10: "msg_center", 11: "mv", 12: "mvList", 13: "mv_toplist", 14: "notfound", 15: "player", 16: "player_radio", 17: "playlist", 18: "playlist_edit", 19: "profile", 20: "radio", 22: "search", 23: "singer", 24: "singer_list", 25: "songDetail", 26: "toplist" }[e] || e) + "." + { 1: "092d215c4a601df90f9f", 3: "5cf0d69eaf29bcab23d2", 4: "798353db5b0eb05d5358", 5: "df4c243f917604263e58", 6: "20d532d798099a44bc88", 7: "e3bedf2b5810f8db0684", 8: "559f0a2e11f1f5800b13", 9: "2573d208d34ff3d682f0", 10: "020422608fe8bfb…

欢迎使用 Typecho
type: item
date: 2025-03-24T19:52:03+08:00
description: 如果您看到这篇文章,表示您的 blog 已经安装成功.