ios_rule_script/script/smzdm/README.md

211 lines
8.5 KiB
Markdown
Raw Normal View History

2021-04-09 19:34:05 +08:00
# 什么值得买
## 特别说明
什么值得买执行任务时对每次任务的时间间隔有一定的要求过短的时间间隔可能会没有任何奖励。如果在短时间内并行发起大量请求的话严重的情况会导致账号异常需要修改密码。所以在每次执行任务时都加入了3秒的休眠时间这会导致脚本的执行时间需要非常长差不多1分钟左右。请把脚本超时时间设置到最长建议2分钟以上以免因为超时被强制中断。
2021年1月18日
实测会引起账号异常无法参与幸运屋抽奖其他功能暂未发现异常不在意抽奖的可以继续使用在意抽奖的请谨慎考虑。原因不明所以即日起下线生活频道抽奖及APP端签到。
## 最近更新
2020年12月22日
适配最新的个人中心返回Html格式。
去除威望显示,现在获取不到威望这个属性了。
去除完成点击“去购买”的任务的功能现在只能在APP端操作才有经验。现在每日经验约有60左右。什么值得买官方完全有办法封禁所有的Web端完成任务功能现在还能执行部分任务纯属官方放水且用且珍惜吧不保证哪一天就没办法通过脚本完成任务了。
## 签到与每日任务
什么值得买Web端和App端每日自动签到脚本并且完成每日点击去购买10次、点值5次、点赞5次、收藏5次的任务。
执行效果如下,会显示昵称、级别、经验值变动总数、经验值变动明细、任务完成情况。
![](https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/images/01.png)
### 配置说明
#### Surge
##### **安装模块**
Surge推荐使用模块进行部署模块地址https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_checkin.sgmodule
### Loon
**远程脚本**
直接在配置里修改
```ini
[Remote Script]
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_checkin.lnscript, tag=什么值得买_每日签到, enabled=true
```
### Quantumult X
远程复写配置
```ini
[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版本中已经可以正常获取到数据。
现阶段的解决办法:
1. 如果有Quantumult X有TF版本更新至最新版即可
2. 如果使用Loon没影响
3. 如果使用Surge降级什么值得买App后抓取
4. clone 整个项目到本地,在本地脚本里填上预留的用户名密码
5. Surge手动写入数据
```javascript
手动执行脚本,写入账号密码数据
$persistentStore.write("你的账号", "smzdm_account");
$persistentStore.write("你的密码", "smzdm_password");
```
###### App端签到没有收益
目前App端的签到反复确认没有任何收益纯粹只是娱乐。Web端和App端同时签到可能会导致签到失败显示为主页君繁忙内置了签到时间间隔和多次重试一般不会再出现此问题。
## 去广告
去除什么值得买首页、好价、好文内的广告
### 配置说明
#### Surge
##### 配置文件
在配置文件中修改。
```ini
[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
```
##### 模块安装
模块地址: https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_remove_ads.sgmodule
### Loon
**远程脚本**
```ini
[Remote Script]
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/smzdm/smzdm_remove_ads.lnscript, tag=什么值得买_去广告, enabled=true
```
### Quantumult X
**远程复写脚本**
```ini
[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设备的脚本执行结果统一推送到一个设备上。
执行效果图,以饿了么为例:
![](https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/script/eleme/images/bark.jpg)
### 开启统一推送
你需要安装Bark这个APP打开后可以得到类似这样的链接
```http
https://api.day.app/VXTWvaQ18N29bsQAg7DgkT
```
在Surge、Loon、QuantumultX中执行以下代码将链接写入(如何执行代码请自己动手解决)。
**Surge、Loon**
```javascript
# 开启所有脚本统一推送
$persistentStore.write("https://api.day.app/VXTWvaQ18N29bsQAg7DgkT", "magicjs_unified_push_url");
```
**Quantumult X**
```javascript
# 开启所有脚本统一推送
$prefs.setValueForKey("https://api.day.app/VXTWvaQ18N29bsQAg7DgkT", "magicjs_unified_push_url");
```
### 关闭统一推送
**Surge、Loon**
```javascript
# 关闭所有脚本统一推送
$persistentStore.write("", "magicjs_unified_push_url");
```
**Quantumult X**
```javascript
# 关闭所有脚本统一推送
$prefs.setValueForKey("", "magicjs_unified_push_url");
```
### 其他
1. 统一推送能力仅对支持的脚本有效。
2. 开启统一推送后,所有支持统一推送的脚本,都会把通知推送到目标设备上。
3. 限于Bark的功能统一推送中的多媒体和链接不可用。
4. 统一推送需要使用Bark的服务器推送成功与否与Bark服务器的可用性有关。
5. 统一推送不会关闭APP的本地推送即两个iOS设备都会有推送。
6. 如有隐私考虑可以参考Bark的服务端文档自建服务端。