From 735b669d4460a090477afc4fe5b4533a057d7f50 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Fri, 5 Jul 2024 14:48:15 +0800 Subject: [PATCH 01/43] Update ubuntu.sh --- plugins/dynamic-tracking/versions/ubuntu.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/dynamic-tracking/versions/ubuntu.sh b/plugins/dynamic-tracking/versions/ubuntu.sh index e2ba2d38e..d4b20595f 100644 --- a/plugins/dynamic-tracking/versions/ubuntu.sh +++ b/plugins/dynamic-tracking/versions/ubuntu.sh @@ -9,3 +9,7 @@ serverPath=$(dirname "$rootPath") install_tmp=${rootPath}/tmp/mw_install.pl SYS_ARCH=`arch` + + +apt -y install build-essential git make libelf-dev strace tar bpfcc-tools libbpf-dev + From 486cf03c798e07a011fd40866968d342bd460391 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Fri, 5 Jul 2024 14:48:48 +0800 Subject: [PATCH 02/43] Update ubuntu.sh --- plugins/dynamic-tracking/versions/ubuntu.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/dynamic-tracking/versions/ubuntu.sh b/plugins/dynamic-tracking/versions/ubuntu.sh index d4b20595f..990cc995c 100644 --- a/plugins/dynamic-tracking/versions/ubuntu.sh +++ b/plugins/dynamic-tracking/versions/ubuntu.sh @@ -12,4 +12,4 @@ SYS_ARCH=`arch` apt -y install build-essential git make libelf-dev strace tar bpfcc-tools libbpf-dev - +apt -y install clang llvm From 905cecc060b9c8fb8299f86b31c203f0a7088990 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Fri, 5 Jul 2024 16:13:57 +0800 Subject: [PATCH 03/43] Update ubuntu.sh --- plugins/dynamic-tracking/versions/ubuntu.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/dynamic-tracking/versions/ubuntu.sh b/plugins/dynamic-tracking/versions/ubuntu.sh index 990cc995c..b9dcff40b 100644 --- a/plugins/dynamic-tracking/versions/ubuntu.sh +++ b/plugins/dynamic-tracking/versions/ubuntu.sh @@ -10,6 +10,13 @@ serverPath=$(dirname "$rootPath") install_tmp=${rootPath}/tmp/mw_install.pl SYS_ARCH=`arch` +# export GOPROXY=https://goproxy.io +# export GO111MODULE=on + apt -y install build-essential git make libelf-dev strace tar bpfcc-tools libbpf-dev + +# clang -v apt -y install clang llvm + +apt -y install golang From 8b10a5839ad2a1715917a0be3ce835fd74b374ba Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Mon, 8 Jul 2024 23:01:20 +0800 Subject: [PATCH 04/43] Update push_ad.py --- plugins/tgbot/startup/extend/push_ad.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/tgbot/startup/extend/push_ad.py b/plugins/tgbot/startup/extend/push_ad.py index 269f2df53..5be935cb9 100644 --- a/plugins/tgbot/startup/extend/push_ad.py +++ b/plugins/tgbot/startup/extend/push_ad.py @@ -45,7 +45,6 @@ def send_msg(bot, tag='ad', trigger_time=300): # https://zhaoziyuan1.cc | web | 15/m | 2m | next,7/15 | @baleite # 综合包网/NG接口开户 | 28/m | 6m | next,10/28 | @aabbcx888 # 实名认证/过人脸🕵️‍♀️各种账号处理✅ | 30/m| next,6/30 | @nngzs - # 海外服务器 高防CDN 解决移动屏蔽 | 群内置顶AD| 16/m | @YYCDNFW keyboard = [ [ types.InlineKeyboardButton( From cbdfb1a03319160d305fc93e90541c597030b565 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Mon, 8 Jul 2024 23:08:36 +0800 Subject: [PATCH 05/43] update --- plugins/tgbot/startup/extend/push_ad.py | 2 +- plugins/tgbot/startup/extend/push_notice_msg.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/tgbot/startup/extend/push_ad.py b/plugins/tgbot/startup/extend/push_ad.py index 5be935cb9..00327c9cc 100644 --- a/plugins/tgbot/startup/extend/push_ad.py +++ b/plugins/tgbot/startup/extend/push_ad.py @@ -44,7 +44,7 @@ def send_msg(bot, tag='ad', trigger_time=300): # https://t.me/gjgzs2022 | 22/m | @GJ_gzs # https://zhaoziyuan1.cc | web | 15/m | 2m | next,7/15 | @baleite # 综合包网/NG接口开户 | 28/m | 6m | next,10/28 | @aabbcx888 - # 实名认证/过人脸🕵️‍♀️各种账号处理✅ | 30/m| next,6/30 | @nngzs + # 实名认证/过人脸🕵️‍♀️各种账号处理✅ | 30/m| next,12/30 | @nngzs keyboard = [ [ types.InlineKeyboardButton( diff --git a/plugins/tgbot/startup/extend/push_notice_msg.py b/plugins/tgbot/startup/extend/push_notice_msg.py index 317dc3783..855468b38 100644 --- a/plugins/tgbot/startup/extend/push_notice_msg.py +++ b/plugins/tgbot/startup/extend/push_notice_msg.py @@ -53,7 +53,7 @@ def send_msg(bot, tag='ad', trigger_time=300): # https://t.me/gjgzs2022 | 22/m | @GJ_gzs # https://zhaoziyuan1.cc | web | 15/m | 2m | next,7/15 | @baleite # 综合包网/NG接口开户 | 28/m | 6m | next,10/28 | @aabbcx888 - # 实名认证/过人脸🕵️‍♀️各种账号处理✅ | 30/m| next,6/30 | @nngzs + # 实名认证/过人脸🕵️‍♀️各种账号处理✅ | 30/m| next,12/30 | @nngzs keyboard = [ [ types.InlineKeyboardButton( From 9d8e76faec899403cdaae866d666da73c3c40e93 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Wed, 10 Jul 2024 11:49:41 +0800 Subject: [PATCH 06/43] update --- plugins/tgbot/startup/extend/push_ad.py | 2 +- plugins/tgbot/startup/extend/push_notice_msg.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/tgbot/startup/extend/push_ad.py b/plugins/tgbot/startup/extend/push_ad.py index 00327c9cc..e23d95a25 100644 --- a/plugins/tgbot/startup/extend/push_ad.py +++ b/plugins/tgbot/startup/extend/push_ad.py @@ -42,7 +42,7 @@ def send_msg(bot, tag='ad', trigger_time=300): # 信号只在一个周期内执行一次|end # https://t.me/gjgzs2022 | 22/m | @GJ_gzs - # https://zhaoziyuan1.cc | web | 15/m | 2m | next,7/15 | @baleite + # https://zhaoziyuan1.cc | web | 15/m | 2m | next,9/15 | @baleite # 综合包网/NG接口开户 | 28/m | 6m | next,10/28 | @aabbcx888 # 实名认证/过人脸🕵️‍♀️各种账号处理✅ | 30/m| next,12/30 | @nngzs keyboard = [ diff --git a/plugins/tgbot/startup/extend/push_notice_msg.py b/plugins/tgbot/startup/extend/push_notice_msg.py index 855468b38..d96329c57 100644 --- a/plugins/tgbot/startup/extend/push_notice_msg.py +++ b/plugins/tgbot/startup/extend/push_notice_msg.py @@ -51,7 +51,7 @@ def send_msg(bot, tag='ad', trigger_time=300): # 信号只在一个周期内执行一次|end # https://t.me/gjgzs2022 | 22/m | @GJ_gzs - # https://zhaoziyuan1.cc | web | 15/m | 2m | next,7/15 | @baleite + # https://zhaoziyuan1.cc | web | 15/m | 2m | next,9/15 | @baleite # 综合包网/NG接口开户 | 28/m | 6m | next,10/28 | @aabbcx888 # 实名认证/过人脸🕵️‍♀️各种账号处理✅ | 30/m| next,12/30 | @nngzs keyboard = [ From b519bb55225683629a91c8053ee7c0f5e4da82a3 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 00:37:08 +0800 Subject: [PATCH 07/43] plugins ping init --- plugins/simpleping/ico.png | Bin 0 -> 2224 bytes plugins/simpleping/index.html | 31 ++ plugins/simpleping/index.py | 338 ++++++++++++++++++ plugins/simpleping/info.json | 17 + .../simpleping/init.d/simpleping.service.tpl | 21 ++ plugins/simpleping/init.d/simpleping.tpl | 46 +++ plugins/simpleping/install.sh | 78 ++++ plugins/simpleping/js/simpleping.js | 72 ++++ 8 files changed, 603 insertions(+) create mode 100644 plugins/simpleping/ico.png create mode 100755 plugins/simpleping/index.html create mode 100755 plugins/simpleping/index.py create mode 100755 plugins/simpleping/info.json create mode 100644 plugins/simpleping/init.d/simpleping.service.tpl create mode 100644 plugins/simpleping/init.d/simpleping.tpl create mode 100755 plugins/simpleping/install.sh create mode 100755 plugins/simpleping/js/simpleping.js diff --git a/plugins/simpleping/ico.png b/plugins/simpleping/ico.png new file mode 100644 index 0000000000000000000000000000000000000000..348efe3f452193c46c36f30ee2981dba8401b274 GIT binary patch literal 2224 zcmd6p`#+T19><@V{ZtQ0W5y-2^BCinB*y)gVTQ3$E}6^}?Wt*KM1_Wu+nAKx#zeW4 za>=E^c4-iG*dv-0Qf`rsh>o^-x$G`y?BYD=^dad<-ug^;NJ>aoT zQA-g3fNh>svOiL#{~yq1WUdRUFF^__+TX(!s2|W?004;NNhTeN3z6MsMoro(x#wRO z$2SoSy)HIIw&}^@j+$5*FYE1}ksqugRsxRGm&+EtL##tE$z8@N8sjbi`Xh+pFC=%_ zAY~;P;O+Yf6QKO}l2{kKrm!-F@hxWzc6ta&C#3rS&D87R$Hil1-tGG;TF5gEnAD zQGFAz?;cFaZi-&!bp@iErpWrxmKBlS?`!es4I?i0GQ6m*6l;c_()WWTDUZhD&Q3+C z8w+FNzo_$%h$8D|B@QX|!q2LpT>(=qC9;*_v`Jo9=635d*e=6A2ASWe`#av(KxhEH_iPlj3R}IF46$CaN#!Lam3DK2g!7#Gfyk zNB-tMu&FT?UD`^ABuDGq;m_7449tLzD69CGQ@~bJ6Kr7Z7}v-c3F11&|&*N@pWC`a;XSoq>kR=6o!P zXz2LpzE>ky7mVqdvO*OXOmkXp{SAN@b^+I)3H)o6Y-0Phvod;K@+T&$WUV&iTy!e_CwCde@ zVK52gfOdk189Z2N<2A^*(nA-H7HuT2wZ^}$>S)-nBCn=*#p{Fh${FQGhr`!9%^`f@ zP${V_t;aL3y2u99wC@m3GrODqt)DmO%TBV?rV)8mc1)O{f%&lJ_}3{yE&J~^tMDY9 zq9D>F5s3Dd)bWN(0X?V7_#@h;(#3C;ZieT5msjniD^9f~#;TrddE!_e?=yc;oB+LO zD2A^NKC0-CsW5_s+{N#TW;(lWdUW?`@QhC3{=lZ-udMA~mkN{DT0XT{ zb1^5Y(gP{K4%eGMhLt<10V4~PceQIxGeb#Vs^)VhEa#Lhx({Yk*!B-H8<=*_I0oj~ zs@iEqVwK%;L90jneEU3+XInzFO?_b%I{N08XOl!WT;AJ| z8kF-#+lQQ`lPeyMcNS5tK?iv=5j1d|R69Xw;vg0n9B?#2EEw4<48*x$tj^8Q5er1z z+}a|5SDlUj7hN5Cb0Q`a8F>ALKu5j z^Hhzrhdr`3pWB-9QfIAHV^&+jS2n=3$MYv!y5C!eFXs`I&meClJ>4+o?85t4@_UW9 zsQfDEw^XKzvqsADRQZ_c=#aWI?wQrya*=Gc`(Mu~b{Ux^`7tXUi@P4j3ZfFYxiQVV z&Dx5!6-ffJvsn!~EwS!{%EOY@AP>h~e^nOIPczau(BlbRYb{+_J$Ae`p=D;pxvs8L*MoRL$7UdUgmDGnSb#^ zu^$o-8*g|N+)(+G5v|>J@5)lBO8;&teckcL#g^tjI}d&(d{R`jA=MA}F`z?;rX1ED zDH$MHoG)gG6kw{Ag*poXtgzju4xz6?OLMCQlDOVem7@r^{#luu3X#OEj0^}z@T+m} z<#{6+9?)7NM!-F!cY +.overflow_hide { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + vertical-align: middle; +} + + +
+
+
+
+

服务

+

自启动

+

配置修改

+

连通性

+

相关说明

+ +
+
+
+
+
+
+ \ No newline at end of file diff --git a/plugins/simpleping/index.py b/plugins/simpleping/index.py new file mode 100755 index 000000000..55793fa9b --- /dev/null +++ b/plugins/simpleping/index.py @@ -0,0 +1,338 @@ +# coding:utf-8 + +import sys +import io +import os +import time +import re + +sys.path.append(os.getcwd() + "/class/core") +import mw + +app_debug = False +if mw.isAppleSystem(): + app_debug = True + + +def getHomeDir(): + if mw.isAppleSystem(): + user = mw.execShell( + "who | sed -n '2, 1p' |awk '{print $1}'")[0].strip() + return '/Users/' + user + else: + return '/root' + + +def getRunUser(): + if mw.isAppleSystem(): + user = mw.execShell( + "who | sed -n '2, 1p' |awk '{print $1}'")[0].strip() + return user + else: + return 'root' + +__SR = '''#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin +export PATH +export USER=%s +export HOME=%s && ''' % ( getRunUser(), getHomeDir()) + +def getPluginName(): + return 'simpleping' + + +def getPluginDir(): + return mw.getPluginDir() + '/' + getPluginName() + + +def getServerDir(): + return mw.getServerDir() + '/' + getPluginName() + + +def getInitDFile(): + current_os = mw.getOs() + if current_os == 'darwin': + return '/tmp/' + getPluginName() + + if current_os.startswith('freebsd'): + return '/etc/rc.d/' + getPluginName() + return '/etc/init.d/' + getPluginName() + + +def getConf(): + path = getServerDir() + "/conf/app.conf" + return path + + +def getConfTpl(): + path = getPluginDir() + "/config/redis.conf" + return path + + +def getInitDTpl(): + path = getPluginDir() + "/init.d/" + getPluginName() + ".tpl" + return path + + +def getArgs(): + args = sys.argv[3:] + tmp = {} + args_len = len(args) + + if args_len == 1: + t = args[0].strip('{').strip('}') + if t.strip() == '': + tmp = [] + else: + t = t.split(':') + tmp[t[0]] = t[1] + tmp[t[0]] = t[1] + elif args_len > 1: + for i in range(len(args)): + t = args[i].split(':') + tmp[t[0]] = t[1] + return tmp + +def checkArgs(data, ck=[]): + for i in range(len(ck)): + if not ck[i] in data: + return (False, mw.returnJson(False, '参数:(' + ck[i] + ')没有!')) + return (True, mw.returnJson(True, 'ok')) + +def configTpl(): + path = getPluginDir() + '/tpl' + pathFile = os.listdir(path) + tmp = [] + for one in pathFile: + file = path + '/' + one + tmp.append(file) + return mw.getJson(tmp) + + +def readConfigTpl(): + args = getArgs() + data = checkArgs(args, ['file']) + if not data[0]: + return data[1] + + content = mw.readFile(args['file']) + content = contentReplace(content) + return mw.returnJson(True, 'ok', content) + +def getPidFile(): + file = getConf() + content = mw.readFile(file) + rep = 'pidfile\s*(.*)' + tmp = re.search(rep, content) + return tmp.groups()[0].strip() + +def status(): + data = mw.execShell( + "ps aux|grep simpleping |grep -v grep | grep -v python | grep -v mdserver-web | awk '{print $2}'") + + if data[0] == '': + return 'stop' + return 'start' + +def contentReplace(content): + service_path = mw.getServerDir() + content = content.replace('{$ROOT_PATH}', mw.getRootDir()) + content = content.replace('{$SERVER_PATH}', service_path) + content = content.replace('{$SERVER_APP}', service_path + '/simpleping') + return content + + + +def initDreplace(): + + file_tpl = getInitDTpl() + service_path = os.path.dirname(os.getcwd()) + + initD_path = getServerDir() + '/init.d' + if not os.path.exists(initD_path): + os.mkdir(initD_path) + file_bin = initD_path + '/' + getPluginName() + + # print(file_bin) + # initd replace + if not os.path.exists(file_bin): + content = mw.readFile(file_tpl) + content = content.replace('{$SERVER_PATH}', service_path) + mw.writeFile(file_bin, content) + mw.execShell('chmod +x ' + file_bin) + + # systemd + systemDir = mw.systemdCfgDir() + systemService = systemDir + '/' + getPluginName() + '.service' + if os.path.exists(systemDir) and not os.path.exists(systemService): + systemServiceTpl = getPluginDir() + '/init.d/' + getPluginName() + '.service.tpl' + service_path = mw.getServerDir() + content = mw.readFile(systemServiceTpl) + content = content.replace('{$SERVER_PATH}', service_path) + mw.writeFile(systemService, content) + mw.execShell('systemctl daemon-reload') + + return file_bin + + +def appOp(method): + file = initDreplace() + + current_os = mw.getOs() + if current_os == "darwin": + data = mw.execShell(__SR + file + ' ' + method) + # print(data) + return 'ok' + + if current_os.startswith("freebsd"): + data = mw.execShell('service ' + getPluginName() + ' ' + method) + if data[1] == '': + return 'ok' + return data[1] + + data = mw.execShell('systemctl ' + method + ' ' + getPluginName()) + if data[1] == '': + return 'ok' + return data[1] + + +def start(): + return appOp('start') + + +def stop(): + return appOp('stop') + + +def restart(): + status = appOp('restart') + return status + + +def reload(): + return redisOp('reload') + + +def initdStatus(): + current_os = mw.getOs() + if current_os == 'darwin': + return "Apple Computer does not support" + + if current_os.startswith('freebsd'): + initd_bin = getInitDFile() + if os.path.exists(initd_bin): + return 'ok' + + shell_cmd = 'systemctl status ' + \ + getPluginName() + ' | grep loaded | grep "enabled;"' + data = mw.execShell(shell_cmd) + if data[0] == '': + return 'fail' + return 'ok' + + +def initdInstall(): + current_os = mw.getOs() + if current_os == 'darwin': + return "Apple Computer does not support" + + # freebsd initd install + if current_os.startswith('freebsd'): + import shutil + source_bin = initDreplace() + initd_bin = getInitDFile() + shutil.copyfile(source_bin, initd_bin) + mw.execShell('chmod +x ' + initd_bin) + mw.execShell('sysrc ' + getPluginName() + '_enable="YES"') + return 'ok' + + mw.execShell('systemctl enable ' + getPluginName()) + return 'ok' + + +def initdUinstall(): + current_os = mw.getOs() + if current_os == 'darwin': + return "Apple Computer does not support" + + if current_os.startswith('freebsd'): + initd_bin = getInitDFile() + os.remove(initd_bin) + mw.execShell('sysrc ' + getPluginName() + '_enable="NO"') + return 'ok' + + mw.execShell('systemctl disable ' + getPluginName()) + return 'ok' + + +def runLog(): + return getServerDir() + '/data/log.pl' + + +def getRedisConfInfo(): + conf = getServerDir() + '/redis.conf' + + gets = [ + {'name': 'bind', 'type': 2, 'ps': '绑定IP(修改绑定IP可能会存在安全隐患)','must_show':1}, + {'name': 'port', 'type': 2, 'ps': '绑定端口','must_show':1}, + {'name': 'timeout', 'type': 2, 'ps': '空闲链接超时时间,0表示不断开','must_show':1}, + {'name': 'maxclients', 'type': 2, 'ps': '最大连接数','must_show':1}, + {'name': 'databases', 'type': 2, 'ps': '数据库数量','must_show':1}, + {'name': 'requirepass', 'type': 2, 'ps': 'redis密码,留空代表没有设置密码','must_show':1}, + {'name': 'maxmemory', 'type': 2, 'ps': 'MB,最大使用内存,0表示不限制','must_show':1}, + {'name': 'slaveof', 'type': 2, 'ps': '同步主库地址','must_show':0}, + {'name': 'masterauth', 'type': 2, 'ps': '同步主库密码', 'must_show':0} + ] + content = mw.readFile(conf) + + result = [] + for g in gets: + rep = "^(" + g['name'] + ')\s*([.0-9A-Za-z_& ~]+)' + tmp = re.search(rep, content, re.M) + if not tmp: + if g['must_show'] == 0: + continue + + g['value'] = '' + result.append(g) + continue + g['value'] = tmp.groups()[1] + if g['name'] == 'maxmemory': + g['value'] = g['value'].strip("mb") + result.append(g) + + return result + + +if __name__ == "__main__": + func = sys.argv[1] + if func == 'status': + print(status()) + elif func == 'start': + print(start()) + elif func == 'stop': + print(stop()) + elif func == 'restart': + print(restart()) + elif func == 'reload': + print(reload()) + elif func == 'initd_status': + print(initdStatus()) + elif func == 'initd_install': + print(initdInstall()) + elif func == 'initd_uninstall': + print(initdUinstall()) + elif func == 'conf': + print(getConf()) + elif func == 'run_log': + print(runLog()) + elif func == 'get_redis_conf': + print(getRedisConf()) + elif func == 'submit_redis_conf': + print(submitRedisConf()) + elif func == 'config_tpl': + print(configTpl()) + elif func == 'read_config_tpl': + print(readConfigTpl()) + else: + print('error') diff --git a/plugins/simpleping/info.json b/plugins/simpleping/info.json new file mode 100755 index 000000000..ae3d31e55 --- /dev/null +++ b/plugins/simpleping/info.json @@ -0,0 +1,17 @@ +{ + "sort": 999, + "ps": "简单Ping服务,检查连通性", + "name": "simpleping", + "title": "SimplePing", + "shell": "install.sh", + "versions":["1.0"], + "tip": "soft", + "checks": "server/simpleping", + "path": "server/simpleping", + "display": 1, + "author": "midoks", + "date": "2024-07-10", + "home": "https://github.com/midoks/simpleping", + "type": 0, + "pid": "5" +} diff --git a/plugins/simpleping/init.d/simpleping.service.tpl b/plugins/simpleping/init.d/simpleping.service.tpl new file mode 100644 index 000000000..5610665e7 --- /dev/null +++ b/plugins/simpleping/init.d/simpleping.service.tpl @@ -0,0 +1,21 @@ +[Unit] +Description=SimplePing Server +After=network.service +After=syslog.target + +[Service] +User=root +Group=root +Type=simple +WorkingDirectory={$SERVER_PATH}/simpleping +ExecStart=simpleping service +ExecReload=/bin/kill -USR2 $MAINPID +PermissionsStartOnly=true +LimitNOFILE=5000 +Restart=on-failure +RestartSec=10 +RestartPreventExitStatus=1 +PrivateTmp=false + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/plugins/simpleping/init.d/simpleping.tpl b/plugins/simpleping/init.d/simpleping.tpl new file mode 100644 index 000000000..682ae56bc --- /dev/null +++ b/plugins/simpleping/init.d/simpleping.tpl @@ -0,0 +1,46 @@ +#!/bin/sh +# chkconfig: 2345 55 25 +# description: SimplePing Service + +### BEGIN INIT INFO +# Provides: SimplePing +# Required-Start: $all +# Required-Stop: $all +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: starts SimplePing +# Description: starts the MDW-Web +### END INIT INFO + +# Simple SimplePing init.d script conceived to work on Linux systems +# as it does use of the /proc filesystem. + +app_start(){ + echo "Starting SimplePing server..." + cd {$SERVER_PATH}/simpleping + ./simpleping service >> {$SERVER_PATH}/simpleping/logs.pl 2>&1 & +} + +app_stop(){ + echo "SimplePing stopped" + ps -ef| grep simpleping | grep -v grep | grep -v python | grep -v sh | awk '{print $2}'| xargs kill +} + + +case "$1" in + start) + app_start + ;; + stop) + app_stop + ;; + restart|reload) + app_stop + sleep 0.3 + app_start + ;; + *) + echo "Please use start or stop as first argument" + ;; +esac + diff --git a/plugins/simpleping/install.sh b/plugins/simpleping/install.sh new file mode 100755 index 000000000..0b75bdb5d --- /dev/null +++ b/plugins/simpleping/install.sh @@ -0,0 +1,78 @@ +#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin +export PATH + +curPath=`pwd` +rootPath=$(dirname "$curPath") +rootPath=$(dirname "$rootPath") +serverPath=$(dirname "$rootPath") + +ARCH=`uname -m` +sysName=`uname` +VERSION=$2 + +install_tmp=${rootPath}/tmp/mw_install.pl + +Install_App() +{ + echo '正在安装脚本文件...' > $install_tmp + mkdir -p $serverPath/source + mkdir -p $serverPath/source/simpleping + + name=linux + if [ "$sysName" == "Darwin" ];then + name="darwin" + fi + + FILE_TGZ=simpleping_${name}_${ARCH}.tar.gz + APP_DIR=$serverPath/source/simpleping + + # https://github.com/midoks/simpleping/releases/download/1.0/simpleping_linux_amd64.tar.gz + if [ ! -f $APP_DIR/${FILE_TGZ} ];then + wget -O $APP_DIR/${FILE_TGZ} https://github.com/midoks/simpleping/releases/download/1.0/${FILE_TGZ} + fi + + mkdir -p $serverPath/simpleping + cd $APP_DIR && tar -zxvf ${FILE_TGZ} -C $serverPath/simpleping + echo "${VERSION}" > $serverPath/simpleping/version.pl + + cd ${rootPath} && python3 ${rootPath}/plugins/simpleping/index.py start + cd ${rootPath} && python3 ${rootPath}/plugins/simpleping/index.py initd_install + + echo '安装SimplePing成功!' + +} + +Uninstall_App() +{ + if [ -f /usr/lib/systemd/system/simpleping.service ];then + systemctl stop simpleping + systemctl disable simpleping + rm -rf /usr/lib/systemd/system/simpleping.service + systemctl daemon-reload + fi + + if [ -f /lib/systemd/system/simpleping.service ];then + systemctl stop simpleping + systemctl disable simpleping + rm -rf /lib/systemd/system/simpleping.service + systemctl daemon-reload + fi + + if [ -f $serverPath/simpleping/initd/simpleping ];then + $serverPath/simpleping/initd/simpleping stop + fi + + if [ -d $serverPath/simpleping ];then + rm -rf $serverPath/simpleping + fi + + echo "卸载SimplePing成功" +} + +action=$1 +if [ "${1}" == 'install' ];then + Install_App +else + Uninstall_App +fi diff --git a/plugins/simpleping/js/simpleping.js b/plugins/simpleping/js/simpleping.js new file mode 100755 index 000000000..2ae8c7b16 --- /dev/null +++ b/plugins/simpleping/js/simpleping.js @@ -0,0 +1,72 @@ +function appPost(method, version, args,callback){ + var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); + + var req_data = {}; + req_data['name'] = 'simpleping'; + req_data['func'] = method; + req_data['version'] = version; + + if (typeof(args) == 'string'){ + req_data['args'] = JSON.stringify(toArrayObject(args)); + } else { + req_data['args'] = JSON.stringify(args); + } + + $.post('/plugins/run', req_data, function(data) { + layer.close(loadT); + if (!data.status){ + //错误展示10S + layer.msg(data.msg,{icon:0,time:2000,shade: [10, '#000']}); + return; + } + + if(typeof(callback) == 'function'){ + callback(data); + } + },'json'); +} + +function appPostCallbak(method, version, args,callback){ + var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); + + var req_data = {}; + req_data['name'] = 'simpleping'; + req_data['func'] = method; + args['version'] = version; + + if (typeof(args) == 'string'){ + req_data['args'] = JSON.stringify(toArrayObject(args)); + } else { + req_data['args'] = JSON.stringify(args); + } + + $.post('/plugins/callback', req_data, function(data) { + layer.close(loadT); + if (!data.status){ + layer.msg(data.msg,{icon:0,time:2000,shade: [0.3, '#000']}); + return; + } + + if(typeof(callback) == 'function'){ + callback(data); + } + },'json'); +} + + +function appReadme(){ + + var readme = '
    '; + readme += '
  • 简单说明
  • '; + readme += '
  • 主要是检查内网连通性
  • '; + readme += '
'; + $('.soft-man-con').html(readme); +} + + + +function pingDataGraph(){ + $('.soft-man-con').html(''); +} + + From 04e18490fb125778514e0bbafc6f4cc2bd484d29 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 01:06:53 +0800 Subject: [PATCH 08/43] Update db.py --- class/core/db.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/class/core/db.py b/class/core/db.py index 104ff5ab5..3ae39f8d4 100755 --- a/class/core/db.py +++ b/class/core/db.py @@ -61,8 +61,8 @@ class Sql(): self.__DB_FILE = 'data/' + name + '.db' return self - def dbPos(self, path, name): - self.__DB_FILE = path + '/' + name + '.db' + def dbPos(self, path, name, suffix_name = 'db'): + self.__DB_FILE = path + '/' + name + '.' + suffix_name return self def table(self, table): From 818ab604e235e166c80a46a75dd7cc88b55d804d Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 02:35:33 +0800 Subject: [PATCH 09/43] update --- plugins/simpleping/index.html | 14 +- plugins/simpleping/js/simpleping.js | 188 ++++++++++++++++++++++++- plugins/simpleping/simpleping_index.py | 42 ++++++ 3 files changed, 228 insertions(+), 16 deletions(-) create mode 100755 plugins/simpleping/simpleping_index.py diff --git a/plugins/simpleping/index.html b/plugins/simpleping/index.html index 952b4bad7..52b869bc8 100755 --- a/plugins/simpleping/index.html +++ b/plugins/simpleping/index.html @@ -1,12 +1,3 @@ - -
@@ -14,7 +5,7 @@

服务

自启动

配置修改

-

连通性

+

连通性

相关说明

@@ -25,7 +16,8 @@
\ No newline at end of file diff --git a/plugins/simpleping/js/simpleping.js b/plugins/simpleping/js/simpleping.js index 2ae8c7b16..e37f2d32c 100755 --- a/plugins/simpleping/js/simpleping.js +++ b/plugins/simpleping/js/simpleping.js @@ -1,10 +1,10 @@ -function appPost(method, version, args,callback){ + +function pingPost(method, args, callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); var req_data = {}; req_data['name'] = 'simpleping'; req_data['func'] = method; - req_data['version'] = version; if (typeof(args) == 'string'){ req_data['args'] = JSON.stringify(toArrayObject(args)); @@ -26,13 +26,13 @@ function appPost(method, version, args,callback){ },'json'); } -function appPostCallbak(method, version, args,callback){ +function pingPostCallbak(method, args, callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); var req_data = {}; req_data['name'] = 'simpleping'; + req_data['script'] = 'simpleping_index'; req_data['func'] = method; - args['version'] = version; if (typeof(args) == 'string'){ req_data['args'] = JSON.stringify(toArrayObject(args)); @@ -63,10 +63,188 @@ function appReadme(){ $('.soft-man-con').html(readme); } +// 把Unix时间戳转化成普通日期 +function toCommonTime(unix_time){ + var unixTimestamp = new Date(unix_time*1000); + var commonTime = unixTimestamp.toLocaleString(); + return commonTime; +} +function getToday(){ + var mydate = new Date(); + var str = "" + mydate.getFullYear() + "/"; + str += (mydate.getMonth()+1) + "/"; + str += mydate.getDate(); + return str; +} +//定义周期时间 +function getBeforeDate(n){ + var n = n; + var d = new Date(); + var year = d.getFullYear(); + var mon=d.getMonth()+1; + var day=d.getDate(); + if(day <= n){ + if(mon>1) { + mon = mon-1; + } else { + year = year-1; + mon = 12; + } + } + d.setDate(d.getDate()-n); + year = d.getFullYear(); + mon=d.getMonth()+1; + day=d.getDate(); + s = year+"/"+(mon<10?('0'+mon):mon)+"/"+(day<10?('0'+day):day); + return s; +} + +function pingDataGraphRender(day){ + var now = (new Date().getTime())/1000; + if(day==0){ + var start = (new Date(getToday() + " 00:00:01").getTime())/1000; + start = Math.round(start); + var end = Math.round(now); + } + if(day==1){ + var start = (new Date(getBeforeDate(day) + " 00:00:01").getTime())/1000; + var end = (new Date(getBeforeDate(day) + " 23:59:59").getTime())/1000; + start = Math.round(start); + end = Math.round(end); + } else { + var start = (new Date(getBeforeDate(day) + " 00:00:01").getTime())/1000; + start = Math.round(start); + var end = Math.round(now); + } + + // console.log(start,end); + pingPostCallbak('pingData', {'type':'range', 'start':start, 'end':end}, function(data){ + var xData = []; + var yData = []; + + var rdata = data.data; + + for(var i = 0; i < rdata.length; i++){ + xData.push(toCommonTime(rdata[i].created_unix)); + yData.push(rdata[i].speed/1000000); + } + var option = { + tooltip: { + trigger: 'axis', + axisPointer: { type: 'cross' }, + formatter: '{b}
{a}: {c}' + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: xData, + axisLine:{ lineStyle:{ color:"#666"} } + }, + yAxis: { + type: 'value', + name: "PING延迟(ms)", + // boundaryGap: [0, '100%'], + // min:0, + // max: 100, + splitLine:{ lineStyle:{ color:"#ddd" } }, + axisLine:{ lineStyle:{ color:"#666" } } + }, + series: [ + { + name:'PING', + type:'line', + smooth:true, + symbol: 'none', + sampling: 'average', + itemStyle: { normal: { color: 'rgb(0, 153, 238)' } }, + data: yData + } + ] + }; + chartPing.setOption(option); + }); +} + +// console.log('pingDataGraph'); +var chartPing; function pingDataGraph(){ - $('.soft-man-con').html(''); + var tpl = '\ +
\ +
\ +
\ +
\ +

连通性

\ +
\ + 区间检索:\ + 昨天\ + 今天\ + 最近7天\ +
\ +
\ +
\ +
\ +
\ +
'; + $('.soft-man-con').html(tpl); + + chartPing = echarts.init(document.getElementById('pingview')); + + var option = { + tooltip: { + trigger: 'axis', + axisPointer: { type: 'cross' }, + formatter: '{b}
{a}: {c}' + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: [], + axisLine:{ lineStyle:{ color:"#666"} } + }, + yAxis: { + type: 'value', + name: "PING延迟(ms)", + splitLine:{ lineStyle:{ color:"#ddd" } }, + axisLine:{ lineStyle:{ color:"#666" } } + }, + dataZoom: [{ + type: 'inside', + start: 0, + end: 100, + zoomLock:true + }, { + start: 0, + end: 100, + handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z', + handleSize: '80%', + handleStyle: { + color: '#fff', + shadowBlur: 3, + shadowColor: 'rgba(0, 0, 0, 0.6)', + shadowOffsetX: 2, + shadowOffsetY: 2 + } + }], + series: [ + { + name:'PING', + type:'line', + smooth:true, + symbol: 'none', + sampling: 'average', + itemStyle: { normal: { color: 'rgb(0, 153, 238)' } }, + data: [] + } + ] + }; + chartPing.setOption(option); + window.addEventListener("resize",function(){ + chartPing.resize(); + }); + + pingDataGraphRender(0); } diff --git a/plugins/simpleping/simpleping_index.py b/plugins/simpleping/simpleping_index.py new file mode 100755 index 000000000..630510ca3 --- /dev/null +++ b/plugins/simpleping/simpleping_index.py @@ -0,0 +1,42 @@ +# coding:utf-8 + +import sys +import io +import os +import time +import re +import json +import shutil + +sys.path.append(os.getcwd() + "/class/core") +import mw + +app_debug = False +if mw.isAppleSystem(): + app_debug = True + +def getPluginName(): + return 'simpleping' + + +def getPluginDir(): + return mw.getPluginDir() + '/' + getPluginName() + +def getServerDir(): + return mw.getServerDir() + '/' + getPluginName() + +def pingData(args = ()): + conn = mw.M('sp_ping').dbPos(getServerDir()+'/data', 'simpleping', 'db3') + field = 'id,speed,created_unix' + conn = conn.field(field) + data = [] + atype = args['type'] + if atype == 'pos': + pos = args['pos'] + data = conn.where('created_unix>=?',pos).select() + elif atype == 'range': + start = args['start'] + end = args['end'] + data = conn.where('created_unix>=? and created_unix<=?',(start,end)).select() + return data + From 4596a3a73c543091f28e28bdb4b6e4bc85dbf90a Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 02:49:19 +0800 Subject: [PATCH 10/43] Update install.sh --- plugins/simpleping/install.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/simpleping/install.sh b/plugins/simpleping/install.sh index 0b75bdb5d..57063d79d 100755 --- a/plugins/simpleping/install.sh +++ b/plugins/simpleping/install.sh @@ -24,6 +24,10 @@ Install_App() name="darwin" fi + if [ "$ARCH" == "x86_64" ];then + name="amd64" + fi + FILE_TGZ=simpleping_${name}_${ARCH}.tar.gz APP_DIR=$serverPath/source/simpleping From 25591dc3e5a90330fd3b0e886777bff9a120e945 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 02:54:14 +0800 Subject: [PATCH 11/43] Update install.sh --- plugins/simpleping/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/simpleping/install.sh b/plugins/simpleping/install.sh index 57063d79d..96c807834 100755 --- a/plugins/simpleping/install.sh +++ b/plugins/simpleping/install.sh @@ -25,7 +25,7 @@ Install_App() fi if [ "$ARCH" == "x86_64" ];then - name="amd64" + ARCH="amd64" fi FILE_TGZ=simpleping_${name}_${ARCH}.tar.gz From 9e2f1dc172b5cd034690f5ba499c8fd3a133e47d Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 02:55:31 +0800 Subject: [PATCH 12/43] Update simpleping.js --- plugins/simpleping/js/simpleping.js | 109 ++++++++++++++++------------ 1 file changed, 62 insertions(+), 47 deletions(-) diff --git a/plugins/simpleping/js/simpleping.js b/plugins/simpleping/js/simpleping.js index e37f2d32c..68a195fed 100755 --- a/plugins/simpleping/js/simpleping.js +++ b/plugins/simpleping/js/simpleping.js @@ -101,7 +101,13 @@ function getBeforeDate(n){ return s; } -function pingDataGraphRender(day){ + +function pingDataGraphPosData(){ + console.log(chartPingData.length); +} + + +function pingDataGraphData(day){ var now = (new Date().getTime())/1000; if(day==0){ var start = (new Date(getToday() + " 00:00:01").getTime())/1000; @@ -121,54 +127,63 @@ function pingDataGraphRender(day){ // console.log(start,end); pingPostCallbak('pingData', {'type':'range', 'start':start, 'end':end}, function(data){ - var xData = []; - var yData = []; + chartPingData = data.data; + pingDataGraphRender(); - var rdata = data.data; - - for(var i = 0; i < rdata.length; i++){ - xData.push(toCommonTime(rdata[i].created_unix)); - yData.push(rdata[i].speed/1000000); - } - var option = { - tooltip: { - trigger: 'axis', - axisPointer: { type: 'cross' }, - formatter: '{b}
{a}: {c}' - }, - xAxis: { - type: 'category', - boundaryGap: false, - data: xData, - axisLine:{ lineStyle:{ color:"#666"} } - }, - yAxis: { - type: 'value', - name: "PING延迟(ms)", - // boundaryGap: [0, '100%'], - // min:0, - // max: 100, - splitLine:{ lineStyle:{ color:"#ddd" } }, - axisLine:{ lineStyle:{ color:"#666" } } - }, - series: [ - { - name:'PING', - type:'line', - smooth:true, - symbol: 'none', - sampling: 'average', - itemStyle: { normal: { color: 'rgb(0, 153, 238)' } }, - data: yData - } - ] - }; - chartPing.setOption(option); + setInterval(function() { + pingDataGraphPosData(); + }, 3000); }); } +function pingDataGraphRender(){ + var xData = []; + var yData = []; + var rdata = chartPingData; + for(var i = 0; i < rdata.length; i++){ + xData.push(toCommonTime(rdata[i].created_unix)); + yData.push(rdata[i].speed/1000000); + } + var option = { + tooltip: { + trigger: 'axis', + axisPointer: { type: 'cross' }, + formatter: '{b}
{a}: {c}' + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: xData, + axisLine:{ lineStyle:{ color:"#666"} } + }, + yAxis: { + type: 'value', + name: "PING延迟(ms)", + // boundaryGap: [0, '100%'], + // min:0, + // max: 100, + splitLine:{ lineStyle:{ color:"#ddd" } }, + axisLine:{ lineStyle:{ color:"#666" } } + }, + series: [ + { + name:'PING', + type:'line', + smooth:true, + symbol: 'none', + sampling: 'average', + itemStyle: { normal: { color: 'rgb(0, 153, 238)' } }, + data: yData + } + ] + }; + chartPing.setOption(option); + +} + // console.log('pingDataGraph'); var chartPing; +var chartPingData = []; function pingDataGraph(){ var tpl = '\
\ @@ -178,9 +193,9 @@ function pingDataGraph(){

连通性

\
\ 区间检索:\ - 昨天\ - 今天\ - 最近7天\ + 昨天\ + 今天\ + 最近7天\
\
\
\ @@ -244,7 +259,7 @@ function pingDataGraph(){ chartPing.resize(); }); - pingDataGraphRender(0); + pingDataGraphData(0); } From 7c093617f5e3f368524447154141602f1ab72c0d Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 03:04:23 +0800 Subject: [PATCH 13/43] update --- plugins/simpleping/index.py | 6 +----- plugins/simpleping/init.d/simpleping.service.tpl | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/plugins/simpleping/index.py b/plugins/simpleping/index.py index 55793fa9b..0846f9e24 100755 --- a/plugins/simpleping/index.py +++ b/plugins/simpleping/index.py @@ -64,11 +64,6 @@ def getConf(): return path -def getConfTpl(): - path = getPluginDir() + "/config/redis.conf" - return path - - def getInitDTpl(): path = getPluginDir() + "/init.d/" + getPluginName() + ".tpl" return path @@ -162,6 +157,7 @@ def initDreplace(): mw.execShell('chmod +x ' + file_bin) # systemd + # systemctl status simpleping.service systemDir = mw.systemdCfgDir() systemService = systemDir + '/' + getPluginName() + '.service' if os.path.exists(systemDir) and not os.path.exists(systemService): diff --git a/plugins/simpleping/init.d/simpleping.service.tpl b/plugins/simpleping/init.d/simpleping.service.tpl index 5610665e7..f7d3d3411 100644 --- a/plugins/simpleping/init.d/simpleping.service.tpl +++ b/plugins/simpleping/init.d/simpleping.service.tpl @@ -8,7 +8,7 @@ User=root Group=root Type=simple WorkingDirectory={$SERVER_PATH}/simpleping -ExecStart=simpleping service +ExecStart={$SERVER_PATH}/simpleping/simpleping service ExecReload=/bin/kill -USR2 $MAINPID PermissionsStartOnly=true LimitNOFILE=5000 From 3b1fcac0aad2a590a757f3abc5d9714942227986 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 03:27:33 +0800 Subject: [PATCH 14/43] Update index.py --- plugins/simpleping/index.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/simpleping/index.py b/plugins/simpleping/index.py index 0846f9e24..856116ec2 100755 --- a/plugins/simpleping/index.py +++ b/plugins/simpleping/index.py @@ -157,7 +157,7 @@ def initDreplace(): mw.execShell('chmod +x ' + file_bin) # systemd - # systemctl status simpleping.service + # systemctl start simpleping.service systemDir = mw.systemdCfgDir() systemService = systemDir + '/' + getPluginName() + '.service' if os.path.exists(systemDir) and not os.path.exists(systemService): From 8ca63c0396b21bf332a464ed48e2a9ff7aa38454 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 03:50:31 +0800 Subject: [PATCH 15/43] update --- plugins/simpleping/js/simpleping.js | 39 ++++++++++++++++++++++++-- plugins/simpleping/simpleping_index.py | 2 +- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/plugins/simpleping/js/simpleping.js b/plugins/simpleping/js/simpleping.js index 68a195fed..363d8e4ff 100755 --- a/plugins/simpleping/js/simpleping.js +++ b/plugins/simpleping/js/simpleping.js @@ -53,6 +53,25 @@ function pingPostCallbak(method, args, callback){ },'json'); } +function pingPostCallbakN(method, args, callback){ + var req_data = {}; + req_data['name'] = 'simpleping'; + req_data['script'] = 'simpleping_index'; + req_data['func'] = method; + + if (typeof(args) == 'string'){ + req_data['args'] = JSON.stringify(toArrayObject(args)); + } else { + req_data['args'] = JSON.stringify(args); + } + + $.post('/plugins/callback', req_data, function(data) { + if(typeof(callback) == 'function'){ + callback(data); + } + },'json'); +} + function appReadme(){ @@ -103,7 +122,19 @@ function getBeforeDate(n){ function pingDataGraphPosData(){ - console.log(chartPingData.length); + if (chartPingData.length>0){ + var dlen = chartPingData.length; + last_pos = chartPingData[dlen-1]; + // console.log(start,end); + pingPostCallbakN('pingData', {'type':'pos', 'pos':last_pos['created_unix']}, function(data){ + var tmp_data = data.data; + for (x in tmp_data){ + chartPingData.push(tmp_data[x]); + } + pingDataGraphRender(); + }); + + } } @@ -130,9 +161,10 @@ function pingDataGraphData(day){ chartPingData = data.data; pingDataGraphRender(); - setInterval(function() { + clearInterval(posTimer); + posTimer = setTimeout(function() { pingDataGraphPosData(); - }, 3000); + }, 2000); }); } @@ -184,6 +216,7 @@ function pingDataGraphRender(){ // console.log('pingDataGraph'); var chartPing; var chartPingData = []; +var posTimer; function pingDataGraph(){ var tpl = '\
\ diff --git a/plugins/simpleping/simpleping_index.py b/plugins/simpleping/simpleping_index.py index 630510ca3..69a632255 100755 --- a/plugins/simpleping/simpleping_index.py +++ b/plugins/simpleping/simpleping_index.py @@ -33,7 +33,7 @@ def pingData(args = ()): atype = args['type'] if atype == 'pos': pos = args['pos'] - data = conn.where('created_unix>=?',pos).select() + data = conn.where('created_unix>?',(pos,)).select() elif atype == 'range': start = args['start'] end = args['end'] From c2a55f2658495896aa133617a147a67e89973d1b Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 03:57:20 +0800 Subject: [PATCH 16/43] Update install.sh --- plugins/simpleping/install.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/simpleping/install.sh b/plugins/simpleping/install.sh index 96c807834..5b32d7445 100755 --- a/plugins/simpleping/install.sh +++ b/plugins/simpleping/install.sh @@ -11,6 +11,9 @@ ARCH=`uname -m` sysName=`uname` VERSION=$2 +# 开启可以PING +# sysctl -w net.ipv4.ping_group_range="0 2147483647" + install_tmp=${rootPath}/tmp/mw_install.pl Install_App() From c989644c6ffe72f09de3b54b7c0a4316078a78e2 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 04:05:36 +0800 Subject: [PATCH 17/43] Update simpleping.js --- plugins/simpleping/js/simpleping.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/simpleping/js/simpleping.js b/plugins/simpleping/js/simpleping.js index 363d8e4ff..8a9080689 100755 --- a/plugins/simpleping/js/simpleping.js +++ b/plugins/simpleping/js/simpleping.js @@ -162,7 +162,7 @@ function pingDataGraphData(day){ pingDataGraphRender(); clearInterval(posTimer); - posTimer = setTimeout(function() { + posTimer = clearInterval(function() { pingDataGraphPosData(); }, 2000); }); From 53563cb130858ab91cce6972c69002c6cf3c2a3b Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 04:11:25 +0800 Subject: [PATCH 18/43] Update simpleping.js --- plugins/simpleping/js/simpleping.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/simpleping/js/simpleping.js b/plugins/simpleping/js/simpleping.js index 8a9080689..437ec8f80 100755 --- a/plugins/simpleping/js/simpleping.js +++ b/plugins/simpleping/js/simpleping.js @@ -122,6 +122,15 @@ function getBeforeDate(n){ function pingDataGraphPosData(){ + + var isOk = document.getElementById('pingview'); + if (!isOk){ + clearInterval(posTimer); + } + + console.log('run'); + + if (chartPingData.length>0){ var dlen = chartPingData.length; last_pos = chartPingData[dlen-1]; @@ -164,7 +173,7 @@ function pingDataGraphData(day){ clearInterval(posTimer); posTimer = clearInterval(function() { pingDataGraphPosData(); - }, 2000); + }, 3000); }); } From 9db5188d30315221f6f5145effcbd443430c9729 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 11 Jul 2024 04:17:47 +0800 Subject: [PATCH 19/43] update --- plugins/simpleping/index.html | 1 + plugins/simpleping/js/simpleping.js | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/plugins/simpleping/index.html b/plugins/simpleping/index.html index 52b869bc8..f39992d7e 100755 --- a/plugins/simpleping/index.html +++ b/plugins/simpleping/index.html @@ -14,6 +14,7 @@
+