.. | ||
backup | ||
images | ||
README.md | ||
smzdm_mission.js | ||
smzdm_mission.lnscript | ||
smzdm_mission.qxrewrite | ||
smzdm_mission.sgmodule | ||
smzdm_remove_ads.js | ||
smzdm_remove_ads.lnplugin | ||
smzdm_remove_ads.qxrewrite | ||
smzdm_remove_ads.sgmodule | ||
smzdm_signin.js | ||
smzdm_signin.lnscript | ||
smzdm_signin.qxrewrite | ||
smzdm_signin.sgmodule | ||
smzdm.png |
什么值得买
特别说明
什么值得买执行任务时,对每次任务的时间间隔有一定的要求,过短的时间间隔可能会没有任何奖励。如果在短时间内并行发起大量请求的话,严重的情况会导致账号异常,需要修改密码。所以在每次执行任务时,都加入了3秒的休眠时间,这会导致脚本的执行时间需要非常长,差不多1分钟左右。请把脚本超时时间设置到最长,建议2分钟以上,以免因为超时被强制中断。
2021年1月18日
实测会引起账号异常,无法参与幸运屋抽奖,其他功能暂未发现异常,不在意抽奖的可以继续使用,在意抽奖的请谨慎考虑。原因不明,所以即日起下线生活频道抽奖及APP端签到。
最近更新
2020年12月22日:
适配最新的个人中心返回Html格式。
去除威望显示,现在获取不到威望这个属性了。
去除完成点击“去购买”的任务的功能,现在只能在APP端操作才有经验。现在每日经验约有60左右。什么值得买官方完全有办法封禁所有的Web端完成任务功能,现在还能执行部分任务纯属官方放水,且用且珍惜吧,不保证哪一天就没办法通过脚本完成任务了。
签到与每日任务
什么值得买Web端和App端每日自动签到脚本,并且完成每日点击去购买10次、点值5次、点赞5次、收藏5次的任务。
执行效果如下,会显示昵称、级别、经验值变动总数、经验值变动明细、任务完成情况。
配置说明
Surge
安装模块
Surge推荐使用模块进行部署,模块地址:https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_checkin.sgmodule
Loon
远程脚本
直接在配置里修改
[Remote Script]
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_checkin.lnscript, tag=什么值得买_每日签到, enabled=true
Quantumult X
远程复写配置
[rewrite_remote]
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_checkin.qxrewrite, tag=什么值得买_获取Cookie, update-interval=86400, opt-parser=false, enabled=true
[task_local]
5 0 * * * https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_checkin.js, tag=什么值得买每日签到
使用说明
Web端获取Cookie:
使用手机浏览器访问 https://zhiyou.smzdm.com/ 进行一次登录,通常会显示获取cookie成功。
可能因为重定向的问题,登录成功后访问的不是https://zhiyou.smzdm.com/user/ ,则重新在浏览器中访问一次https://zhiyou.smzdm.com/user/ 即可。
如果还是没有获取到Cookie,请查阅Surge等第三方App的执行日志。
App端获取账号密码:
打开什么值得买App,点击“我的“-“设置”-“退出登录”,先退出登录。随后点击“我的”中顶部的“立即登录”,选择“账号密码登录”,注意是账号密码登录,不要使用手机快捷登录或其他第三方登录方式。
登录完成后,提示获取账号密码成功,就说明没有问题了。如果没有提示,还是查阅一下第三方App的执行日志。在登录过程中,无论账号密码正确与否,都会进行获取和保存,如果账号密码有错,则重新登录一次即可,脚本会自动更新所保存的账号密码。
以上在什么值得买的iPhone 9.5.17版本测试通过。
隐私说明
因为手机端需要使用账号密码换取token,再通过token签到,所以需要获取一次账号密码。账号密码只会在本地存储,用于发送给“什么值得买”服务端接口用于换取token,不会发送给任何第三方。脚本完全开源,如有疑虑请查阅脚本源码。
存在的问题
什么值得买iPhone 9.8.5及以上版本,抓取不到账户名密码
在最新版的什么值得买客户端iPhone 9.8.5(2020-07-13)中,由于请求头声明异常,会导致Quantumult X和Surge的商店版本无法抓取到账户名和密码,Loon抓取正常。这个属于什么值得买客户端的请求不规范导致,修复时间未知。
和Quantumlu X作者反馈,作者迅速对这种请求头不规范的情况做了兼容,目前在Qutumult X 1.0.13(348) TF版本中已经可以正常获取到数据。
现阶段的解决办法:
-
如果有Quantumult X有TF版本,更新至最新版即可
-
如果使用Loon,没影响
-
如果使用Surge,降级什么值得买App后抓取
-
clone 整个项目到本地,在本地脚本里填上预留的用户名密码
-
Surge手动写入数据
手动执行脚本,写入账号密码数据 $persistentStore.write("你的账号", "smzdm_account"); $persistentStore.write("你的密码", "smzdm_password");
App端签到没有收益
目前App端的签到,反复确认没有任何收益,纯粹只是娱乐。Web端和App端同时签到,可能会导致签到失败,显示为主页君繁忙,内置了签到时间间隔和多次重试,一般不会再出现此问题。
去广告
去除什么值得买首页、好价、好文内的广告
配置说明
Surge
配置文件
在配置文件中修改。
[MITM]
hostname = homepage-api.smzdm.com, haojia-api.smzdm.com, article-api.smzdm.com
[Script]
什么值得买_首页去广告 = type=http-response,requires-body=1,max-size=0,pattern=^https:\/\/homepage-api.smzdm.com\/home,script-path=https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_remove_ads.js
什么值得买_好价去广告 = type=http-response,requires-body=1,max-size=0,pattern=^https:\/\/haojia-api.smzdm.com\/home\/list,script-path=https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_remove_ads.js
什么值得买_好文去广告 = type=http-response,requires-body=1,max-size=0,pattern=^https:\/\/article-api.smzdm.com\/article\/index_home_page,script-path=https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_remove_ads.js
模块安装
Loon
远程脚本
[Remote Script]
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_remove_ads.lnscript, tag=什么值得买_去广告, enabled=true
Quantumult X
远程复写脚本
[rewrite_remote]
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_remove_ads.qxrewrite, tag=什么值得买_去广告, update-interval=86400, opt-parser=false, enabled=true
统一推送
MagicJS利用Bark,实现了跨设备的统一推送能力,将多个iOS设备的脚本执行结果,统一推送到一个设备上。
执行效果图,以饿了么为例:
开启统一推送
你需要安装Bark这个APP,打开后可以得到类似这样的链接:
https://api.day.app/VXTWvaQ18N29bsQAg7DgkT
在Surge、Loon、QuantumultX中执行以下代码,将链接写入(如何执行代码请自己动手解决)。
Surge、Loon
# 开启所有脚本统一推送
$persistentStore.write("https://api.day.app/VXTWvaQ18N29bsQAg7DgkT", "magicjs_unified_push_url");
Quantumult X
# 开启所有脚本统一推送
$prefs.setValueForKey("https://api.day.app/VXTWvaQ18N29bsQAg7DgkT", "magicjs_unified_push_url");
关闭统一推送
Surge、Loon
# 关闭所有脚本统一推送
$persistentStore.write("", "magicjs_unified_push_url");
Quantumult X
# 关闭所有脚本统一推送
$prefs.setValueForKey("", "magicjs_unified_push_url");
其他
- 统一推送能力仅对支持的脚本有效。
- 开启统一推送后,所有支持统一推送的脚本,都会把通知推送到目标设备上。
- 限于Bark的功能,统一推送中的多媒体和链接不可用。
- 统一推送需要使用Bark的服务器,推送成功与否,与Bark服务器的可用性有关。
- 统一推送不会关闭APP的本地推送,即两个iOS设备都会有推送。
- 如有隐私考虑,可以参考Bark的服务端文档,自建服务端。