Skip to content

Instantly share code, notes, and snippets.

@GoodbyeNJN
GoodbyeNJN / 墓碑模式FCM推送v3.0-b.json
Last active May 3, 2024 13:14
墓碑模式 FCM 推送
[
{
"name": "墓碑模式FCM推送v3.0-b",
"description": "对于支持FCM推送的 **非黑名单** 应用,当其收到推送并且处于后台时,临时解冻3秒。\n仅适配了NoActive Pro版本。全局变量示例:[ \"0#com.tencent.mm\", \"10#com.tencent.mm\" ],井号前后分别为用户id和包名。",
"priority": -1,
"condition": "fcmPushMessageArrived == true",
"actions": [
"def debug(msg) { log.log(\"🚀 \" + msg); } def getUserIdList() { userList = context.getSystemService(context.USER_SERVICE).getUsers(); userIdList = (identifier in (userHandle in userList)); return userIdList; } def isValidPkg(pkg) { return thanos.getPkgManager().getAppInfo(pkg) != null; } def getPkgListByPkgName(pkgName) { userIdList = getUserIdList(); res = []; foreach(userId: userIdList) { pkg = Pkg.newPkg(pkgName, userId); if (isValidPkg(pkg)) { res.add(pkg.userId + \"#\" + pkg.pkgName); } } return res; } def isPkgFrozen(pkg) { return su.exe(\"pm freezer query \" + pkg + \" | awk '/isFrozen/ {print $2}'\").out[0]; } def unfreezePkg(pkg) { su.exe(\"pm freezer temporaryThaw \" + pkg); } def checkGlobalVar(pkg) { if (globalVar
@GoodbyeNJN
GoodbyeNJN / loader.js
Last active April 1, 2021 08:53
Node.js CommonJS Module 实现示例
const path = require("path");
const vm = require("vm");
const fs = require("fs");
const cache = Object.create(null);
const extensions = Object.create(null, {
".js": {
value: (module, filename) => {
const content = fs.readFileSync(filename, "utf-8");