From 3a1de79322385aa23281de423620ce66f51b0012 Mon Sep 17 00:00:00 2001 From: whyour Date: Sun, 21 Mar 2021 13:12:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0git=5Fpull=EF=BC=8C=E7=A7=BB?= =?UTF-8?q?=E9=99=A4update.js=20=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shell/git_pull.sh | 22 +-- shell/update.js | 447 ---------------------------------------------- 2 files changed, 1 insertion(+), 468 deletions(-) delete mode 100755 shell/update.js diff --git a/shell/git_pull.sh b/shell/git_pull.sh index 989ffffd..13d8af3a 100755 --- a/shell/git_pull.sh +++ b/shell/git_pull.sh @@ -141,20 +141,6 @@ function Diff_Cron { fi } -## 发送删除失效定时任务的消息 -function Notify_DropTask { - cd ${ShellDir} - node update.js - [ -f ${ContentDropTask} ] && rm -f ${ContentDropTask} -} - -## 发送新的定时任务消息 -function Notify_NewTask { - cd ${ShellDir} - node update.js - [ -f ${ContentNewTask} ] && rm -f ${ContentNewTask} -} - ## 检测配置文件版本 function Notify_Version { ## 识别出两个文件的版本号 @@ -172,13 +158,7 @@ function Notify_Version { if [ -f ${FileConf} ] && [[ "${VerConf}" != "${VerConfSample}" ]] && [[ ${UpdateDate} == $(date "+%Y-%m-%d") ]] then if [ ! -f ${SendCount} ]; then - echo -e "检测到配置文件config.sh.sample有更新\n\n更新日期: ${UpdateDate}\n当前版本: ${VerConf}\n新的版本: ${VerConfSample}\n更新内容: ${UpdateContent}\n更新说明: 如需使用新功能请对照config.sh.sample,将相关新参数手动增加到你自己的config.sh中,否则请无视本消息。本消息只在该新版本配置文件更新当天发送一次。" | tee ${ContentVersion} - cd ${ShellDir} - node update.js - if [ $? -eq 0 ]; then - echo "${VerConfSample}" > ${SendCount} - [ -f ${ContentVersion} ] && rm -f ${ContentVersion} - fi + bash notify "检测到配置文件config.sh.sample有更新" "更新日期: ${UpdateDate}\n当前版本: ${VerConf}\n新的版本: ${VerConfSample}\n更新内容: ${UpdateContent}\n更新说明: 如需使用新功能请对照config.sh.sample,将相关新参数手动增加到你自己的config.sh中,否则请无视本消息。本消息只在该新版本配置文件更新当天发送一次。" fi else [ -f ${ContentVersion} ] && rm -f ${ContentVersion} diff --git a/shell/update.js b/shell/update.js deleted file mode 100755 index e74c71d1..00000000 --- a/shell/update.js +++ /dev/null @@ -1,447 +0,0 @@ -/* - * @Author: lxk0301 https://github.com/lxk0301 - * @Date: 2020-12-20 13:50:34 - * @Last Modified by: lxk0301 - * @Last Modified time: 2020-12-20 13:51:02 - */ -const $ = new Env('通知'); -const notify = require('/jd/scripts/sendNotify'); -const fs = require('fs'); -!(async () => { - await update(); -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()); - -async function update() { - try { - if (fs.existsSync('new_task')) { - const newTaskContent = await fs.readFileSync('./new_task', 'utf8'); - if (newTaskContent) { - await notify.sendNotify('新增薅羊毛任务通知', newTaskContent); - } - } - - if (fs.existsSync('drop_task')) { - const dropTaskContent = await fs.readFileSync('./drop_task', 'utf8'); - if (dropTaskContent) { - await notify.sendNotify('删除失效任务通知', dropTaskContent); - } - } - - if (fs.existsSync('version')) { - const versionContent = await fs.readFileSync('./version', 'utf8'); - if (versionContent) { - await notify.sendNotify('配置文件更新通知', versionContent); - } - } - } catch (err) { - console.error(err); - } -} -function Env(t, e) { - class s { - constructor(t) { - this.env = t; - } - send(t, e = 'GET') { - t = 'string' == typeof t ? { url: t } : t; - let s = this.get; - return ( - 'POST' === e && (s = this.post), - new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s); - }); - }) - ); - } - get(t) { - return this.send.call(this.env, t); - } - post(t) { - return this.send.call(this.env, t, 'POST'); - } - } - return new (class { - constructor(t, e) { - (this.name = t), - (this.http = new s(this)), - (this.data = null), - (this.dataFile = 'box.dat'), - (this.logs = []), - (this.isMute = !1), - (this.isNeedRewrite = !1), - (this.logSeparator = '\n'), - (this.startTime = new Date().getTime()), - Object.assign(this, e), - this.log('', `\ud83d\udd14${this.name}, \u5f00\u59cb!`); - } - isNode() { - return 'undefined' != typeof module && !!module.exports; - } - isQuanX() { - return 'undefined' != typeof $task; - } - isSurge() { - return 'undefined' != typeof $httpClient && 'undefined' == typeof $loon; - } - isLoon() { - return 'undefined' != typeof $loon; - } - toObj(t, e = null) { - try { - return JSON.parse(t); - } catch { - return e; - } - } - toStr(t, e = null) { - try { - return JSON.stringify(t); - } catch { - return e; - } - } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) - try { - s = JSON.parse(this.getdata(t)); - } catch {} - return s; - } - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e); - } catch { - return !1; - } - } - getScript(t) { - return new Promise((e) => { - this.get({ url: t }, (t, s, i) => e(i)); - }); - } - runScript(t, e) { - return new Promise((s) => { - let i = this.getdata('@chavy_boxjs_userCfgs.httpapi'); - i = i ? i.replace(/\n/g, '').trim() : i; - let r = this.getdata('@chavy_boxjs_userCfgs.httpapi_timeout'); - (r = r ? 1 * r : 20), (r = e && e.timeout ? e.timeout : r); - const [o, h] = i.split('@'), - a = { - url: `http://${h}/v1/scripting/evaluate`, - body: { script_text: t, mock_type: 'cron', timeout: r }, - headers: { 'X-Key': o, Accept: '*/*' }, - }; - this.post(a, (t, e, i) => s(i)); - }).catch((t) => this.logErr(t)); - } - loaddata() { - if (!this.isNode()) return {}; - { - (this.fs = this.fs ? this.fs : require('fs')), - (this.path = this.path ? this.path : require('path')); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; - { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)); - } catch (t) { - return {}; - } - } - } - } - writedata() { - if (this.isNode()) { - (this.fs = this.fs ? this.fs : require('fs')), - (this.path = this.path ? this.path : require('path')); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s - ? this.fs.writeFileSync(t, r) - : i - ? this.fs.writeFileSync(e, r) - : this.fs.writeFileSync(t, r); - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, '.$1').split('.'); - let r = t; - for (const t of i) if (((r = Object(r)[t]), void 0 === r)) return s; - return r; - } - lodash_set(t, e, s) { - return Object(t) !== t - ? t - : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), - (e - .slice(0, -1) - .reduce( - (t, s, i) => - Object(t[s]) === t[s] - ? t[s] - : (t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}), - t, - )[e[e.length - 1]] = s), - t); - } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), - r = s ? this.getval(s) : ''; - if (r) - try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, '') : e; - } catch (t) { - e = ''; - } - } - return e; - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), - o = this.getval(i), - h = i ? ('null' === o ? null : o || '{}') : '{}'; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), (s = this.setval(JSON.stringify(e), i)); - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), (s = this.setval(JSON.stringify(o), i)); - } - } else s = this.setval(t, e); - return s; - } - getval(t) { - return this.isSurge() || this.isLoon() - ? $persistentStore.read(t) - : this.isQuanX() - ? $prefs.valueForKey(t) - : this.isNode() - ? ((this.data = this.loaddata()), this.data[t]) - : (this.data && this.data[t]) || null; - } - setval(t, e) { - return this.isSurge() || this.isLoon() - ? $persistentStore.write(t, e) - : this.isQuanX() - ? $prefs.setValueForKey(t, e) - : this.isNode() - ? ((this.data = this.loaddata()), - (this.data[e] = t), - this.writedata(), - !0) - : (this.data && this.data[e]) || null; - } - initGotEnv(t) { - (this.got = this.got ? this.got : require('got')), - (this.cktough = this.cktough ? this.cktough : require('tough-cookie')), - (this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar()), - t && - ((t.headers = t.headers ? t.headers : {}), - void 0 === t.headers.Cookie && - void 0 === t.cookieJar && - (t.cookieJar = this.ckjar)); - } - get(t, e = () => {}) { - t.headers && - (delete t.headers['Content-Type'], delete t.headers['Content-Length']), - this.isSurge() || this.isLoon() - ? (this.isSurge() && - this.isNeedRewrite && - ((t.headers = t.headers || {}), - Object.assign(t.headers, { 'X-Surge-Skip-Scripting': !1 })), - $httpClient.get(t, (t, s, i) => { - !t && s && ((s.body = i), (s.statusCode = s.status)), e(t, s, i); - })) - : this.isQuanX() - ? (this.isNeedRewrite && - ((t.opts = t.opts || {}), Object.assign(t.opts, { hints: !1 })), - $task.fetch(t).then( - (t) => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o); - }, - (t) => e(t), - )) - : this.isNode() && - (this.initGotEnv(t), - this.got(t) - .on('redirect', (t, e) => { - try { - if (t.headers['set-cookie']) { - const s = t.headers['set-cookie'] - .map(this.cktough.Cookie.parse) - .toString(); - this.ckjar.setCookieSync(s, null), - (e.cookieJar = this.ckjar); - } - } catch (t) { - this.logErr(t); - } - }) - .then( - (t) => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o, - } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o); - }, - (t) => { - const { message: s, response: i } = t; - e(s, i, i && i.body); - }, - )); - } - post(t, e = () => {}) { - if ( - (t.body && - t.headers && - !t.headers['Content-Type'] && - (t.headers['Content-Type'] = 'application/x-www-form-urlencoded'), - t.headers && delete t.headers['Content-Length'], - this.isSurge() || this.isLoon()) - ) - this.isSurge() && - this.isNeedRewrite && - ((t.headers = t.headers || {}), - Object.assign(t.headers, { 'X-Surge-Skip-Scripting': !1 })), - $httpClient.post(t, (t, s, i) => { - !t && s && ((s.body = i), (s.statusCode = s.status)), e(t, s, i); - }); - else if (this.isQuanX()) - (t.method = 'POST'), - this.isNeedRewrite && - ((t.opts = t.opts || {}), Object.assign(t.opts, { hints: !1 })), - $task.fetch(t).then( - (t) => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o); - }, - (t) => e(t), - ); - else if (this.isNode()) { - this.initGotEnv(t); - const { url: s, ...i } = t; - this.got.post(s, i).then( - (t) => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o); - }, - (t) => { - const { message: s, response: i } = t; - e(s, i, i && i.body); - }, - ); - } - } - time(t) { - let e = { - 'M+': new Date().getMonth() + 1, - 'd+': new Date().getDate(), - 'H+': new Date().getHours(), - 'm+': new Date().getMinutes(), - 's+': new Date().getSeconds(), - 'q+': Math.floor((new Date().getMonth() + 3) / 3), - S: new Date().getMilliseconds(), - }; - /(y+)/.test(t) && - (t = t.replace( - RegExp.$1, - (new Date().getFullYear() + '').substr(4 - RegExp.$1.length), - )); - for (let s in e) - new RegExp('(' + s + ')').test(t) && - (t = t.replace( - RegExp.$1, - 1 == RegExp.$1.length - ? e[s] - : ('00' + e[s]).substr(('' + e[s]).length), - )); - return t; - } - msg(e = t, s = '', i = '', r) { - const o = (t) => { - if (!t) return t; - if ('string' == typeof t) - return this.isLoon() - ? t - : this.isQuanX() - ? { 'open-url': t } - : this.isSurge() - ? { url: t } - : void 0; - if ('object' == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t['open-url'], - s = t.mediaUrl || t['media-url']; - return { openUrl: e, mediaUrl: s }; - } - if (this.isQuanX()) { - let e = t['open-url'] || t.url || t.openUrl, - s = t['media-url'] || t.mediaUrl; - return { 'open-url': e, 'media-url': s }; - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t['open-url']; - return { url: e }; - } - } - }; - this.isMute || - (this.isSurge() || this.isLoon() - ? $notification.post(e, s, i, o(r)) - : this.isQuanX() && $notify(e, s, i, o(r))); - let h = [ - '', - '==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3==============', - ]; - h.push(e), - s && h.push(s), - i && h.push(i), - console.log(h.join('\n')), - (this.logs = this.logs.concat(h)); - } - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), - console.log(t.join(this.logSeparator)); - } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s - ? this.log('', `\u2757\ufe0f${this.name}, \u9519\u8bef!`, t.stack) - : this.log('', `\u2757\ufe0f${this.name}, \u9519\u8bef!`, t); - } - wait(t) { - return new Promise((e) => setTimeout(e, t)); - } - done(t = {}) { - const e = new Date().getTime(), - s = (e - this.startTime) / 1e3; - this.log( - '', - `\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`, - ), - this.log(), - (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t); - } - })(t, e); -}