介绍云海酷看超级ITV：一个免费无广告，高清流畅资源丰富的直播频道的直播软件，无购物广告。目前来说看电视台直播体验很棒功能介绍IPTV即交互式网络电视，是一种利用宽带有线电视网，集互联网、多媒体、通讯等多种技术于一体，向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。用户在家中可以享受IPTV服务。IPTV既不同于传统的模拟式有线电视，也不同于经典的数字电视，因为传统的模拟电视和经典的数字电视都具有频分制、定时、单向广播等特点。尽管经典的数字电视相对于模拟电视有许多技术革新，但只是信号形式的改变，而没有触及媒体内容的传播方式。相比传统电视，用户通过IPTV网络电视可收看内容更丰富全面的频道节目，直播频道的数量也比传播电视翻几番，替代传统电视机顶盒，不花冤枉钱。软件截图本文资源下载：{alert type="info"}1.微信扫下面二维码关注公众号2.回复 220331 进行下载{/alert}
介绍悟空遥控器2.3.4，官方纯净版，无广告，也没有乱七八糟的推荐，家里有电视的，这个可以说是必装的了特点悟空遥控器 是一款针对智能电视和电视盒子而开发的，集遥控、投屏、多屏互动、电影、综艺、直播……等功能于一身的手机遥控器。应用内置了数百款电视、机顶盒型号遥控器。支持央视、各大卫视、地方频道、高清及电影频道节目的高清流畅直播，影视资源丰富，涵盖央视、卫视、综艺、电影、体育、动漫、游戏等内容。软件截图本文资源下载：{alert type="info"}1.微信扫下面二维码关注公众号2.回复 230331 进行下载{/alert}
介绍智能Youtube TV是一个视频门户客户端，它可以在SmartTV上工作，也可以在带有Android的电视机上工作，但不需要使用谷歌服务。软件截图：特点：–无广告–专为电视屏幕设计的–支持高达4k的视频分辨率–不需要root权限–支持没有Google服务的设备–自由和开放源码–如何使用智能YouTube电视？在安装智能YouTube电视之前，请转到系统设置，查找安全设置，然后启用“安装来自未知来源的应用程序”选项，以允许您从外部来源安装应用程序。 然后，将您下载的APK文件传输到任何外部USB闪存驱动器，将其插入智能电视，并像您在智能手机上的任何移动应用程序一样安装它。当您第一次打开应用程序时，您可以从四个设备/分辨率选项中进行选择：1080 Main、1080 Alt、4K Main和4K Alt。 选择一个适合你的，你可以勾选“记住”复选框，下次打开页面时应用它它还允许您登录到您的YouTube帐户，而不需要Google服务。此外，智能YouTube电视支持远程控制器，完全本地化，不需要root权限即可工作。 只是有些事情要注意，虽然。 首先，YouTube和谷歌都不支持它。 另一个是它不再积极维护了。 不过，你仍然可以在你的特定电视机上试用它，并仍然使用它的所有功能。本文资源下载：{alert type="info"}1.微信扫下面二维码关注公众号2.回复 230330 进行下载{/alert}
右键美化使用右键美化，请禁用 HoerMouse 鼠标美化插件，否则貌似没效果{message type="success" content="Joe主题在后台-外观设置-设置外观-全局设置-自定义标签内填入如下代码："/} 首页 复制 搜索 前进 后退 重载网页 和我当邻居 给我留言吧 禁用F12{message type="success" content="Joe主题在后台-外观设置-设置外观-全局设置-自定义标签内填入如下代码："/} {message type="success" content="自定义JavaScript,填入如下代码："/}/*禁用F12*/ document.onkeydown = function(){ if(window.event && window.event.keyCode == 123) { layer.msg("F12被禁用了哦~"); event.keyCode=0; event.returnValue=false; } }禁止F12审查元素
Typecho的Joe主题新增QQ打开自动跳转到浏览器
前言QQ抽风，很多站长的网站都被屏蔽白了，我的也不例外而且很多人上午解了下午又白，所以我就想做一个跳转，跳转到浏览器访问然后看到执念有教程，就直接搬过来了，也就当做个备份吧效果图{tabs}{tabs-pane label="后台开关"}{/tabs-pane}{tabs-pane label="QQ内打开"}{/tabs-pane}{/tabs}修改步骤一、修改functions.php文件 新增如下代码；文件路径： usr/themes/Joe/functions.php {tabs}{tabs-pane label="代码"}$JPrevent = new Typecho_Widget_Helper_Form_Element_Select( 'JPrevent', array('off' => '关闭（默认）', 'on' => '开启'), 'off', '请选择是否开启QQ防红拦截', '介绍：开启后，如果在QQ里打开网站，则会提示跳转浏览器打开' ); $JPrevent->setAttribute('class', 'joe_content joe_other'); $form->addInput($JPrevent->multiMode());{/tabs-pane}{tabs-pane label="代码安装位置"}{/tabs-pane}{/tabs}二、修改include.php文件 路径如下： usr/themes/Joe/public/include.php ，在最顶部新增{tabs}{tabs-pane label="代码"}<?php if ($this->options->JPrevent === 'on') : ?> <?php $this->need('public/prevent.php'); ?> <?php endif; ?>{/tabs-pane}{tabs-pane label="代码安装位置"}{/tabs-pane}{/tabs}三、新增prevent.php文件 上传路径： usr/themes/Joe/publicprevent.php文件内容：<?php if ($this->options->JPrevent === 'on' && (strpos($_SERVER['HTTP_USER_AGENT'], 'QQ/') || strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false)) : ?> <?php $siteurl = ($_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?> <html lang="en" data-color-mode="<?php if($_COOKIE['night']=='1')echo 'dark';else echo 'light'; ?>"> 使用浏览器打开 点击右上角 Safari打开 可以继续浏览本站哦~ 请使用浏览器访问本站 <a href="mttbrowser://url=<?php echo $siteurl; ?>"> <a href="googlechrome://browse?url=<?php echo $siteurl; ?>"> <a href="alipays://platformapi/startapp?appId=20000067&url=<?php echo $siteurl; ?>"> <a href="googlechrome://browse?url=<?php echo $siteurl; ?>"> <a href="ucbrowser://<?php echo $siteurl; ?>"> <a href="bdbrowser://<?php echo $siteurl; ?>"> 点击上方图标or复制本站网址自行打开 <a data-clipboard-text="<?php echo $siteurl; ?>" class="app-download-btn">点此复制本站网址 <?php exit; ?> <?php endif; ?>
ServerMmon青蛇探针,一个超好用的服务器状态监控-搭建教程
serverMmon(青蛇探针)是nodeJs开发的一个酷炫高逼格的云探针、云监控、服务器云监控、多服务器探针~。在线演示：http://106.126.11.114:5880/主要功能：全球服务器分布世界地图服务器（控制端）ping 连通率功能后台编辑 添加 删除 服务器（控制端）生成服务器（控制端）一键安装脚本在线SSH多服务器批量执行命令多服务器定制分享地址控制游客那些服务器可显示其他功能不一一叙述自行安装体验页面截图自动部署：【服务端】Docker一键命令：docker run -dit \ -v $PWD/Mmon/basedata:/Mmon/basedata \ -p 5999:5999 \ --restart=always \ --name mmon \ grbhq/mmon:latestdocker-compose一键部署：wget -O docker-compose.yaml https://raw.githubusercontent.com/souying/serverMmon/main/docker-compose.yaml && docker-compose up -d一键安装脚本(国内)：bash <(curl -sL https://cdn.jsdelivr.net/gh/souying/serverMmon@main/scripts/mmon_install.sh) 一键安装脚本(国外)：bash <(curl -sL https://raw.githubusercontent.com/souying/serverMmon/main/scripts/mmon_install.sh) 【监控端】：国内服务器一键安装脚本bash <(curl -sL https://cdn.jsdelivr.net/gh/souying/serverMmon@main/scripts/mmon_install.sh) 国外服务器一键安装脚本bash <(curl -sL https://raw.githubusercontent.com/souying/serverMmon/main/scripts/mmon_install.sh) 以上执行后按脚本提示安装 安装完毕后 直接执行mmon 或者 MMON 可弹出脚本菜单手动安装教程：【服务端配置】 一、创建文件夹mkdir serverMmon && cd serverMmon二、拉取源码git clone https://github.com/souying/serverMmon.git三、安装依赖npm install四、修改上面主要说明文件（修改配置文件） home/config.js //修改服务端ip+端口 或者域名 如下 不做修改此步骤可省略... window.__PRE_CONFIG__ = { header: '青蛇?探针', subHeader: '[serverMmon] 中文名：青蛇?探针', interval: 1, url:'xx.xx.xx.xx', //主控服务端ip地址或者域名 可不做修改 footer: ' Powered by serverMmon感谢ServerStatus-Hotaru前端主题 ' };server/config.js //修改端口配置 默认5999 不做修改可省略... 如下5999 改为你自己需要的端口 不做修改此步骤可省略...三、启动测试npm start如果没错误提示，OK，ctrl+c关闭；如果有错误提示，检查5999端口是否被占用四、安装pm2 维护进程npm install -g pm2 // 安装过可省略... 在服务端执行以下命令pm2 start index.js --name "serverMmon" 重新启动pm2 restart serverMmon停止pm2 stop serverMmon关键说明 如每次修改完配置文件 请执行以下命令 重启服务端pm2 restart serverMmon以上需要node 环境 如宝塔安装 正常使用node项目安装方式即可 pm2 常用命令 请搜索ip+端口/ 即可访问ip+端口/admin 即可访问后台管理 ps 首次安装后需要注册管理账号ip+端口/ssh 即可访问在线SSH开源地址/记得点个Star支持下作者{anote icon="fa-github" href="https://github.com/souying/serverMmon" type="success" content="访问Github"/}
少儿教育 亲宝故事会TV版2.0.3 高清全集动画片在线看
亲宝故事会，专门为0-6岁儿童设计的能边看边听的故事绘本系列，包括成语故事、童话故事、寓言典故、传统节日故事等不同类型的寓教于乐，适合幼儿心理特点的故事系列。本文资源下载：{alert type="info"}1.微信扫下面二维码关注公众号2.回复 230329 进行下载{/alert}
ChatGPT for Google ：将 ChatGPT 整合到搜索引擎，ChatGPT 和谷歌不必二选一
插件简介：一个免费的浏览器扩展工具，能够在谷歌搜索、必应、百度、yandex、DuckDuckGo等主流搜索引擎搜索结果旁边显示ChatGPT对话响应结果，通过 ChatGPT 的强大功能增强搜索引擎。插件介绍这个插件可以让我们在使用搜索引擎时也可以在页面右侧边栏的位置看到来自 ChatGPT 对你输入搜索框的问题回答。Github 项目地址：https://github.com/wong2/chat-gpt-google-extension支持的搜索引擎：Google, Baidu, Bing, DuckDuckGo, Brave, Yahoo, Naver, Yandex, Kagi, Searx项目官网：https://chatgpt4google.com/支持的浏览器：Chrome, Edge, Firefox插件特点：◉ 支持所有主流的搜索引擎◉ 支持OpenAI官方API◉ 从插件弹窗里快速使用ChatGPT◉ 支持Markdown渲染◉ 支持代码高亮◉ 支持深色模式◉ 可自定义ChatGPT触发模式使用方法：1.首先需要注册 ChatGPT，如果还没注册好，可以参考前段时间写的那篇「 国内用户注册 ChatGPT 保姆级教程 」。2.我以 Edge 浏览器为例， 将 ChatGPT for Google 插件添加到浏览器。3.安装完毕后，可以点击浏览器地址栏右侧的插件图标，设置插件的触发模式。这个插件目前提供了如截图所示的三种触发模式：a. 总是触发b. 当搜索引擎网站页面搜索框内的内容以问号结尾时触发c. 手动触发我这里选择的 Always。4.安装好之后，在搜索引擎官网页面随便输入一些内容，在搜索结果页面右侧，会看到提示说要登录 ChatGPT；点击登录链接登录。5.再次在搜索框中输入问题，搜索结果页右侧将会出现来自 ChatGPT 的回答。使用体验：全程使用下来没什么大问题，只是搜索结果页加载完之后，还需要耐心等待一段时间才能加载完来自 ChatGPT 的回答。如果 ChatGPT 回答过长，将无法完全加载完回答。
Nolan Pro登录面板如何对接傻妞机器人详细教程
Pro搭建获取token有门槛，大佬关门了，没在群里的请划走。根据大佬的教程搭建好容器后，配置好配置文件。教程开始登录你的傻妞WEB后台在插件订阅里面添加订阅地址傻妞后台订阅地址文章底部获取 傻妞后台订阅地址文章底部获取 然后点击插件市场，多刷新几遍，搜索京东，安装这个京东登录然后继续搜qinglong与something模块，把这两都安装了给傻妞发下面两条命令配置下就可以使用了设置nolan Pro面板地址例：set jd_cookie nolanPro_addr http://192.168.1.65:1234 （注意后面一定不要有/）set jd_cookie nolanPro_addr ?设置nolan Pro对接机器人的token这个在Pro后台自己设置，设置好后复制到命令后面发给机器人配置即可例：set jd_cookie nolanPro_token hdiuoahiohq4156set jd_cookie nolanPro_token ?然后去给傻妞发登录试试吧！扫码登录先得发一个“打开扫码”。 注意的是，nolan面板地址后面一定不要加 / 更新方法禁容器-->运行更新命令docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -c --run-once pro上面命令无法更新？ 来，禁Pro容器，删掉之前的Pro镜像CD到Pro目录cd /root/pro 在Pro容器里面配置好信息拉库，这样就拉的最新的了sudo docker run -id \ --name pro -p 5016:5016 \ -v "$(pwd)":/app/Data \ -e Prolic=第2步获取的 \ -e User=自定义管理帐号 \ -e Pwd=自定义管理密码(八位以上包含大小写字母、数字或特殊字符) \ --privileged=true \ nolanhzy/proPro首页样式代码分享：复制代码到这里修改了保存即可 样式一： 样式二： 样式三 傻妞订阅（三选一自己测试）以及模板代码获取{tabs}{tabs-pane label="傻妞国外机订阅地址一"}sub://T4EywWN46ztYBhHNdOl6Tk+4LnA5YNOgqmfJbjgPviVQIpORRGZeGJ5YUDg0ZW1H4/faKbq2RwQ2J1f50NbvUIiD/axharg92phr6DLh3NsPKpEy3VV/2cveR4YawmWhI0ewXrtaMHiPcOfNiWED/1d3g+szZYXiSO5OBrbKuy0={/tabs-pane}{tabs-pane label="傻妞国外机订阅地址二"}sub://T4EywWN46ztYBhHNdOl6Tr9gtAYiz3SRzcdeEobLHz90DHlvStJfWnrrkIBsmkj7IOvMl+lbwQYbGyZbUsPNftcvldmoonfat85juJ9oMGbGCLDzmpmxQs2V3/KTovRrgZRYrm6/8fNKHIglNorss7TzByd3Xhq8vDXtqDGZP1A={/tabs-pane}{tabs-pane label="傻妞国内订阅地址"}sub://T4EywWN46ztYBhHNdOl6Tkzap0mlmGqEMtMXHYFK3RePfCNugQWCjNHPpLZ8JoasT4VDcT9qG9TQFsqfbcA+SPnJAv0s+kH/KO/AX57Cx5vfJ8VDSI7d5JKehw8dp+GFnMbh2Gt1Dr/SSB304QDL/KPXvBfLvxc0USzCgHYjzVk={/tabs-pane}{tabs-pane label="样式一代码"} 首页 季春便民 如果官方不动手 扫码登录：有效期6个月 手机登录：有效期3个月 季春便民公众号 {/tabs-pane}{tabs-pane label="样式二代码"} 特别提醒 本项目脚本收集自互联，为了保障您账号的财产安全，请设置支付密码并关闭免密支付！ （东东-设置-支付设置-支付验证设置） <marquee width="100%" behavior="scroll" style="color: #00f;">登录后可以扫码关注公众号，每天获取资产推送~</marquee>{/tabs-pane}{tabs-pane label="样式三代码"} {/tabs-pane}{/tabs}部分人无法订阅到库直接复制内容去傻妞插件那新建吧{tabs}{tabs-pane label="京东登录"}https://raw.githubusercontent.com/LevenYi/sillyGirl_Plugins/master/download/16dbd882-32f7-11ed-89fb-fc7c02eb3d87.js{/tabs-pane}{tabs-pane label="qinglong"}/* * @author https://t.me/sillyGirl_Plugin * @rule qinglong * @origin * @module true * @create_at 2021-09-09 16:30:33 * @description 青龙模块(可能仅支持部分版本青龙) * @version v1.0.4 * @public false * @title qinglong */ module.exports = { //认证 Get_QL_Token, //订阅 Get_QL_Subs, Start_QL_Subs, //环境变量 Get_QL_Envs, Get_QL_Env, Add_QL_Envs, Update_QL_Env, Delete_QL_Envs, Move_QL_Env, Disable_QL_Envs, Enable_QL_Envs, //配置文件 Get_QL_Config, Get_QL_Configs, Update_QL_Config, //日志 Get_QL_Logs, Get_QL_Log, //定时任务 Get_QL_Crons, Add_QL_Cron, Update_QL_Cron, Delete_QL_Crons, Disable_QL_Crons, Enable_QL_Crons, Get_QL_CronLog, Pin_QL_Crons, Unpin_QL_Crons, Start_QL_Crons, Stop_QL_Crons, //脚本 Get_QL_Scripts, Get_QL_Script, Add_QL_Script, Update_QL_Script, Delete_QL_Script, Task_QL_Script, //自定义 QLS, Sync_QL_Envs, Modify_QL_Config } //使用样例 function Sample(){ let data=null let QL=QLS()[0] let host=QL.host let client_id=QL.client_id let client_secret=QLS.client_secret let token=QL.token // let token=Get_QL_Token(host,client_id,client_secret) // data=Get_QL_Version(host,token) // let login=QL_Login(host,"username","passsword") // data=Get_QL_SeqLogClear(host,token) // data=Get_QL_Scripts(host,token)[2].children[0] // data=Get_QL_Script(host,token,"KingRan_KR","root.json") // data=Add_QL_Script(host,token,"测试.js","","hello word","") // data=Update_QL_Script(host,token,"测试.js","","你好") // data=Delete_QL_Script(host,token,"测试.js","") // data=Task_QL_Script(host,token,"jd_CheckCK.js","KingRan_KR") // data=Stop_QL_Script(host,token,"jd_CheckCK.js","KingRan_KR") // let envs=Get_QL_Envs(host,token) // data=envs[0] // data=Add_QL_Envs(host,token,[{"name":"Test","value":"值","remarks":"备注1"}]) // data=Update_QL_Env(host,token,"9gDpadTPLRM1rBoK","Test2","value2","remark2") // data=Move_QL_Env(host,token,"9gDpadTPLRM1rBoK",65,60) // data=Get_QL_Env(host,token,"9gDpadTPLRM1rBoK") // data=Delete_QL_Envs(host,token,["9gDpadTPLRM1rBoK"]) // data=Disable_QL_Envs(host,token,["NVgvoIAzhPhPwU8n"]) // data=Enable_QL_Envs(host,token,["NVgvoIAzhPhPwU8n"]) // data=Get_QL_Configs(host,token) // data=Get_QL_Config(host,token,"extra.sh") // data=Update_QL_Config(host,token,"extra.sh","Hello") // let logs=Get_QL_Logs(host,token) // data=logs[1].files // data=Get_QL_Log(host,token,logs[1].name,logs[1].files[0]) // data=Get_QL_Crons(host,token)[30] // data=Add_QL_Cron(host,token,"测试任务","task hello.py","1 2 1 1 1") // data=Update_QL_Cron(host,token,"iBKdVkntztpWOJmZ","测试任务","task hello.py2","1 4 1 1 1") // data=Disable_QL_Crons(host,token,["DBPOktsB6d4S6RUn"]) // data=Enable_QL_Crons(host,token,["DBPOktsB6d4S6RUn"]) // data=Pin_QL_Crons(host,token,["DBPOktsB6d4S6RUn"]) // data=Unpin_QL_Crons(host,token,["DBPOktsB6d4S6RUn"]) // data=Get_QL_CronImport(host.token) // data=Start_QL_Crons(host,token,["aZTfc0tRFD2jvPR5"]) // data=Stop_QL_Crons(host,token,["aZTfc0tRFD2jvPR5"]) // data=Delete_QL_Crons(host,token,["tAEzGQX9Vtgk262O"]) // data=Get_QL_CronLog(host,token,"h08xz5tLf34v6Sgl") console.log(data) console.log(JSON.stringify(data)) } //青龙变量name同步 //function Sync_QL_Envs(from_host,from_token,to_host,to_token,name,value_keyword){ function Sync_QL_Envs(ql1,ql2,name,value_keyword){ let from_envs=Get_QL_Envs(from_host,from_token) let to_envs=Get_QL_Envs(to_host,to_token) if(!from_envs || !to_envs) return false if(name){ from_envs=from_envs.filter(env=>env.name==name) to_envs=to_envs.filter(env=>env.name==name) } for(let i=0;i<from_envs.length;i++){ let keyword="" let index=0 if(value_keyword){ keyword=from_envs[i].value.match(value_keyword) if(!keyword) return false else keyword=keyword[0] index=to_envs.findIndex(env=>{ let kt=env.match(keyword) if(kt && kt[0]==keyword) return true else return false }) } else index=to_envs.findIndex(env=>env.name==from_envs[i].name) if(index!=-1){ let id=to_envs[index]._id?to_envs[index]._id:to_envs[index].id to_envs[index].value=from_envs[i].value if(!Update_QL_Env(to_host,to_token,id,from_envs[i].name,from_envs[i].value,from_envs[i].remarks)) console.log(from_envs[i].name+"\n"+from_envs[i].value+"sync update failed") } else{ if(!Add_QL_Envs(to_host,to_token,from_envs[i].name,[from_envs[i]])) console.log(from_envs[i].name+"\n"+from_envs[i].value+"sync add failed") } } } //修改青龙配置文件变量 function Modify_QL_Config(host, token, envs) { //s.reply(JSON.stringify(envs)) let Config = Get_QL_Config(host, token, "config.sh") if (Config != null) { for (let i = 0; i < envs.length; i++) { let reg = new RegExp("(?<=export[ ]+" + envs[i].name + "[ ]*=[ ]*(\"|\'))[^\"\']*") if (Config.search(reg) == -1) Config += "\nexport " + envs[i].name + "=\"" + envs[i].value + "\"" else Config =Config.replace(reg, envs[i].value) } return Update_QL_Config(host, token, "config.sh", Config) } else return false } //修改配置文件变量envs:[{name:变量名,value:变量值}]并执行含关键词keywords:[]的任务 function Spy_QL_Task (host,token, envs, keywords) { if (!Modify_QL_Config(host, token, envs)) { return false } let crons = Search_QL_Crons(host, token, keywords) if(!crons) return false else return Start_QL_Crons(host, token, crons[0].id?[crons[0].id]:crons[0]._id) } //获取容器信息 function QLS(){ let updated=false let db=new Bucket("qinglong") let data=db.get("QLS") if(!data) return null else QLS=JSON.parse(data) QLS.forEach((ql,i)=>{ if(ql.token){ let envs=Get_QL_Envs(ql.host,ql.token) //检测token是否失效 if(!envs){ console.log(ql.name+"token疑似失效,重新获取") QLS[i]["token"]=Get_QL_Token(ql.host,ql.client_id,ql.client_secret) updated=true } } else{ console.log("获取"+ql.name+"token") QLS[i]["token"]=Get_QL_Token(ql.host,ql.client_id,ql.client_secret) updated=true } if(!QLS[i].token){ console.log(ql.name+"token获取失败,青龙管理容器配置错误或者青龙已挂掉\n") return null } }) if(updated) db.set("QLS",JSON.stringify(QLS)) return QLS } /****************用户*******************/ //获取青龙token function Get_QL_Token(host,client_id,client_secret){ let resp=request(host+"/open/auth/token?client_id="+client_id+"&client_secret="+client_secret) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //获取青龙登陆信息,未知错误 function QL_Login(host,name,password){ let resp=request({ url:host+"/open/user/login", method:"post", headers:{ "accept": "application/json" }, body:{"name": name,"password": password} }) try{ s.reply("login---"+data) return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //****************青龙订阅***************** */ /*{ "id": 4, "name": "KR", "url": "https://github.com/KingRan/KR.git", "schedule": "2 23 * * *", "interval_schedule": null, "type": "public-repo", "whitelist": "jd_|jx_|jdCookie", "blacklist": "activity|backUp|XAY|FLP|MN|AJ|YSLD|qbyq", "status": 1, "dependences": "^jd[^_]|USER|utils|function|sign|sendNotify|ql|JDJR", "extensions": null, "sub_before": null, "sub_after": null, "branch": null, "pull_type": null, "pull_option": null, "pid": 12934, "is_disabled": null, "log_path": "KingRan_KR/2023-01-18-23-02-00.log", "schedule_type": "crontab", "alias": "KingRan_KR", "proxy": null, "createdAt": "2023-01-16T15:52:19.105Z", "updatedAt": "2023-01-18T15:02:03.896Z" }*/ //获取青龙订阅，无searchValue返回所有订阅 function Get_QL_Subs(host,token,searchValue){ let option={ url:host+"/open/subscriptions", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } } if(searchValue) option.url+="?searchValue="+encodeURI(searchValue) let resp=request(option) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //立即执行订阅id,id为数组 function Start_QL_Subs(host,token,id){ let resp=request({ url:host+"/open/subscriptions/run", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } /****************青龙变量*******************/ /*环境变量对象 [{ "value": "", //值 "_id": "", //青龙2.11版本开始为id，自测 "created": , "status": 0, //状态，是否禁用 "timestamp": "Wed Jun 22 2022 17:55:12 GMT+0800 (中国标准时间)", "position": , "name": "", //变量名 "remarks": "" //变量备注 }]*/ //获取青龙环境变量,无searchValue返回所有环境变量对象 function Get_QL_Envs(host,token,searchValue){ let option={ url:host+"/open/envs", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } } if(searchValue) option.url+="?searchValue="+encodeURI(searchValue) let resp=request(option) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //根据id获取青龙环境变量详细信息，成功返回环境变量对象 function Get_QL_Env(host,token,id){ let resp=request({ url:host+"/open/envs/"+id, method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //添加青龙变量envs:[{name:变量名,value:变量值,remarks:变量备注}]数组 //成功返回环境变量对象 function Add_QL_Envs(host,token,envs){ let resp=request({ url:host+"/open/envs", method:"post", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:envs }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //修改青龙变量id:变量id,修改为name:变量名,value:变量值,remark:变量备注 //成功返回修改后的环境变量对象 function Update_QL_Env(host,token,id,name,value,remark){ let body=null if(typeof(id)=="string") body={"value": value,"name": name,"remarks": remark,"_id":id} else body={"value": value,"name": name,"remarks": remark,"id":id} let resp=request({ url:host+"/open/envs", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:body }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //删除青龙变量id,id为数组,提交成功即成功， function Delete_QL_Envs(host,token,id){ let resp=request({ url:host+"/open/envs", method:"delete", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //移动青龙变量_id从位置from至位置to,from与to为数组下标 function Move_QL_Env(host,token,id,from,to){ let resp=request({ url:host+"/open/envs/"+id+"/move", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{"fromIndex": from,"toIndex": to} }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //禁用青龙变量id,id为数组 function Disable_QL_Envs(host,token,id){ let resp=request({ url:host+"/open/envs/disable", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //启用青龙变量id,id为数组 function Enable_QL_Envs(host,token,id){ let resp=request({ url:host+"/open/envs/enable", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } /****************青龙配置文件*******************/ //获取青龙配置文件列表,成功返回[{title:filename,value:filename}]对象 function Get_QL_Configs(host,token){ let resp=request({ url:host+"/open/configs/files", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //获取青龙配置文件内容 function Get_QL_Config(host,token,filename){ let resp=request({ url:host+"/open/configs/"+filename, method:"get", headers:{ "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //修改配置文件 function Update_QL_Config(host,token,filename,content){ let resp=request({ url:host+"/open/configs/save", method:"post", headers:{ "Authorization":token.token_type+" "+token.token, "content-Type":"application/json" }, body:{"name":filename,"content":content} }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } /****************青龙日志*******************/ //获取青龙日志件列表,成功返回[{ "name": "","isDir": true, "files": []}]对象数组 function Get_QL_Logs(host,token){ let resp=request({ url:host+"/open/logs", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).dirs } catch(err){ console.log(JSON.stringify(resp)) return null } } //获取青龙日志内容,成功返回string内容 function Get_QL_Log(host,token,name,logfile){ let resp=request({ url:host+"/open/logs/"+name+"/"+logfile, method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } /****************青龙任务*******************/ //获取青龙定时任务，无searchValue返回所有任务 function Get_QL_Crons(host,token,searchValue){ let option={ url:host+"/open/crons", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } } if(searchValue) option.url+="?searchValue="+encodeURI(searchValue) let resp=request(option) try{ let data=JSON.parse(resp.body).data return data.data?data.data:data } catch(err){ console.log(JSON.stringify(resp)) } } //添加任务 function Add_QL_Cron(host,token,name,task,cron){ let resp=request({ url:host+"/open/crons", method:"post", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "command": task, "schedule": cron, "name": name } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //修改任务 function Update_QL_Cron(host,token,id,name,task,cron){ let body=null if(typeof(id)=="string") body={"command": task,"name": name,"schedule": cron,"_id":id} else body={"command": task,"name": name,"schedule": cron,"id":id} let resp=request({ url:host+"/open/crons", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:body }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //删除任务数组 function Delete_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons", method:"delete", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //禁用任务id,id为数组 function Disable_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/disable", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //启用任务id,id为数组 function Enable_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/enable", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //获取任务日志 function Get_QL_CronLog(host,token,id){ let resp=request({ url:host+"/open/crons/"+id+"/log", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //置顶任务id,id为数组 function Pin_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/pin", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //取消置顶任务id,id为数组 function Unpin_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/unpin", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //立即执行任务id,id为数组 function Start_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/run", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //停止任务id,id为数组 function Stop_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/stop", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //未知 function Get_QL_CronImport(host,token){ let resp=request({ url:host+"/open/crons/import", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ return null } } /****************青龙脚本*******************/ //本部分所有路径均指/ql/scripts/的相对路径 //获取所有脚本,成功返回脚本信息对象 function Get_QL_Scripts(host,token){ let resp=request({ url:host+"/open/scripts/files", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //获取脚本内容,parent为路径 function Get_QL_Script(host,token,filename,parent){ let resp=request({ url:host+"/open/scripts/"+filename+"?path="+parent, method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //添加脚本,文件名，路径，脚本内容，原始文件名(?) function Add_QL_Script(host,token,filename,path,content,originFilename){ let resp=request({ url:host+"/open/scripts", method:"post", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "filename": filename, "path": path, "content": content, "originFilename": originFilename } }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //修改脚本文件 function Update_QL_Script(host,token,filename,path,content){ let resp=request({ url:host+"/open/scripts", method:"post", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "path":path, "filename":filename, "content":content } }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //删除脚本 function Delete_QL_Script(host,token,filename,path){ let resp=request({ url:host+"/open/scripts", method:"delete", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "filename": filename, "path": path } }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //执行脚本 function Task_QL_Script(host,token,filename,path){ let resp=request({ url:host+"/open/scripts/run", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "filename": filename, "path": path } }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //停止执行脚本,未知错误 function Stop_QL_Script(host,token,filename,path){ let resp=request({ url:host+"/open/scripts/stop", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "filename": filename, "path": path } }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } /****************系统管理*******************/ //获取青龙版本，未知错误，获取失败 function Get_QL_Version(host,token){ let resp=request({ url:host+"/open/system", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //获取青龙日志删除频率,未知错误，获取失败 function Get_QL_SeqLogClear(host,token){ let resp=request({ url:host+"/open/system/log/remove", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } {/tabs-pane}{tabs-pane label="something"}/* * @author https://t.me/sillyGirl_Plugin * @rule something * @origin * @module true * @create_at 2021-09-09 16:30:33 * @description 一些通用函数和网络接口以及数据 * @version v1.0.6 * @title something * @public false */ module.exports={ NotifyPinInGroup, NotifyPin, NotifyMainKey, NotifyMasters, GetBind, ToHyperLink, ToEasyCopy, CQ_Image, USER_AGENT, JD_UserInfo, JD_BeanInfo, JD_ExpireBean, JD_RedPacket, JD_isLogin, WallDecode, WindfggDecode, NolanDecode, SendToTG, GetFile } function formatStringLen(strVal, len,padChar){ if (!strVal) { return null } let pad=padChar||" " let count=0 for(let i=0;i<strVal.length;i++){ if(strVal.charCodeAt(i)>255) count=count+2 else count=count+1 } //console.log(count) for(i=0;i<len-count;i++) strVal+=padChar return strVal } function CQ_Image(url){ return "[CQ:image,cache=0,file="+url+"]" } //tg快捷复制 function ToEasyCopy(imtype,title,msg){ if(imtype=="pgm") return "【**"+title+"**】`"+msg+"`" else if(imtype=="tg") return "【*"+title+"*】`"+msg+"`" // else if(imtype=="qq") // return else return "【" + title + "】"+msg } //获取imtype平台用户uid所绑定的京东账号pin function GetBind(imtype,uid){ let db=new Bucket("pin"+imtype.toUpperCase()) let allpins=db.keys(); let pin=[] for(let i=0;i<allpins.length;i++) if(db.get(allpins[i])==uid) pin.push(allpins[i]) return pin } //管理员通知 function NotifyMasters(msg){ const sillyGirl=new SillyGirl() let types=["qq","tg","wx"] types.forEach(type=>{ let matsers=(new Bucket(type).get("masters")) matsers.split("&").forEach(id=> sillyGirl.push({ platform: type, userId: id, content: msg }) ) }) } //在totype平台的群cid中向绑定京东账号pin的用户通知msg function NotifyPinInGroup(totype,cid,pin,msg){ let uid=(new Bucket("pin"+totype.toUpperCase())).get(pin) if(uid){ sillyGirl.push({ platform:totype, userID:uid, groupCode:cid, content:msg }) return true } else return false } //向绑定pin的用户全平台推送msg，返回该用户所绑定的所有平台 function NotifyPin(pin,msg){ const sillyGirl=new SillyGirl() let types=["qq","tg","wx","sxg","wxmp"] let to=[] types.forEach(type=>{ let uid=(new Bucket("pin"+type.toUpperCase())).get(pin) if(uid) to.push({type:type,id:uid}) }) for(let i=0;i<to.length;i++) sillyGirl.push({ platform:to[i].type, userID:to[i].id, content:msg, }) return to } //获取傻妞数据库mainkey下设置的通知渠道发送msg消息 function NotifyMainKey(mainKey, isGroup, msg,token) { const sillyGirl=new SillyGirl() let record = [] //记录已通知[{imType:qq/tg/wx,id:ID}] let NotifyTo = { platform: "", userID: "", groupCode: "", content: msg } let dbn = new Bucket(mainKey) let toType = dbn.keys() for (let i = 0; i < toType.length; i++) { let ids = dbn.get(toType[i]).split("&") if(toType[i]=="tg"){ ids.forEach(id=>{ SendToTG(id,msg,null,token) record.push({ imType: toType[i], id: id }) }) } else{ NotifyTo.platform = toType[i] for (let j = 0; j < ids.length; j++) { if (isGroup) NotifyTo.groupCode = ids[j] else NotifyTo.userID = ids[j] sillyGirl.push(NotifyTo) record.push({ imType: toType[i], id: ids[j] }) } } } return record } //转各平台超链接 function ToHyperLink(type,url,title){ if(type=="tg"||type=="pgm") return "["+title+"]("+url+")" else if(type=="qq") return "[CQ:share,url="+url+",title="+title+"]" else return "【"+title+"】\n"+url } //***************京东api********************/ //用户登陆状态 function JD_isLogin(ck){ try{ return Number(JSON.parse(request({ url:"https://plogin.m.jd.com/cgi-bin/ml/islogin", headers:{ "Cookie": ck, "User-Agent": USER_AGENT() } }).body).islogin) } catch(err){ return null } } //获取ck对应账号的信息 function JD_UserInfo(ck){ let resp=request({ url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", method:"get", // dataType:"json", headers: { "User-Agent": USER_AGENT(), "Cookie": ck } }) try{ return JSON.parse(resp.body).data } catch(err){ return null } } //获取ck对应账号最近days天的每一项收入 //各项收入详情[{eventMassage:活动名,amount:获得京豆数量,date:获得时间,...}] function JD_BeanInfo(ck,days){ let data=JD_BeanInfo2(ck,days) // return data?data:JD_BeanInfo1(ck,days) if(data) return data else{ console.log("切换查询接口") return JD_BeanInfo1(ck,days) } } function JD_BeanInfo1(ck,days){ let ua= USER_AGENT() let page=1 //京豆收入页 let info=[] //每一项收入活动详情记录 let limit=100 //死循环保险 let day="" //记录前一项收入的日期，以统计记录天数 let count=0 //天数统计 while(limit-->0){ let body=encodeURI(JSON.stringify({ "pageSize": "200", "page": page.toString() })) let data=request({ url: "https://api.m.jd.com/client.action?functionId=getJingBeanBalanceDetail", method:"post", dataType:"json", body: "body="+body+"&appid=ld", headers: { "User-Agent": ua, "Host": "api.m.jd.com", "Content-Type": "application/x-www-form-urlencoded", "Cookie": ck } }) if(data.status==200 && data.body.code==0){ for(let i=0;i<data.body.detailList.length;i++){ let infoday=data.body.detailList[i].date.match(/\d+(?= )/)[0] //收入项时间-天 if(day!=infoday){ day=infoday if(count==days) return info count++ } info.push(data.body.detailList[i]) } } else return null sleep(500) page++ } } function JD_BeanInfo2(ck,days){ let ua= USER_AGENT() let page=1 //京豆收入页 let info=[] //每一项收入活动详情记录 let limit=100 //死循环保险 let day="" //记录前一项收入的日期，以统计记录天数 let count=0 //天数统计 while(limit-->0){ let data=request({ url:"https://bean.m.jd.com/beanDetail/detail.json?page="+page, dataType:"json", headers:{ "Cookie":ck, "User-Agent":ua } }) if(data.status==200 && data.body.success){ for(let i=0;i<data.body.jingDetailList.length;i++){ let infoday=data.body.jingDetailList[i].date.match(/\d+(?= )/)[0] //收入项时间-天 if(day!=infoday){ day=infoday if(count==days) return info count++ } info.push(data.body.jingDetailList[i]) } } else return null sleep(500) page++ } } //获取ck对应账号7天内过期京豆 function JD_ExpireBean(ck){ let resp=request({ url:`https://wq.jd.com/activep3/singjd/queryexpirejingdou?_=${Date.now()}&g_login_type=1&sceneval=2`, headers:{ "Cookie": ck, "Referer":"https://wqs.jd.com/promote/201801/bean/mybean.html", "User-Agent": USER_AGENT() } }) try{ return JSON.parse(resp.body.slice(23, -13)).expirejingdou } catch(err){ return null } } //获取ck对应账号红包数据 function JD_RedPacket(ck){ let resp=request({ url:`https://m.jingxi.com/user/info/QueryUserRedEnvelopesV2?type=1&orgFlag=JD_PinGou_New&page=1&cashRedType=1&redBalanceFlag=1&channel=1&_=${+new Date()}&sceneval=2&g_login_type=1&g_ty=ls`, headers:{ "Cookie": ck, "Referer":"https://st.jingxi.com/my/redpacket.shtml?newPg=App&jxsid=16156262265849285961", "User-Agent": USER_AGENT() } }) try{ let data=JSON.parse(resp.body) if(data.msg=="success") return data.data else return null } catch(err){ return null } } const USER_AGENTS = [ 'jdltapp;iPad;3.7.0;14.4;network/wifi;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/0;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/1436;psn/BS6Y9SAiw0IpJ4ro7rjSOkCRZTgR3z2K|10;psq/5;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/10.5;jdv/;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/oppo;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.1;59d6ae6e8387bd09fe046d5b8918ead51614e80a;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone12,1;hasOCPay/0;appBuild/1017;supportBestPay/0;addressid/;pv/1.26;apprpd/;ref/JDLTSubMainPageViewController;psq/0;ads/;psn/59d6ae6e8387bd09fe046d5b8918ead51614e80a|3;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;22d679c006bf9c087abf362cf1d2e0020ebb8798;network/wifi;ADID/10857A57-DDF8-4A0D-A548-7B8F43AC77EE;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPhone12,1;addressid/2378947694;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/15.7;apprpd/Allowance_Registered;ref/JDLTTaskCenterViewController;psq/6;ads/;psn/22d679c006bf9c087abf362cf1d2e0020ebb8798|22;jdv/0|kong|t_1000170135|tuiguang|notset|1614153044558|1614153044;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;2616935633265383-5333463636261326;network/UNKNOWN;model/M2007J3SC;addressid/1840745247;aid/ba9e3b5853dccb1b;oaid/371d8af7dd71e8d5;osVer/29;appBuild/1436;psn/t7JmxZUXGkimd4f9Jdul2jEeuYLwxPrm|8;psq/6;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/5.6;jdv/;ref/com.jd.jdlite.lib.jdlitemessage.view.activity.MessageCenterMainActivity;partner/xiaomi;apprpd/MessageCenter_MessageMerge;eufv/1;Mozilla/5.0 (Linux; Android 10; M2007J3SC Build/QKQ1.200419.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045135 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.3;d7beab54ae7758fa896c193b49470204fbb8fce9;network/4g;ADID/97AD46C9-6D49-4642-BF6F-689256673906;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;9;D246836333735-3264353430393;network/4g;model/MIX 2;addressid/138678023;aid/bf8bcf1214b3832a;oaid/308540d1f1feb2f5;osVer/28;appBuild/1436;psn/Z/rGqfWBY/h5gcGFnVIsRw==|16;psq/3;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 9;osv/9;pv/13.7;jdv/;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/xiaomi;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 9; MIX 2 Build/PKQ1.190118.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045135 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;eb5a9e7e596e262b4ffb3b6b5c830984c8a5c0d5;network/wifi;ADID/5603541B-30C1-4B5C-A782-20D0B569D810;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/1041002757;hasOCPay/0;appBuild/101;supportBestPay/0;pv/34.6;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/5;ads/;psn/eb5a9e7e596e262b4ffb3b6b5c830984c8a5c0d5|44;jdv/0|androidapp|t_335139774|appshare|CopyURL|1612612940307|1612612944;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;21631ed983b3e854a3154b0336413825ad0d6783;network/3g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,4;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.47;apprpd/;ref/JDLTSubMainPageViewController;psq/8;ads/;psn/21631ed983b3e854a3154b0336413825ad0d6783|9;jdv/0|direct|-|none|-|1614150725100|1614225882;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;500a795cb2abae60b877ee4a1930557a800bef1c;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone8,1;addressid/669949466;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/9.11;apprpd/;ref/JDLTSubMainPageViewController;psq/10;ads/;psn/500a795cb2abae60b877ee4a1930557a800bef1c|11;jdv/;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPad;3.7.0;14.4;f5e7b7980fb50efc9c294ac38653c1584846c3db;network/wifi;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPad6,3;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/231.11;pap/JA2020_3112531|3.7.0|IOS 14.4;apprpd/;psn/f5e7b7980fb50efc9c294ac38653c1584846c3db|305;usc/kong;jdv/0|kong|t_1000170135|tuiguang|notset|1613606450668|1613606450;umd/tuiguang;psq/2;ucp/t_1000170135;app_device/IOS;utr/notset;ref/JDLTRedPacketViewController;adk/;ads/;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;19fef5419f88076c43f5317eabe20121d52c6a61;network/wifi;ADID/00000000-0000-0000-0000-000000000000;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,8;addressid/3430850943;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/10.4;apprpd/;ref/JDLTSubMainPageViewController;psq/3;ads/;psn/19fef5419f88076c43f5317eabe20121d52c6a61|16;jdv/0|kong|t_1001327829_|jingfen|f51febe09dd64b20b06bc6ef4c1ad790#/|1614096460311|1614096511;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'jdltapp;iPhone;3.7.0;12.2;f995bc883282f7c7ea9d7f32da3f658127aa36c7;network/4g;ADID/9F40F4CA-EA7C-4F2E-8E09-97A66901D83E;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,4;addressid/525064695;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/11.11;apprpd/;ref/JDLTSubMainPageViewController;psq/2;ads/;psn/f995bc883282f7c7ea9d7f32da3f658127aa36c7|22;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 12.2;Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;5366566313931326-6633931643233693;network/wifi;model/Mi9 Pro 5G;addressid/0;aid/5fe6191bf39a42c9;oaid/e3a9473ef6699f75;osVer/29;appBuild/1436;psn/b3rJlGi AwLqa9AqX7Vp0jv4T7XPMa0o|5;psq/4;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/5.4;jdv/;ref/HomeFragment;partner/xiaomi;apprpd/Home_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; Mi9 Pro 5G Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045135 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;4e6b46913a2e18dd06d6d69843ee4cdd8e033bc1;network/3g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,2;addressid/666624049;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/54.11;apprpd/MessageCenter_MessageMerge;ref/MessageCenterController;psq/10;ads/;psn/4e6b46913a2e18dd06d6d69843ee4cdd8e033bc1|101;jdv/0|kong|t_2010804675_|jingfen|810dab1ba2c04b8588c5aa5a0d44c4bd|1614183499;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.2;c71b599e9a0bcbd8d1ad924d85b5715530efad06;network/wifi;ADID/751C6E92-FD10-4323-B37C-187FD0CF0551;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,8;addressid/4053561885;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/263.8;apprpd/;ref/JDLTSubMainPageViewController;psq/2;ads/;psn/c71b599e9a0bcbd8d1ad924d85b5715530efad06|481;jdv/0|kong|t_1001610202_|jingfen|3911bea7ee2f4fcf8d11fdf663192bbe|1614157052210|1614157056;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.2;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;2d306ee3cacd2c02560627a5113817ebea20a2c9;network/4g;ADID/A346F099-3182-4889-9A62-2B3C28AB861E;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,3;hasOCPay/0;appBuild/1017;supportBestPay/0;addressid/;pv/1.35;apprpd/Allowance_Registered;ref/JDLTTaskCenterViewController;psq/0;ads/;psn/2d306ee3cacd2c02560627a5113817ebea20a2c9|2;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;28355aff16cec8bcf3e5728dbbc9725656d8c2c2;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,2;addressid/833058617;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.10;apprpd/;ref/JDLTWebViewController;psq/9;ads/;psn/28355aff16cec8bcf3e5728dbbc9725656d8c2c2|5;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;24ddac73a3de1b91816b7aedef53e97c4c313733;network/4g;ADID/598C6841-76AC-4512-AA97-CBA940548D70;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPhone11,6;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/12.6;apprpd/;ref/JDLTSubMainPageViewController;psq/5;ads/;psn/24ddac73a3de1b91816b7aedef53e97c4c313733|23;jdv/0|kong|t_1000170135|tuiguang|notset|1614126110904|1614126110;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;d7732ba60c8ff73cc3f5ba7290a3aa9551f73a1b;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone12,1;addressid/25239372;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/8.6;apprpd/;ref/JDLTSubMainPageViewController;psq/5;ads/;psn/d7732ba60c8ff73cc3f5ba7290a3aa9551f73a1b|14;jdv/0|kong|t_1001226363_|jingfen|5713234d1e1e4893b92b2de2cb32484d|1614182989528|1614182992;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;ca1a32afca36bc9fb37fd03f18e653bce53eaca5;network/wifi;ADID/3AF380AB-CB74-4FE6-9E7C-967693863CA3;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPhone8,1;addressid/138323416;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/72.12;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/ca1a32afca36bc9fb37fd03f18e653bce53eaca5|109;jdv/0|kong|t_1000536212_|jingfen|c82bfa19e33a4269a5884ffc614790f4|1614141246;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;7346933333666353-8333366646039373;network/wifi;model/ONEPLUS A5010;addressid/138117973;aid/7d933f6583cfd097;oaid/;osVer/29;appBuild/1436;psn/T/eqfRSwp8VKEvvXyEunq09Cg2MUkiQ5|17;psq/4;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/11.4;jdv/0|kong|t_1001849073_|jingfen|495a47f6c0b8431c9d460f61ad2304dc|1614084403978|1614084407;ref/HomeFragment;partner/oppo;apprpd/Home_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;android;3.7.0;11;4626269356736353-5353236346334673;network/wifi;model/M2006J10C;addressid/0;aid/dbb9e7655526d3d7;oaid/66a7af49362987b0;osVer/30;appBuild/1436;psn/rQRQgJ 4 S3qkq8YDl28y6jkUHmI/rlX|3;psq/4;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 11;osv/11;pv/3.4;jdv/;ref/HomeFragment;partner/xiaomi;apprpd/Home_Main;eufv/1;Mozilla/5.0 (Linux; Android 11; M2006J10C Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045513 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;78fc1d919de0c8c2de15725eff508d8ab14f9c82;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,1;addressid/137829713;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/23.11;apprpd/;ref/JDLTSubMainPageViewController;psq/10;ads/;psn/78fc1d919de0c8c2de15725eff508d8ab14f9c82|34;jdv/0|iosapp|t_335139774|appshare|Wxfriends|1612508702380|1612534293;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;0373263343266633-5663030363465326;network/wifi;model/Redmi Note 7;addressid/590846082;aid/07b34bf3e6006d5b;oaid/17975a142e67ec92;osVer/29;appBuild/1436;psn/OHNqtdhQKv1okyh7rB3HxjwI00ixJMNG|4;psq/3;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/2.3;jdv/;ref/activityId=8a8fabf3cccb417f8e691b6774938bc2;partner/xiaomi;apprpd/jsbqd_home;eufv/1;Mozilla/5.0 (Linux; Android 10; Redmi Note 7 Build/QKQ1.190910.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.152 Mobile Safari/537.36', 'jdltapp;android;3.7.0;10;3636566623663623-1693635613166646;network/wifi;model/ASUS_I001DA;addressid/1397761133;aid/ccef2fc2a96e1afd;oaid/;osVer/29;appBuild/1436;psn/T8087T0D82PHzJ4VUMGFrfB9dw4gUnKG|76;psq/5;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/73.5;jdv/0|kong|t_1002354188_|jingfen|2335e043b3344107a2750a781fde9a2e#/|1614097081426|1614097087;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/yingyongbao;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; ASUS_I001DA Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,2;addressid/138419019;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/5.7;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/6;ads/;psn/4ee6af0db48fd605adb69b63f00fcbb51c2fc3f0|9;jdv/0|direct|-|none|-|1613705981655|1613823229;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/wifi;ADID/F9FD7728-2956-4DD1-8EDD-58B07950864C;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,1;addressid/1346909722;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/30.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/40d4d4323eb3987226cae367d6b0d8be50f2c7b3|39;jdv/0|kong|t_1000252057_0|tuiguang|eba7648a0f4445aa9cfa6f35c6f36e15|1613995717959|1613995723;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;ADID/5D306F0D-A131-4B26-947E-166CCB9BFFFF;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,6;addressid/138164461;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/7.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/d40e5d4a33c100e8527f779557c347569b49c304|7;jdv/0|kong|t_1001226363_|jingfen|3bf5372cb9cd445bbb270b8bc9a34f00|1608439066693|1608439068;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPad;3.7.0;14.5;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPad8,9;hasOCPay/0;appBuild/1017;supportBestPay/0;addressid/;pv/1.20;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/5;ads/;psn/d9f5ddaa0160a20f32fb2c8bfd174fae7993c1b4|3;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.5;Mozilla/5.0 (iPad; CPU OS 14_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/wifi;ADID/31548A9C-8A01-469A-B148-E7D841C91FD0;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/10.5;apprpd/;ref/JDLTSubMainPageViewController;psq/4;ads/;psn/a858fb4b40e432ea32f80729916e6c3e910bb922|12;jdv/0|direct|-|none|-|1613898710373|1613898712;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/2237496805;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/13.6;apprpd/;ref/JDLTSubMainPageViewController;psq/5;ads/;psn/48e495dcf5dc398b4d46b27e9f15a2b427a154aa|15;jdv/0|direct|-|none|-|1613354874698|1613952828;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;3346332626262353-1666434336539336;network/wifi;model/ONEPLUS A6000;addressid/0;aid/3d3bbb25af44c59c;oaid/;osVer/29;appBuild/1436;psn/ECbc2EqmdSa7mDF1PS1GSrV/Tn7R1LS1|6;psq/8;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/2.67;jdv/0|direct|-|none|-|1613822479379|1613991194;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/oppo;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A6000 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;android;3.7.0;8.1.0;8363834353530333132333132373-43D2930366035323639333662383;network/wifi;model/16th Plus;addressid/0;aid/f909e5f2c464c7c6;oaid/;osVer/27;appBuild/1436;psn/c21YWvVr77Hn6 pOZfxXGY4TZrre1 UOL5hcPbCEDMo=|3;psq/10;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 8.1.0;osv/8.1.0;pv/2.15;jdv/;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/jsxdlyqj09;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 8.1.0; 16th Plus Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045514 Mobile Safari/537.36', 'jdltapp;android;3.7.0;11;1343467336264693-3343562673463613;network/wifi;model/Mi 10 Pro;addressid/0;aid/14d7cbd934eb7dc1;oaid/335f198546eb3141;osVer/30;appBuild/1436;psn/ZcQh/Wov sNYfZ6JUjTIUBu28 KT0T3u|1;psq/24;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 11;osv/11;pv/1.24;jdv/;ref/com.jd.jdlite.lib.jdlitemessage.view.activity.MessageCenterMainActivity;partner/xiaomi;apprpd/MessageCenter_MessageMerge;eufv/1;Mozilla/5.0 (Linux; Android 11; Mi 10 Pro Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36', 'jdltapp;android;3.7.0;10;8353636393732346-6646931673935346;network/wifi;model/MI 8;addressid/1969998059;aid/8566972dfd9a795d;oaid/4a8b773c3e307386;osVer/29;appBuild/1436;psn/PhYbUtCsCJo r 1b8hwxjnY8rEv5S8XC|383;psq/14;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/374.14;jdv/0|iosapp|t_335139774|liteshare|CopyURL|1609306590175|1609306596;ref/com.jd.jdlite.lib.jdlitemessage.view.activity.MessageCenterMainActivity;partner/jsxdlyqj09;apprpd/MessageCenter_MessageMerge;eufv/1;Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;6d343c58764a908d4fa56609da4cb3a5cc1396d3;network/wifi;ADID/4965D884-3E61-4C4E-AEA7-9A8CE3742DA7;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,1;addressid/70390480;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.24;apprpd/MyJD_Main;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fafter%2Findex.action%3FcategoryId%3D600%26v%3D6%26entry%3Dm_self_jd;psq/4;ads/;psn/6d343c58764a908d4fa56609da4cb3a5cc1396d3|17;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.6.1;4606ddccdfe8f343f8137de7fea7f91fc4aef3a3;network/4g;ADID/C6FB6E20-D334-45FA-818A-7A4C58305202;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPhone10,1;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/5.9;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/8;ads/;psn/4606ddccdfe8f343f8137de7fea7f91fc4aef3a3|5;jdv/0|iosapp|t_335139774|liteshare|Qqfriends|1614206359106|1614206366;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.6.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;3b6e79334551fc6f31952d338b996789d157c4e8;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,1;addressid/138051400;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/14.34;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/12;ads/;psn/3b6e79334551fc6f31952d338b996789d157c4e8|46;jdv/0|kong|t_1001707023_|jingfen|e80d7173a4264f4c9a3addcac7da8b5d|1613837384708|1613858760;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;1346235693831363-2373837393932673;network/wifi;model/LYA-AL00;addressid/3321567203;aid/1d2e9816278799b7;oaid/00000000-0000-0000-0000-000000000000;osVer/29;appBuild/1436;psn/45VUZFTZJkhP5fAXbeBoQ0 O2GCB I|7;psq/5;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/5.8;jdv/0|iosapp|t_335139774|liteshare|CopyURL|1614066210320|1614066219;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/huawei;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; LYA-AL00 Build/HUAWEILYA-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.3;c2a8854e622a1b17a6c56c789f832f9d78ef1ba7;network/wifi;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPhone12,5;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/3.9;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/8;ads/;psn/c2a8854e622a1b17a6c56c789f832f9d78ef1ba7|6;jdv/0|direct|-|none|-|1613541016735|1613823566;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;9;;network/wifi;model/MIX 2S;addressid/;aid/f87efed6d9ed3c65;oaid/94739128ef9dd245;osVer/28;appBuild/1436;psn/R7wD/OWkQjYWxax1pDV6kTIDFPJCUid7C/nl2hHnUuI=|3;psq/13;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 9;osv/9;pv/1.42;jdv/;ref/activityId=8a8fabf3cccb417f8e691b6774938bc2;partner/xiaomi;apprpd/jsbqd_home;eufv/1;Mozilla/5.0 (Linux; Android 9; MIX 2S Build/PKQ1.180729.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;network/wifi;Mozilla/5.0 (Linux; Android 10; Redmi Note 7 Build/QKQ1.190910.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.152 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;network/3g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'jdltapp;iPad;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPad6,3;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/231.11;pap/JA2020_3112531|3.7.0|IOS 14.4;apprpd/;psn/f5e7b7980fb50efc9c294ac38653c1584846c3db|305;usc/kong;jdv/0|kong|t_1000170135|tuiguang|notset|1613606450668|1613606450;umd/tuiguang;psq/2;ucp/t_1000170135;app_device/IOS;utr/notset;ref/JDLTRedPacketViewController;adk/;ads/;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone8,1;addressid/669949466;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/9.11;apprpd/;ref/JDLTSubMainPageViewController;psq/10;ads/;psn/500a795cb2abae60b877ee4a1930557a800bef1c|11;jdv/;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/3g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,4;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.47;apprpd/;ref/JDLTSubMainPageViewController;psq/8;ads/;psn/21631ed983b3e854a3154b0336413825ad0d6783|9;jdv/0|direct|-|none|-|1614150725100|1614225882;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/3g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,4;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.47;apprpd/;ref/JDLTSubMainPageViewController;psq/8;ads/;psn/21631ed983b3e854a3154b0336413825ad0d6783|9;jdv/0|direct|-|none|-|1614150725100|1614225882;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/3.15;apprpd/;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fchat%2Findex.action%3Fentry%3Djd_m_JiSuCommodity%26pid%3D7763388%26lng%3D118.159665%26lat%3D24.504633%26sid%3D31cddc2d58f6e36bf2c31c4e8a79767w%26un_area%3D16_1315_3486_0;psq/12;ads/;psn/c10e0db6f15dec57a94637365f4c3d43e05bbd48|4;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/3.15;apprpd/;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fchat%2Findex.action%3Fentry%3Djd_m_JiSuCommodity%26pid%3D7763388%26lng%3D118.159665%26lat%3D24.504633%26sid%3D31cddc2d58f6e36bf2c31c4e8a79767w%26un_area%3D16_1315_3486_0;psq/12;ads/;psn/c10e0db6f15dec57a94637365f4c3d43e05bbd48|4;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/3.15;apprpd/;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fchat%2Findex.action%3Fentry%3Djd_m_JiSuCommodity%26pid%3D7763388%26lng%3D118.159665%26lat%3D24.504633%26sid%3D31cddc2d58f6e36bf2c31c4e8a79767w%26un_area%3D16_1315_3486_0;psq/12;ads/;psn/c10e0db6f15dec57a94637365f4c3d43e05bbd48|4;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,6;hasOCPay/0;appBuild/1017;supportBestPay/0;addressid/2813715704;pv/67.38;apprpd/MyJD_Main;ref/https%3A%2F%2Fh5.m.jd.com%2FbabelDiy%2FZeus%2F2ynE8QDtc2svd36VowmYWBzzDdK6%2Findex.html%3Flng%3D103.957532%26lat%3D30.626962%26sid%3D4fe8ef4283b24723a7bb30ee87c18b2w%26un_area%3D22_1930_49324_52512;psq/4;ads/;psn/5aef178f95931bdbbde849ea9e2fc62b18bc5829|127;jdv/0|direct|-|none|-|1612588090667|1613822580;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone12,1;addressid/3104834020;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.6;apprpd/;ref/JDLTSubMainPageViewController;psq/5;ads/;psn/c633e62b5a4ad0fdd93d9862bdcacfa8f3ecef63|6;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,1;addressid/1346909722;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/30.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/40d4d4323eb3987226cae367d6b0d8be50f2c7b3|39;jdv/0|kong|t_1000252057_0|tuiguang|eba7648a0f4445aa9cfa6f35c6f36e15|1613995717959|1613995723;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/wifi;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,1;addressid/1346909722;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/30.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/40d4d4323eb3987226cae367d6b0d8be50f2c7b3|39;jdv/0|kong|t_1000252057_0|tuiguang|eba7648a0f4445aa9cfa6f35c6f36e15|1613995717959|1613995723;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,6;addressid/138164461;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/7.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/d40e5d4a33c100e8527f779557c347569b49c304|7;jdv/0|kong|t_1001226363_|jingfen|3bf5372cb9cd445bbb270b8bc9a34f00|1608439066693|1608439068;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,6;addressid/138164461;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/7.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/d40e5d4a33c100e8527f779557c347569b49c304|7;jdv/0|kong|t_1001226363_|jingfen|3bf5372cb9cd445bbb270b8bc9a34f00|1608439066693|1608439068;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,6;addressid/138164461;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/7.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/d40e5d4a33c100e8527f779557c347569b49c304|7;jdv/0|kong|t_1001226363_|jingfen|3bf5372cb9cd445bbb270b8bc9a34f00|1608439066693|1608439068;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/2237496805;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/13.6;apprpd/;ref/JDLTSubMainPageViewController;psq/5;ads/;psn/48e495dcf5dc398b4d46b27e9f15a2b427a154aa|15;jdv/0|direct|-|none|-|1613354874698|1613952828;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;network/wifi;model/ONEPLUS A6000;addressid/0;aid/3d3bbb25af44c59c;oaid/;osVer/29;appBuild/1436;psn/ECbc2EqmdSa7mDF1PS1GSrV/Tn7R1LS1|6;psq/8;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/2.67;jdv/0|direct|-|none|-|1613822479379|1613991194;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/oppo;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A6000 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;android;3.7.0;8.1.0;network/wifi;model/16th Plus;addressid/0;aid/f909e5f2c464c7c6;oaid/;osVer/27;appBuild/1436;psn/c21YWvVr77Hn6 pOZfxXGY4TZrre1 UOL5hcPbCEDMo=|3;psq/10;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 8.1.0;osv/8.1.0;pv/2.15;jdv/;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/jsxdlyqj09;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 8.1.0; 16th Plus Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045514 Mobile Safari/537.36', 'jdltapp;android;3.7.0;11;network/wifi;model/Mi 10 Pro;addressid/0;aid/14d7cbd934eb7dc1;oaid/335f198546eb3141;osVer/30;appBuild/1436;psn/ZcQh/Wov sNYfZ6JUjTIUBu28 KT0T3u|1;psq/24;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 11;osv/11;pv/1.24;jdv/;ref/com.jd.jdlite.lib.jdlitemessage.view.activity.MessageCenterMainActivity;partner/xiaomi;apprpd/MessageCenter_MessageMerge;eufv/1;Mozilla/5.0 (Linux; Android 11; Mi 10 Pro Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36', 'jdltapp;android;3.7.0;10;network/wifi;model/MI 8;addressid/1969998059;aid/8566972dfd9a795d;oaid/4a8b773c3e307386;osVer/29;appBuild/1436;psn/PhYbUtCsCJo r 1b8hwxjnY8rEv5S8XC|383;psq/14;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/374.14;jdv/0|iosapp|t_335139774|liteshare|CopyURL|1609306590175|1609306596;ref/com.jd.jdlite.lib.jdlitemessage.view.activity.MessageCenterMainActivity;partner/jsxdlyqj09;apprpd/MessageCenter_MessageMerge;eufv/1;Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone8,4;addressid/1477231693;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/21.15;apprpd/MyJD_Main;ref/https%3A%2F%2Fgold.jd.com%2F%3Flng%3D0.000000%26lat%3D0.000000%26sid%3D4584eb84dc00141b0d58e000583a338w%26un_area%3D19_1607_3155_62114;psq/0;ads/;psn/2c822e59db319590266cc83b78c4a943783d0077|46;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,1;addressid/70390480;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.24;apprpd/MyJD_Main;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fafter%2Findex.action%3FcategoryId%3D600%26v%3D6%26entry%3Dm_self_jd;psq/4;ads/;psn/6d343c58764a908d4fa56609da4cb3a5cc1396d3|17;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,1;addressid/70390480;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.24;apprpd/MyJD_Main;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fafter%2Findex.action%3FcategoryId%3D600%26v%3D6%26entry%3Dm_self_jd;psq/4;ads/;psn/6d343c58764a908d4fa56609da4cb3a5cc1396d3|17;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,1;addressid/70390480;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.24;apprpd/MyJD_Main;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fafter%2Findex.action%3FcategoryId%3D600%26v%3D6%26entry%3Dm_self_jd;psq/4;ads/;psn/6d343c58764a908d4fa56609da4cb3a5cc1396d3|17;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,1;addressid/70390480;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.24;apprpd/MyJD_Main;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fafter%2Findex.action%3FcategoryId%3D600%26v%3D6%26entry%3Dm_self_jd;psq/4;ads/;psn/6d343c58764a908d4fa56609da4cb3a5cc1396d3|17;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone12,3;hasOCPay/0;appBuild/1017;supportBestPay/0;addressid/;pv/3.49;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/7;ads/;psn/9e0e0ea9c6801dfd53f2e50ffaa7f84c7b40cd15|6;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPad;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPad7,5;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.14;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/3;ads/;psn/956c074c769cd2eeab2e36fca24ad4c9e469751a|8;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', ] function USER_AGENT(){ return USER_AGENTS[Math.floor(Math.random()*USER_AGENTS.length)] } /*************第三方私人api******************/ //京东口令解析-wall function WallDecode(code) { let resp = request({ url: "http://ailoveu.eu.org:19840/jCommand", headers: { "User-Agent": "Mozilla/5.0 (Linux; U; Android 11; zh-cn; KB2000 Build/RP1A.201005.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 HeyTapBrowser/40.7.19.3 uuid/cddaa248eaf1933ddbe92e9bf4d72cb3", "Content-Type": "application/json;charset=utf-8", "token": (new Bucket("otto")).get("WALL") }, method: "post", dataType: "json", body: { "code": code } }) try { let data = resp.body if (data.code == 200 && typeof(data.data) != "string") return data.data else return null } catch (err) { return null } } //京东口令解析-Windfgg function WindfggDecode(code) { let data = request({ url: "http://api.windfgg.cf/jd/code", headers: { "User-Agent": "Mozilla/5.0 (Linux; U; Android 11; zh-cn; KB2000 Build/RP1A.201005.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 HeyTapBrowser/40.7.19.3 uuid/cddaa248eaf1933ddbe92e9bf4d72cb3", "Content-Type": "application/json;charset=utf-8", "Authorization": "Bearer " + (new Bucket("otto")).get("WindfggToken") }, method: "post", dataType: "json", body: { "code": code } }) try { if (data.code == 200) return data.data else return null } catch (err) { return null } } //京东口令解析-nolan function NolanDecode(code) { let resp = request({ url: "https://api.nolanstore.top/JComExchange", method: "post", body: { "code": code } }) try { let data = JSON.parse(resp.body) if (data.code == 0) return data.data else return null } catch (err) { return null } } /****************tg bot API*********************/ const tg_url = (new Bucket("tg")).get("url", "https://api.telegram.org")// ?设置代理地址指令：set tg url ? 默认直连官方服务器 //让tg机器人给在对话id中发送msg(markdown,markdown语法错误会导致发送失败),reply_markup为高级功能，见tg官方文档,无token时使用傻妞所对接的机器人发送 function SendToTG(id, msg,reply_markup,token) { let bot_token=token?token:(new Bucket("tg")).get("token") let option={ url: tg_url+"/bot" + bot_token + "/sendMessage", method: "post", body: { "chat_id": id, "parse_mode": "Markdown", "text": msg } } if(reply_markup) option.body["reply_markup"]=reply_markup try{ let resp=request(option) if(JSON.parse(resp.body).ok) return true else{ console.log("SendToTG failed\n"+resp.body+"\n"+msg) delete option.body["parse_mode"] return JSON.parse(request(option).body).ok } } catch(err){ return false } } function GetFile(id,token){ let bot_token=token?token:(new Bucket("tg")).get("token") let resp=request({ url: tg_url+"/bot" + bot_token + "/getFile", method: "post", body: { "file_id": id } }) console.log(id+"\n"+bot_token) try{ let temp=JSON.parse(resp.body) console.log(resp.body) if(temp.ok){ resp=request(tg_url+"/file/bot" + bot_token + temp.result.file_path) return resp.body } } catch(err){ return false } } {/tabs-pane}{/tabs}
昨天把域名从阿里云搬到腾讯云来了，之前那个DDNS docker只能解析阿里云的，今天发现我域名打不开了，查到是解析废了，于是就找到了ddns-go，安装部署简单，下面开始教程：docker安装ddns-godocker search ddns-go第一个镜像，拉取docker pull jeessy/ddns-go启动ddns-godocker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go启动后 切记，去 把9876这个端口放行 通过局域网配置 局域网ip:9876选择腾讯云，点击去创建点立即创建，创建一个秘钥，名字随便写把刚刚创建获取的ID和token填入到DDNS-GO配置面板里配置下禁止公网访问和登录用户名密码，防止被攻击篡改配置ipv4或者ipv6根据自身需求 我是使用ipv4-Domains中配置域名，比如说你用的二级域名：img.baidu.com，那么就填写： img:baidu.com 不要http前缀和最后带个/配置Webhook 我这里使用的是 pushplus(网址https://www.pushplus.plus)点这自行看教程配置下 pushplus模拟测试没问题后公网ip发生变化后就会收到通知啦最后点击save保存