mirror of
https://github.com/hex-ci/smzdm_script.git
synced 2026-02-02 18:48:52 +08:00
新增自定义 User Agent
This commit is contained in:
@@ -52,6 +52,8 @@ ql repo https://github.com/hex-ci/smzdm_script.git "" "env.js|bot.js|sendNotify.
|
||||
|
||||
* `SMZDM_COOKIE`: 抓包抓到的 Cookie 内容,需要所有 Cookie 内容,多用户可以用 `&` 分隔,或者使用多个同名环境变量。
|
||||
* `SMZDM_SK`: 这个值是可选值,是从安卓 App 的 `https://user-api.smzdm.com/checkin` 请求参数中抓包抓到的,如果抓到这个值可以填写(强烈建议填写),如果没抓到可以忽略,多用户可以用 `&` 分隔,或者使用多个同名环境变量,顺序要保持与 `SMZDM_COOKIE` 多用户顺序一致。
|
||||
* `SMZDM_USER_AGENT_APP`: 这个值是可选值,是指 APP 的 User-Agent,从 APP 的 API 请求头中抓包得到,建议抓取 Android 的 User-Agent,不填使用脚本默认值。
|
||||
* `SMZDM_USER_AGENT_WEB`: 这个值是可选值,是指 APP 中访问网页的 User-Agent,一般在 APP 内的转盘网页中抓包得到,建议抓取 Android 的 User-Agent,不填使用脚本默认值。
|
||||
* `SMZDM_COMMENT`: 如果要完成评论文章的任务请设置这个环境变量,环境变量的内容是评论的文案,文案要大于 10 个汉字,建议用比较个性化的文案,脚本发布评论后会删除这条评论,但是为防止删除失败的情况,请尽量用好一点的文案,防止被判定为恶意灌水。
|
||||
* `SMZDM_CROWD_SILVER_5`: 每日抽奖任务默认只进行免费抽奖,如要进行 5 碎银子的抽奖,请设置这个环境变量的值为 `yes`。
|
||||
* `SMZDM_CROWD_KEYWORD`: 抽奖关键词,执行非免费抽奖时,会优先选择包含此关键词的抽奖,如果未找到包含此关键词的抽奖,则会随机选择一个。
|
||||
|
||||
27
bot.js
27
bot.js
@@ -6,13 +6,16 @@ const got = require('got');
|
||||
const APP_VERSION = '10.4.26';
|
||||
const APP_VERSION_REV = '866';
|
||||
|
||||
const DEFAULT_USER_AGENT = `smzdm_android_V${APP_VERSION} rv:${APP_VERSION_REV} (Redmi Note 3;Android10.0;zh)smzdmapp`;
|
||||
const DEFAULT_WEB_USER_AGENT = `Mozilla/5.0 (Linux; Android 10.0; Redmi Build/Redmi Note 3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36 smzdm_android_V${APP_VERSION} rv:${APP_VERSION_REV} (Redmi;Android10.0;zh) jsbv_1.0.0 webv_2.0 smzdmapp`;
|
||||
const DEFAULT_USER_AGENT_APP = `smzdm_android_V${APP_VERSION} rv:${APP_VERSION_REV} (Redmi Note 3;Android10.0;zh)smzdmapp`;
|
||||
const DEFAULT_USER_AGENT_WEB = `Mozilla/5.0 (Linux; Android 10.0; Redmi Build/Redmi Note 3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36 smzdm_android_V${APP_VERSION} rv:${APP_VERSION_REV} (Redmi;Android10.0;zh) jsbv_1.0.0 webv_2.0 smzdmapp`;
|
||||
|
||||
const SIGN_KEY = 'apr1$AwP!wRRT$gJ/q.X24poeBInlUJC';
|
||||
|
||||
// ------------------------------------
|
||||
|
||||
const reVersion = /(smzdm_android_V|smzdm\s|iphone_smzdmapp\/)([\d.]+)/i;
|
||||
const reRev = /rv:([\d.]+)/i;
|
||||
|
||||
const randomStr = (len = 18) => {
|
||||
const char = '0123456789';
|
||||
let str = '';
|
||||
@@ -200,22 +203,38 @@ class SmzdmBot {
|
||||
}
|
||||
|
||||
getHeaders() {
|
||||
let userAgent = DEFAULT_USER_AGENT_APP;
|
||||
|
||||
if (process.env.SMZDM_USER_AGENT_APP) {
|
||||
userAgent = process.env.SMZDM_USER_AGENT_APP
|
||||
.replace(reVersion, `$1${APP_VERSION}`)
|
||||
.replace(reRev, `rv:${APP_VERSION_REV}`);
|
||||
}
|
||||
|
||||
return {
|
||||
Accept: '*/*',
|
||||
'Accept-Language': 'zh-Hans-CN;q=1',
|
||||
'Accept-Encoding': 'gzip',
|
||||
'request_key': randomStr(18),
|
||||
'User-Agent': DEFAULT_USER_AGENT,
|
||||
'User-Agent': userAgent,
|
||||
Cookie: this.androidCookie
|
||||
};
|
||||
}
|
||||
|
||||
getHeadersForWeb() {
|
||||
let userAgent = DEFAULT_USER_AGENT_WEB;
|
||||
|
||||
if (process.env.SMZDM_USER_AGENT_WEB) {
|
||||
userAgent = process.env.SMZDM_USER_AGENT_WEB
|
||||
.replace(reVersion, `$1${APP_VERSION}`)
|
||||
.replace(reRev, `rv:${APP_VERSION_REV}`);
|
||||
}
|
||||
|
||||
return {
|
||||
Accept: '*/*',
|
||||
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
|
||||
'Accept-Encoding': 'gzip',
|
||||
'User-Agent': DEFAULT_WEB_USER_AGENT,
|
||||
'User-Agent': userAgent,
|
||||
Cookie: this.androidCookie
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user