Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 18.188.181.58
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
panel /
mod /
base /
push_mod /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
__init__.py
17.01
KB
-rw-r--r--
base_task.py
9.72
KB
-rw-r--r--
compatible.py
787
B
-rw-r--r--
database_push.py
9.24
KB
-rw-r--r--
database_push_template.json
1.55
KB
-rw-r--r--
domain_blcheck_push.py
5.62
KB
-rw-r--r--
domain_blcheck_push_template.j...
1.82
KB
-rw-r--r--
load_push.py
10.69
KB
-rw-r--r--
manager.py
17.54
KB
-rw-r--r--
mods.py
12.87
KB
-rw-r--r--
rsync_push.py
10.03
KB
-rw-r--r--
send_tool.py
3.29
KB
-rw-r--r--
site_push.py
55.03
KB
-rw-r--r--
site_push_template.json
7.78
KB
-rw-r--r--
ssl_push.py
13.28
KB
-rw-r--r--
ssl_push_template.json
2.27
KB
-rw-r--r--
system.py
17.35
KB
-rw-r--r--
system_push.py
15.3
KB
-rw-r--r--
system_push_template.json
5.5
KB
-rw-r--r--
task_manager_push.py
17.17
KB
-rw-r--r--
tool.py
2.24
KB
-rw-r--r--
util.py
3.31
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : __init__.py
import json import os from typing import Dict, Union from .mods import TaskConfig, TaskTemplateConfig, TaskRecordConfig, SenderConfig, load_task_template_by_config, \ load_task_template_by_file, UPDATE_MOD_PUSH_FILE, UPDATE_VERSION_FILE, PUSH_DATA_PATH from .base_task import BaseTask from .send_tool import WxAccountMsg, WxAccountLoginMsg, WxAccountMsgBase from .system import PushSystem, get_push_public_data, push_by_task_keyword, push_by_task_id from .manager import PushManager from .util import read_file, write_file __all__ = [ "TaskConfig", "TaskTemplateConfig", "TaskRecordConfig", "SenderConfig", "load_task_template_by_config", "load_task_template_by_file", "BaseTask", "WxAccountMsg", "WxAccountLoginMsg", "WxAccountMsgBase", "PushSystem", "get_push_public_data", "PushManager", "push_by_task_keyword", "push_by_task_id", "UPDATE_MOD_PUSH_FILE", "update_mod_push_system", "UPDATE_VERSION_FILE", "PUSH_DATA_PATH", "get_default_module_dict", ] def update_mod_push_system(): if os.path.exists(UPDATE_MOD_PUSH_FILE): return # 只将已有的告警任务("site_push", "system_push", "database_push") 移动 try: push_data = json.loads(read_file("/www/server/panel/class/push/push.json")) except: return if not isinstance(push_data, dict): return pmgr = PushManager() default_module_dict = get_default_module_dict() for key, value in push_data.items(): if key == "site_push": _update_site_push(value, pmgr, default_module_dict) elif key == "system_push": _update_system_push(value, pmgr, default_module_dict) elif key == "database_push": _update_database_push(value, pmgr, default_module_dict) elif key == "rsync_push": _update_rsync_push(value, pmgr, default_module_dict) elif key == "load_balance_push": _update_load_push(value, pmgr, default_module_dict) elif key == "task_manager_push": _update_task_manager_push(value, pmgr, default_module_dict) write_file(UPDATE_MOD_PUSH_FILE, "") def get_default_module_dict(): res = {} # wx_account_list = [] for data in SenderConfig().config: if not data["used"]: continue if data.get("original", False): res[data["sender_type"]] = data["id"] if data["sender_type"] == "webhook": res[data["data"].get("title")] = data["id"] # if data["sender_type"] == "wx_account": # wx_account_list.append(data) # wx_account_list.sort(key=lambda x: x.get("data", {}).get("create_time", "")) # if wx_account_list: # res["wx_account"] = wx_account_list[0]["id"] return res def _update_site_push(old_data: Dict[str, Dict[str, Union[str, int, float, list]]], pmgr: PushManager, df_mdl: Dict[str, str]): for k, v in old_data.items(): sender_list = [df_mdl[i.strip()] for i in v.get("module", "").split(",") if i.strip() in df_mdl] if v["type"] == "ssl": push_data = { "template_id": "1", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "project": v.get("project", "all"), "cycle": v.get("cycle", 15) }, "number_rule": { "total": v.get("push_count", 1) } } } pmgr.set_task_conf_data(push_data) elif v["type"] == "site_endtime": push_data = { "template_id": "2", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "cycle": v.get("cycle", 7) }, "number_rule": { "total": v.get("push_count", 1) } } } pmgr.set_task_conf_data(push_data) elif v["type"] == "panel_pwd_endtime": push_data = { "template_id": "3", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "cycle": v.get("cycle", 15), "interval": 600 }, "number_rule": { "total": v.get("push_count", 1) } } } pmgr.set_task_conf_data(push_data) elif v["type"] == "ssh_login_error": push_data = { "template_id": "4", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "cycle": v.get("cycle", 30), "count": v.get("count", 3), "interval": v.get("interval", 600) }, "number_rule": { "day_num": v.get("day_limit", 3) } } } pmgr.set_task_conf_data(push_data) elif v["type"] == "services": push_data = { "template_id": "5", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "project": v.get("project", "nginx"), "count": v.get("count", 3), "interval": v.get("interval", 600) }, "number_rule": { "day_num": v.get("day_limit", 3) } } } pmgr.set_task_conf_data(push_data) elif v["type"] == "panel_safe_push": push_data = { "template_id": "6", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": {}, "number_rule": { "day_num": v.get("day_limit", 3) } } } pmgr.set_task_conf_data(push_data) elif v["type"] == "ssh_login": push_data = { "template_id": "7", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": {}, "number_rule": {} } } pmgr.set_task_conf_data(push_data) elif v["type"] == "panel_login": push_data = { "template_id": "8", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": {}, "number_rule": {} } } pmgr.set_task_conf_data(push_data) elif v["type"] == "project_status": push_data = { "template_id": "9", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "cycle": v.get("cycle", 1), "project": v.get("project", 0), "count": v.get("count", 2) if v.get("count", 2) not in (1, 2) else 2, "interval": v.get("interval", 600) }, "number_rule": { "day_num": v.get("push_count", 3) } } } pmgr.set_task_conf_data(push_data) elif v["type"] == "panel_update": push_data = { "template_id": "10", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": {}, "number_rule": { "day_num": 1 } } } pmgr.set_task_conf_data(push_data) send_type = None login_send_type_conf = "/www/server/panel/data/panel_login_send.pl" if os.path.exists(login_send_type_conf): send_type = read_file(login_send_type_conf).strip() else: # user_info["server_id"]之前的 if os.path.exists("/www/server/panel/data/login_send_type.pl"): send_type = read_file("/www/server/panel/data/login_send_type.pl") else: if os.path.exists('/www/server/panel/data/login_send_mail.pl'): send_type = "mail" if os.path.exists('/www/server/panel/data/login_send_dingding.pl'): send_type = "dingding" if isinstance(send_type, str): sender_list = [df_mdl[i.strip()] for i in send_type.split(",") if i.strip() in df_mdl] push_data = { "template_id": "8", "task_data": { "status": True, "sender": sender_list, "task_data": {}, "number_rule": {} } } pmgr.set_task_conf_data(push_data) login_send_type_conf = "/www/server/panel/data/ssh_send_type.pl" if os.path.exists(login_send_type_conf): ssh_send_type = read_file(login_send_type_conf).strip() if isinstance(ssh_send_type, str): sender_list = [df_mdl[i.strip()] for i in ssh_send_type.split(",") if i.strip() in df_mdl] push_data = { "template_id": "7", "task_data": { "status": True, "sender": sender_list, "task_data": {}, "number_rule": {} } } pmgr.set_task_conf_data(push_data) return def _update_system_push(old_data: Dict[str, Dict[str, Union[str, int, float, list]]], pmgr: PushManager, df_mdl: Dict[str, str]): for k, v in old_data.items(): sender_list = [df_mdl[i.strip()] for i in v.get("module", "").split(",") if i.strip() in df_mdl] if v["type"] == "disk": push_data = { "template_id": "20", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "project": v.get("project", "/"), "cycle": v.get("cycle", 2) if v.get("cycle", 2) not in (1, 2) else 2, "count": v.get("count", 80), }, "number_rule": { "total": v.get("push_count", 3) } } } pmgr.set_task_conf_data(push_data) if v["type"] == "disk": push_data = { "template_id": "21", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "cycle": v.get("cycle", 5) if v.get("cycle", 5) not in (3, 5, 15) else 5, "count": v.get("count", 80), }, "number_rule": { "total": v.get("push_count", 3) } } } pmgr.set_task_conf_data(push_data) if v["type"] == "load": push_data = { "template_id": "22", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "cycle": v.get("cycle", 5) if v.get("cycle", 5) not in (1, 5, 15) else 5, "count": v.get("count", 80), }, "number_rule": { "total": v.get("push_count", 3) } } } pmgr.set_task_conf_data(push_data) if v["type"] == "mem": push_data = { "template_id": "23", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "cycle": v.get("cycle", 5) if v.get("cycle", 5) not in (3, 5, 15) else 5, "count": v.get("count", 80), }, "number_rule": { "total": v.get("push_count", 3) } } } pmgr.set_task_conf_data(push_data) return def _update_database_push(old_data: Dict[str, Dict[str, Union[str, int, float, list]]], pmgr: PushManager, df_mdl: Dict[str, str]): for k, v in old_data.items(): sender_list = [df_mdl[i.strip()] for i in v.get("module", "").split(",") if i.strip() in df_mdl] if v["type"] == "mysql_pwd_endtime": push_data = { "template_id": "30", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "project": v.get("project", []), "cycle": v.get("cycle", 15), }, "number_rule": {} } } pmgr.set_task_conf_data(push_data) elif v["type"] == "mysql_replicate_status": push_data = { "template_id": "31", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "project": v.get("project", []), "count": v.get("cycle", 15), "interval": v.get("interval", 600) }, "number_rule": {} } } pmgr.set_task_conf_data(push_data) return None def _update_rsync_push( old_data: Dict[str, Dict[str, Union[str, int, float, list]]], pmgr: PushManager, df_mdl: Dict[str, str]): for k, v in old_data.items(): sender_list = [df_mdl[i.strip()] for i in v.get("module", "").split(",") if i.strip() in df_mdl] push_data = { "template_id": "40", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "interval": v.get("interval", 600) }, "number_rule": { "day_num": v.get("push_count", 3) } } } pmgr.set_task_conf_data(push_data) def _update_load_push( old_data: Dict[str, Dict[str, Union[str, int, float, list]]], pmgr: PushManager, df_mdl: Dict[str, str]): for k, v in old_data.items(): sender_list = [df_mdl[i.strip()] for i in v.get("module", "").split(",") if i.strip() in df_mdl] push_data = { "template_id": "50", "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "project": v.get("project", ""), "cycle": v.get("cycle", "200|301|302|403|404") }, "number_rule": { "day_num": v.get("push_count", 2) } } } pmgr.set_task_conf_data(push_data) def _update_task_manager_push( old_data: Dict[str, Dict[str, Union[str, int, float, list]]], pmgr: PushManager, df_mdl: Dict[str, str]): for k, v in old_data.items(): sender_list = [df_mdl[i.strip()] for i in v.get("module", "").split(",") if i.strip() in df_mdl] template_id_dict = { "task_manager_cpu": "60", "task_manager_mem": "61", "task_manager_process": "62" } if v["type"] in template_id_dict: push_data = { "template_id": template_id_dict[v["type"]], "task_data": { "status": bool(v.get("status", True)), "sender": sender_list, "task_data": { "project": v.get("project", ""), "count": v.get("count", 80), "interval": v.get("count", 600), }, "number_rule": { "day_num": v.get("push_count", 3) } } } pmgr.set_task_conf_data(push_data)
Close