From 342eec6ac6d5cb6e91b222feca877767ac9fd482 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Thu, 28 Feb 2019 13:14:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=B8=8D=E5=BF=85=E8=A6=81?= =?UTF-8?q?=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/abkill/ico.png | Bin 181 -> 0 bytes plugins/abkill/index.html | 16 - plugins/abkill/index.py | 172 ----------- plugins/abkill/info.json | 16 - plugins/abkill/init.d/abkill.tpl | 76 ----- plugins/abkill/install.sh | 32 -- plugins/abkill/js/abkill.js | 1 - plugins/abkill/script/abkill.py | 85 ------ plugins/score/ico.png | Bin 832 -> 0 bytes plugins/score/img/ico-score.png | Bin 1296 -> 0 bytes plugins/score/img/ico-ts-cpu-active.png | Bin 1526 -> 0 bytes plugins/score/img/ico-ts-cpu.png | Bin 1336 -> 0 bytes plugins/score/img/ico-ts-disk-active.png | Bin 1400 -> 0 bytes plugins/score/img/ico-ts-disk.png | Bin 1103 -> 0 bytes plugins/score/img/ico-ts-mem-active.png | Bin 874 -> 0 bytes plugins/score/img/ico-ts-mem.png | Bin 683 -> 0 bytes plugins/score/img/ico-ts-refresh.png | Bin 2941 -> 0 bytes plugins/score/img/ico-ts-score.jpg | Bin 3977 -> 0 bytes plugins/score/index.html | 249 ---------------- plugins/score/index.py | 355 ----------------------- plugins/score/info.json | 16 - plugins/score/install.sh | 38 --- plugins/score/js/score.js | 301 ------------------- plugins/score/testcpu.c | 129 -------- 24 files changed, 1486 deletions(-) delete mode 100644 plugins/abkill/ico.png delete mode 100755 plugins/abkill/index.html delete mode 100755 plugins/abkill/index.py delete mode 100755 plugins/abkill/info.json delete mode 100644 plugins/abkill/init.d/abkill.tpl delete mode 100755 plugins/abkill/install.sh delete mode 100755 plugins/abkill/js/abkill.js delete mode 100755 plugins/abkill/script/abkill.py delete mode 100755 plugins/score/ico.png delete mode 100755 plugins/score/img/ico-score.png delete mode 100755 plugins/score/img/ico-ts-cpu-active.png delete mode 100755 plugins/score/img/ico-ts-cpu.png delete mode 100755 plugins/score/img/ico-ts-disk-active.png delete mode 100755 plugins/score/img/ico-ts-disk.png delete mode 100755 plugins/score/img/ico-ts-mem-active.png delete mode 100755 plugins/score/img/ico-ts-mem.png delete mode 100755 plugins/score/img/ico-ts-refresh.png delete mode 100755 plugins/score/img/ico-ts-score.jpg delete mode 100755 plugins/score/index.html delete mode 100755 plugins/score/index.py delete mode 100755 plugins/score/info.json delete mode 100755 plugins/score/install.sh delete mode 100755 plugins/score/js/score.js delete mode 100755 plugins/score/testcpu.c diff --git a/plugins/abkill/ico.png b/plugins/abkill/ico.png deleted file mode 100644 index 65fa8e5f7464648b017edfc51fa53d248880f621..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjHJ&bxAs*hzDGLk}mTdgVvsg@k zC$UGNsIc&-e}K3gYxTD`j)uh#bR5b#72^-q_-*0e5ZQ2AV8YYIVhxKA96h>}(dGTk z&FntP%?kxxegp}fv{RU(Q+QH%u1{tfqvgQ{fBwLurt3a+&bVV|p`&1K=kTlJ)4>(2 eQ(71t_cC<<%#d{Sp6~?d4hBzGKbLh*2~7ayxk1qY diff --git a/plugins/abkill/index.html b/plugins/abkill/index.html deleted file mode 100755 index 2dda19b1e..000000000 --- a/plugins/abkill/index.html +++ /dev/null @@ -1,16 +0,0 @@ -
-
-
-

服务

-

自启动

-

黑名单

-

异常日志

-
-
-
-
-
-
- \ No newline at end of file diff --git a/plugins/abkill/index.py b/plugins/abkill/index.py deleted file mode 100755 index efc39a388..000000000 --- a/plugins/abkill/index.py +++ /dev/null @@ -1,172 +0,0 @@ -# coding: utf-8 - -import time -import random -import os -import urllib -import binascii -import json -import re -import sys -import subprocess - -sys.path.append(os.getcwd() + "/class/core") -import public - - -app_debug = False -if public.getOs() == 'darwin': - app_debug = True - - -def getPluginName(): - return 'abkill' - - -def getPluginDir(): - return public.getPluginDir() + '/' + getPluginName() - - -def getServerDir(): - return public.getServerDir() + '/' + getPluginName() - - -def getInitDFile(): - if app_debug: - return '/tmp/' + getPluginName() - return '/etc/init.d/' + getPluginName() - - -def getArgs(): - args = sys.argv[2:] - tmp = {} - args_len = len(args) - - if args_len == 1: - t = args[0].strip('{').strip('}') - t = t.split(':') - 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 initDreplace(): - initd_file = getInitDFile() - - if not os.path.exists(initd_file): - return getServerDir() - - return initd_file - - -def status(): - data = public.execShell( - "ps -ef|grep " + getPluginName() + " |grep -v grep | grep -v python | awk '{print $2}'") - if data[0] == '': - return 'stop' - return 'start' - - -def csvnOp(method): - - if app_debug: - os_name = public.getOs() - if os_name == 'darwin': - return "Apple Computer does not support" - - _initd_csvn = '/etc/init.d/csvn' - _initd_csvn_httpd = '/etc/init.d/csvn-httpd' - #_csvn = getServerDir() + '/bin/csvn' - #_csvn_httpd = getServerDir() + '/bin/csvn-httpd' - - ret_csvn_httpd = public.execShell(_initd_csvn_httpd + ' ' + method) - # ret_csvn = public.execShell(_initd_csvn + ' ' + method) - subprocess.Popen(_initd_csvn + ' ' + method, - stdout=subprocess.PIPE, shell=True) - if ret_csvn_httpd[1] == '': - return 'ok' - return 'fail' - - -def start(): - return csvnOp('start') - - -def stop(): - return csvnOp('stop') - - -def restart(): - return csvnOp('restart') - - -def reload(): - return csvnOp('reload') - - -def initdStatus(): - if not app_debug: - if public.getOs() == 'darwin': - return "Apple Computer does not support" - - _initd_csvn = '/etc/init.d/csvn' - _initd_csvn_httpd = '/etc/init.d/csvn-httpd' - - if os.path.exists(_initd_csvn) and os.path.exists(_initd_csvn_httpd): - return 'ok' - return 'fail' - - -def initdInstall(): - import shutil - if not app_debug: - if public.getOs() == 'darwin': - return "Apple Computer does not support" - - _csvn = getServerDir() + '/bin/csvn' - _csvn_httpd = getServerDir() + '/bin/csvn-httpd' - - ret_csvn = public.execShell(_csvn + ' install') - ret_csvn_httpd = public.execShell(_csvn_httpd + ' install') - if ret_csvn[1] == '' and ret_csvn_httpd[1] == '': - return 'ok' - return 'fail' - - -def initdUinstall(): - if not app_debug: - if public.getOs() == 'darwin': - return "Apple Computer does not support" - - _csvn = getServerDir() + '/bin/csvn' - _csvn_httpd = getServerDir() + '/bin/csvn-httpd' - - ret_csvn = public.execShell(_csvn + ' remove') - ret_csvn_httpd = public.execShell(_csvn_httpd + ' remove') - return 'ok' - - -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() - else: - print 'fail' diff --git a/plugins/abkill/info.json b/plugins/abkill/info.json deleted file mode 100755 index e486cb31c..000000000 --- a/plugins/abkill/info.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "sort": 7, - "ps": "异常程序监控和KILL", - "shell": "install.sh", - "name": "abkill", - "title": "异常程序监控", - "versions": "0.1", - "updates":"0.1", - "tip": "soft", - "checks": "server/abkill", - "author": "midoks", - "date": "201-04-01", - "home": "https://www.collab.net", - "type": "异常程序监控和KILL", - "pid": "4" -} \ No newline at end of file diff --git a/plugins/abkill/init.d/abkill.tpl b/plugins/abkill/init.d/abkill.tpl deleted file mode 100644 index 5534b24e9..000000000 --- a/plugins/abkill/init.d/abkill.tpl +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash -PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin - -ak_path={$SERVER_PATH}/abkill - -ak_start(){ - isStart=$(ps aux |grep 'abkill.py'|grep -v grep|awk '{print $2}') - if [ "$isStart" == '' ];then - echo -e "Starting abkill... \c" - cd $ak_path && nohup python abkill.py >> $ak_path/task.log 2>&1 & - sleep 0.3 - isStart=$(ps aux |grep 'abkill.py'|grep -v grep|awk '{print $2}') - if [ "$isStart" == '' ];then - echo -e "\033[31mfailed\033[0m" - echo '------------------------------------------------------' - tail -n 20 $ak_path/task.log - echo '------------------------------------------------------' - echo -e "\033[31mError: abkill service startup failed.\033[0m" - return; - fi - echo -e "\033[32mdone\033[0m" - else - echo "Starting abkill(pid $isStart) already running" - fi -} - - -ak_stop() -{ - echo -e "Stopping abkill... \c"; - pids=$(ps aux | grep 'abkill.py' | grep -v grep|awk '{print $2}') - arr=($pids) - - for p in ${arr[@]} - do - kill -9 $p - done - echo -e "\033[32mdone\033[0m" - -} - -ak_status() -{ - isStart=$(ps aux|grep 'abkill.py'|grep -v grep|awk '{print $2}') - if [ "$isStart" != '' ];then - echo -e "\033[32mabkill (pid $(echo $isStart)) already running\033[0m" - else - echo -e "\033[31mabkill not running\033[0m" - fi -} - - -ak_reload() -{ - isStart=$(ps aux|grep 'abkill.py'|grep -v grep|awk '{print $2}') - - if [ "$isStart" != '' ];then - ak_stop - ak_start - else - echo -e "\033[31mmw not running\033[0m" - mw_start - fi -} - - -case "$1" in - 'start') ak_start;; - 'stop') ak_stop;; - 'reload') ak_reload;; - 'restart') - ak_stop - sleep 0.3 - ak_start;; - 'status') ak_status;; -esac \ No newline at end of file diff --git a/plugins/abkill/install.sh b/plugins/abkill/install.sh deleted file mode 100755 index 8b92a9131..000000000 --- a/plugins/abkill/install.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin -export PATH - -curPath=`pwd` -rootPath=$(dirname "$curPath") -rootPath=$(dirname "$rootPath") -serverPath=$(dirname "$rootPath") - - -install_tmp=${rootPath}/tmp/bt_install.pl - -Install_abkill() -{ - echo '正在安装脚本文件...' > $install_tmp - mkdir -p $serverPath/abkill - echo '0.1' > $serverPath/abkill/version.pl - echo '安装完成' > $install_tmp -} - -Uninstall_abkill() -{ - rm -f $serverPath/abkill - echo "卸载完成" > $install_tmp -} - -action=$1 -if [ "${1}" == 'install' ];then - Install_abkill -else - Uninstall_abkill -fi diff --git a/plugins/abkill/js/abkill.js b/plugins/abkill/js/abkill.js deleted file mode 100755 index 702b10e8c..000000000 --- a/plugins/abkill/js/abkill.js +++ /dev/null @@ -1 +0,0 @@ -pluginService('abkill'); \ No newline at end of file diff --git a/plugins/abkill/script/abkill.py b/plugins/abkill/script/abkill.py deleted file mode 100755 index 3f9df2fbd..000000000 --- a/plugins/abkill/script/abkill.py +++ /dev/null @@ -1,85 +0,0 @@ -# coding: utf-8 - -# 使用示例: -# 1、将此文件重命名为btkill.py , 然后上传到服务器/root目录 -# 2、执行 python /root/btkill.py - -import time -import os -import sys -sys.path.append("/usr/local/lib/python2.7/site-packages") -import psutil - - -class btkill: - __limit = 10 # Cpu使用率触发上限 - __vmsize = 1048576 / 4 # 虚拟内存触发上限(字节) - - def checkMain(self): - pids = psutil.pids() - print pids - num = 0 - for pid in pids: - try: - p = psutil.Process(pid) - if p.exe() == "": - continue - name = p.name() - if self.whiteList(name): - continue - cputimes = p.cpu_times() - if cputimes.user < 0.1: - continue - print p - percent = p.cpu_percent(interval=1) - vm = p.memory_info().vms - if percent > self.__limit or vm > self.__vmsize: - log = time.strftime('%Y-%m-%d %X', time.localtime()) + " (PID=" + str( - pid) + ", NAME=" + name + ", VMS=" + str(vm) + ", PERCENT=" + str(percent) + "%)" - # p.kill() - num += 1 - print log + " >> killed\n" - except Exception as ex: - print str(ex) - return num - - # 检查白名单 - def whiteList(self, name): - wlist = ['yum', 'apt-get', 'apt', 'redis-cli', 'memcached', 'sshd', 'vm', 'vim', 'htop', 'top', 'sh', 'bash', 'zip', 'gzip', 'rsync', - 'tar', 'unzip', 'php', 'composer', 'pkill', 'mongo', 'mongod', 'php-fpm', 'nginx', 'httpd', 'lsof', 'ps', 'redis-server', - 'mysqld', 'mysqld_safe', 'mysql', 'pure-ftpd', 'sparse_dd', 'stunnel', 'squeezed', 'vncterm', 'awk', 'ruby', 'postgres', - 'mpathalert', 'vncterm', 'multipathd', 'fe', 'elasticsyslog', 'syslogd', 'v6d', 'xapi', 'screen', 'runsvdir', 'svlogd', - 'java', 'udevd', 'ntpd', 'irqbalance', 'qmgr', 'wpa_supplicant', 'mysqld_safe', 'sftp-server', 'lvmetad', 'gitlab-web', - 'pure-ftpd', 'auditd', 'master', 'dbus-daemon', 'tapdisk', 'sshd', 'init', 'ksoftirqd', 'kworker', 'kmpathd', - 'kmpath_handlerd', 'python', 'kdmflush', 'bioset', 'crond', 'kthreadd', 'migration', 'rcu_sched', 'kjournald', - 'gcc', 'gcc++', 'nginx', 'mysqld', 'php-cgi', 'login', 'firewalld', 'iptables', 'systemd', 'network', 'dhclient', - 'systemd-journald', 'NetworkManager', 'systemd-logind', 'systemd-udevd', 'polkitd', 'tuned', 'rsyslogd', 'AliYunDunUpdate', 'AliYunDun', 'sendmail'] - wslist = ['vif', 'qemu', 'scsi_eh', 'xcp', - 'xen', 'docker', 'yunsuo', 'aliyun', 'PM2'] - - for key in wlist: - if key == name: - return True - - for key in wslist: - if name.find(key) != -1: - return True - - return False - - # 开始处理 - def start(self): - num = 0 - while True: - num += self.checkMain() - print "查杀完成, 共查杀[" + str(num) + "]个异常进程!" - time.sleep(3) - print '=======================================' - print "查杀完成, 共查杀[" + str(num) + "]个异常进程!" - - -if __name__ == "__main__": - print "正在检测异常进程..." - print '=======================================' - c = btkill() - c.start() diff --git a/plugins/score/ico.png b/plugins/score/ico.png deleted file mode 100755 index 8a6e3be1f7abd14c22db271c3b2282d502309d51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 832 zcmV-G1Hb%f$$Qwa^MBlBWY{~l_6819WFx|Z~%Ekt<<;#g(k5z zM`b`CRK_tVC&KX+pYRc%5rT8bF6t%4HYnUf*4Piq9K=wBLJ1LghVxjC5$J_(=#MEV zDC+rRfmUNC0%J8O14xHuP6FP>T$F{cf%!cMAy5cGrP$qGxRY29CA`24WHV8-89r;Z zjvfI8cK5>*-VBEb}|K~!%wUS525fD`7IAB9@))uPNGyaPEX^Ygm0)J+D<}< z)@BEM-4(PdlqSsJV1HkTRge-}dP!hVpA=(Gw zD8j{E^|m@_ZgFOPhjJ!EX2Jz12~UyRNxvHSsI~oyd{zhTE*{xECPN0v#YY$mA18f1 zaZ)_OeXI-03y8seK@XEbM~Q*z-lMdO{{8Vy>$4S}Rs~IqJ6iE)C}bjJUGeBi8xRRd2gZ4t0i=aIW)SHIyTHk$E1wAE}^dSZYl@W(rguH=# z25Jry2aU^C1-&a)+};KTl@C{31RVx1gHOm8eL-?Z(61OAokP2D%kT=$AJRn7hgJnW zBIf86g99sy8_wn?JPp>HAm-?4tAbY2_R+g2ZQ@-@R?NXOe8+XPhL4H;xCm}R;T~#O z71V(WScxidm^>AEBRfhVjhQ;);;%$yc-sGav4h4Xc2GO09rOp@&c>0ICYPcB0000< KMNUMnLSTZOXnMf_ diff --git a/plugins/score/img/ico-score.png b/plugins/score/img/ico-score.png deleted file mode 100755 index 42a9ac3080cfee4804d1111855460b6abe5f8358..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1296 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 VG=P0@r}Y2;002ovPDHLkV1mz&3Ml{p diff --git a/plugins/score/img/ico-ts-mem-active.png b/plugins/score/img/ico-ts-mem-active.png deleted file mode 100755 index ea383549c6e41ba2f783fc22a37ed3c1ad5efca8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmV-w1C{)VP)pF9CSrkbW?9;ba!ELWdK2BZ(?O2Mrm?o zcW-iQb09-gHt4*vi~s-t7IZ~ebVG7wVRUJ4ZXi@?ZDjy3H7_tWFEKan@iX}V00P2E zL_t(oh3(cqXcJ)=$MNs;-X%@ZK|#TS+E>gVIyk5$i3rt6C(%KyZTy3Xi-VwxASgIE zsNmorC{(nm;-F404rWM`7CTfZ4*r4bAB$B)MWr^m+~c62sZ9=R8wCAr_uliqpS$Ky6N6uXn>ob|PDV zaYVMQ$fWv~-cB~oISeqeJ3Cm6m==T=3M~;|3QKNpT0G}4z}T+b@I;Ih!c$e&#!BTv zC9JYwuJG}l`PW`kbd3swz)JV$lYXE%*9bUr%4SmgW?dgE0`!Bfu7F3=h3B>_c|wtc z0(REn?@@S%?M^*3;lNrWoK zy!YDk16AQ=*Eg<5w1Cu}2%`aZ^vh;-owyitB^3Uaimko^9$6L{uw%tGp!OXr{zOBp zKjMEJjB0})PX4;ZgZoXKReeWcV4b=Ygq57^EPO~jmf10B36X}YxNCjbBd07*qoM6N<$f~k*< AGXMYp diff --git a/plugins/score/img/ico-ts-mem.png b/plugins/score/img/ico-ts-mem.png deleted file mode 100755 index fb497b6f3bac27aaa2036cd8b864371217603511..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 683 zcmV;c0#yBpP)(~lxJ!J3ud7OAo*0f|7f^3 zjwF8tJOnOEzTGU$W<3*`=cRFBD`gfQ1E+wmz>MTi%fM?Uv+x`^4txPlO8%@Ca0>4N z$ACrPgyb(J-&8p`h4+C&!25LVNWPqj90uM1`+-gtytP93XJ8-D2X<#0M>}1w zNjqhmr?ivLtQ*cp4uf zI7?=sR|uB;Akc|O1aK6XCK;hIY7~Nj9&nntFYb~wgFyszWa?$_@c@{QNHo+k@L(1G ze6Zw`zy)AqN!%}B4%h<3bhz(k;Z7kK*aO^%NCeO#sqwW4?*J$Un}wd_JBg^VSy%wt zlD8tj%h`>Q>tq%_MI>73|F9Z=E;z06d0=x%+z;R`$rzmlHk9}m&B9zEn51SmOOg!L zCYfN@BfJBW!xzkOOrcwK!<{$Bgnl2<3 R*ERqE002ovPDHLkV1f^N91H*e diff --git a/plugins/score/img/ico-ts-refresh.png b/plugins/score/img/ico-ts-refresh.png deleted file mode 100755 index 1c84c4f66d9320e6021beb8f2983f4d7443d061f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2941 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 diff --git a/plugins/score/img/ico-ts-score.jpg b/plugins/score/img/ico-ts-score.jpg deleted file mode 100755 index 86a277bd36898ebc812e483c004ce2e04ade60d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3977 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 hGsc+7mr=?lf4PPivH8fRt -.chaphb { - color: #20a53a; - font-size: 14px; - left: 14px; - position: relative; - top: 62px; -} -.testServer{ - padding:15px; -} -.ts-head{ - height:130px; - position:relative; -} -.ts-h-score{ - float: left; - height: 62px; - margin: 30px 0 0 40px; - display:none; -} -.old-score { - color: #888; - font-size: 14px; - left: 50%; - margin-left: -100px; - position: absolute; - text-align: center; - top: 90px; - width: 200px; -} -.ts-stamper{ - border-radius: 45px; - height: 90px; - left: 280px; - position: absolute; - top: 20px; - width: 90px; - transform:rotate(-30deg); -} -.ts-h-s-img{ - background-repeat:no-repeat; - background-size:90px auto; - background-position:center center; - height:62px; - width:96px; - float:left; -} -.ts-h-s-img1{ - background-image:url("data:image/png;base64,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"); -} -.ts-h-s-img2{ - background-image:url("data:image/png;base64,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"); -} -.ts-h-s-img3{ - background-image:url("data:image/png;base64,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"); -} -.ts-h-s-imging{ - background-image:url("data:image/gif;base64,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"); -} -.ts-h-s-num{ - color: #20a53a; - float: left; - font-size: 20px; - margin-left: 30px; -} -.ts-h-s-num span{ - font-size: 22px; - line-height: 60px; - margin-right: 8px; -} -.ts-h-s-num span img{ - margin-left:10px; -} -.ts-btn{ - border: 1px solid #cacad9; - background-color:#fff; - border-radius: 3px; - height: 40px; - line-height: 40px; - color:#666; - position: absolute; - left: 265px; - text-align: center; - top: 39px; - width: 140px; - cursor:pointer; -} -.ts-btn-start{ - border: 1px solid #20a53a; - background-color:#20a53a; - left:265px; - color:#fff; -} -.ts-btn-start:hover{ - background-color:#10952a; -} -.ts-btn-reset:hover,.btphb:hover{ - border: 1px solid #20a53a; - color:#20a53a; -} -.ts-info{ - height:30px; - color:#666; - border-bottom:#CACAD9 1px solid; - padding-left:40px; - font-size:14px; -} -.ts-info font{ - font-size:16px; - font-weight:bold; - margin-right:3px; - color:#20a53a; -} -.ts-info a{ - color: #20a53a; - margin-left: 20px; -} -.ts-info img{ - margin-left:6px; -} -.ts-content{ - float: left; - padding: 40px 0; - width: 100%; -} -.ts-c-box{ - width:33%; - float:left; - text-align:center; - position:relative; -} -.ts-c-b-score{ - font-size:16px; - height:30px; - color:#868686; -} -.ts-c-b-img{ - border:#B9B9C8 1px solid; - height:90px; - width:90px; - border-radius:45px; - margin:0 auto; - background-repeat:no-repeat; - background-position:center center; - position:relative; - z-index:1; -} -.ts-cpu-ing .ts-c-b-img{ - border:0 none; -} -.ts-c-b-name{ - color:#888; - font-size:16px; - line-height:40px; -} -.ts-c-b-info{ - color:#aaa; -} - -@-webkit-keyframes rotation{ - from {-webkit-transform: rotate(0deg);} - to {-webkit-transform: rotate(360deg);} -} -.ts-box-rotate{ - background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNS8wOS8xN7aSI68AAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAK1UlEQVR4nO2de1BTVx7HvzcEkpRXICaEgBJwQTuVCoiPAOPq6qqtdCq1tZ3W1k63zs647qO2u7Pbun3YdXemW91u191pV7fbVnR8Ie4sFV0RkIIo5aGmtDxWniEEQiA8k5Dce/YPbae4AW9CconkfiZ/wNx7fueX+dxzb3Jz7u9QhBACHp9BMNMJ8EyEF+Jj8EJ8DF6IjyGc6QTuRteoAVd769AxokeTuQUGixFtwzoM2AanbBchCoc6NBZKiRxJ0gTMC1FhuSIVMcFKjjJ3D8rXPmUNjQ+jRF+JEn0lzneWQSaWYpkiBXEhMUgMV0MpkSMuNBZSUfiUccy2QbQP62CwGNE82Ib2kS5U9V6DyWrG+rkrsVqlwWqVBmFBoRy9M3b4hJBRhwUF7UXIbT4Do9WE5MgFWKvKwprYLIQHhUJAUQAoCEDh1otiFZeAAARgQAAQMIRgcHwYF3XlKNKXQ9vfCLlYhq2Jm5AdtxbBQolX3ycbZlRI82Ar9t04iCs9tVihSMPWxBykyRchUCCEgApAAOWdSxxNGDCEhp2hUWvUIrc5H1d6a6GJSsOuB7cjMTzeK/2yYUaEXOurx57a92EY68ELC7dgk3oDQgNDbovg9nMGQxjYGQeG7SPIbzuHfzacgPK+KLye9jOkzHmA01wAjoU0D7bitS/+iD5LP15Z/GN8P3o5ggICESgI5CqFKbEzdozTdlzqvop3r/8dcyQR2Lv0l5yOGE6EMITBm9V/QkVPNZ783kZsituASFEEhIIAb3ftFg6GRr/NjDPthTj+38+QGZWON9Nf4mT0el1IWfdV7LryNtaqsrDjgWcRJZFDFBDkzS49ho0eR4/FiL/VH0aRvhz7V/wWK6OXe7VPrwrZVbkHX/Y34TepP8Ey+WIEB97nra68yqh9DFXG6/hD3V+xKDIJ+zWve60vrwjptZjw3MWfIiE8Hrse3I74sLkIoHzz9MQWmtBoHerE/hsH0TLYik/X/AUKiczzHREPU9f3JUk5tZ58UJ9LTNYBT4efcUxWM/mgPpeknFpP6vq+9Hh8jwrJbconmfmPkcKOYmJxWD0Z2qewOKyksKOYZOY/RnKb8j0a22NCPm48SdLzssm5zlLiYByeCuuzOBgHOd9ZStLzssnHjSc9FtcjNxc/aTqFoq4KvKt5DZnKpff89YINAVQA1sRkQaQR4VDDcQDAtqTHpx94ukYPN50mS/MeIZf0lYRmaE8cJPcUNEOTS/pKsjTvEXK46fS0401LSI1RSzLPbCbnO0uJnbZPO5l7FTttJ+c7S0nmmc2kxqidViy3hRjGjCTl5HpytqOYOPxwZNyJg6HJ2Y5iknJyPTGMGd2O4/b3kIc+ewaPxj+EFxY+iSAfuRc104wzdnzUcBz/ai1E4cYjbsVw6+bMK1f2Qh2mxpb52byM7xAkCMSW+dlQh6nxypW9bsVwWUipvhJa01d4efF2RIqkbnU6m4kUSfHy4u3Qmr5Cqb7S9QCunN/stIOk520kxV2X3T5H+gvFXZdJet5GYqdd+07m0gjZU/MeVkVnYIUizXXzfsYKRRpWRWdgT817LrVjLaTBfBMVPdXYmbwNYqHI5QT9DbFQhJ3J21DRU40G803W7VgLeaN6P7YkZCM2JJrlFAP/hgIQGxKNLQnZeKN6P+t2rITUGLUwWkzIid8AAT+3jjUCCJATvwFGiwk1Ri2rNj4xDWi2c7a9BP9oPIa8dR/edV/+cOeAlarl6B7rZXUt4YVwgFgoxvMLnsCftR/ddV9eCAcIKQEei9+Ay4ZqjNhHp9yXF8IRESIplilScbajZMr9eCEcQQHYtmAzDjfnT7kfL4QjBJQAaXOS0Wc1YXB8ePL9OMzJ7xEFBOKBiAVT3nTkhXAJofDDmCyU8EJ8A4FAgLWxmfhPZ9nk+3CYj99DAZCJIyEVhaFr1OB0H14Ix9CEhkaZhqu9dU6380I4hgIwLyQGHSN6p9t5IRxDUQIkhcWjydzidDsvZAaIksyBwWJ0uo0XwjEUKMSFxqJtWOd0Oy+EI+KPZqJIVw4AkIkjJhQ+KNKVI/5oJoB7oJLDbKHi0dN45/oHuGaqx/MLngAA9NvM+KjhOHSjBlQ8ehoA/4shpxitJhz6+hj6rAM43VqIzQkPQSaKwIv3PwW5+PbTWF6YksRzFwraLxL1kQxytr34/7b9n5Cz7cVEfSSDFLRf5CQ5nokI7xxOJtsAAKC46zJumL6eOJx4vI4AAPSjPdhbewCBAiFeTd0JAPh16g4ECoTYW3sA+tGeGU3SryCEEPWRDHKh8/Nvh436SMa3f1/o/HzC/zzexemnrLS8h3Fh4xHIxBEzcYz4NU6/GKpDY9E+rLtVb4qHU5wKUUrk6LH0cZ0LDyYRkiRNQNNQKwhhuM7H73EqZF6ICh0jXfwJawZwKmS5IhWVhlq/KADgazgVEhOshNk2BJO1n7+wc8ykt9/XzV2JIl0FGP46wimTClmt0uBCVzn4AcItkwpZpdKgfqARNmacy3z8nkmFhAeFYo5Yhtq+ev60xSFT/oT7bGIOPm3K489aHDKlkIfnrUZVTx0GbGbwFxNumFJISGAwNMolON1aCAehucrJr7nrrJOfJ7+AjxtPweqwcZGP33NXIQul8xF9nwJl+iou8vF7WM3LejV1J9698SF6LSb+SuICBLdqGP/g30+xLhzASsgSeTLkEhnyW8+BAf8RmC0MGOS3noNcIsMSeTKrNqxnLr6VvgsnWgqgG+nmRwkLCADdSDdOtBTgrfRdrNuxFrJQOh+ZUek4oP2Ev8CzwOqw4YD2E2RGpWOhdD77hq78AM8XMGOPuwXMXJ65WNJ1mawreJo0D7a62tRvaB5sJesKniYlbhy4Ls9+X6XSYFHk/dh3/SD6bWZXm896+m1m7Lt+EIsi78cqlcbl9m49jrBPsxttQ204cbMA44zdnRCzknHGjhM3C9A21IZ9mt3uBXF3WPKFlCfiqULKHio1fsnli9dswk47yPnOSzNbavwb+GL8ni3GP+0nqLYm5oAhDA42HAMBkKlcCqGfzFahCY1ywxc41HAMOxdtw9bEnOkH9cBBQgjhF3TxFB57xnBb0uMQUkK8Xf0+CGGwSpUBccDsrO9rpW0o1V/G72oO4BfJP8IziZs8F9xjam/DLwo2Pfhl81jC1bJ5XnlOXSGR4Vz2UYiFIuwo342y7iqM2se80RUnjNrHUNZdhR3luyEWinAu+6h31jAEv/TqlMy6pVe/gV+cmD2cL9/9atU7MFkH7onlu2ViKX6/7Fezb/nuO+EXuJ+cGS2t0WRuwX7tIVT21GCFYgmeS8xBqnzRbTEBCPCSHJowYAgNO0OjzqjFp835uNJbg4yoJXgp+UUkSRO80i8bfKLWyajDgoL2IuQ2n4HRakJy5AKsVWVhTWwWwoNCIaAoABQEoHDrxW4FEwICEIABAUDAEILB8WFc1JWjSF8ObX8j5GIZtiZuQnbcWgQLJV59n2zwCSHfZWh8GCX6SpToK3G+swwysRTLFCmIC4lBYrgaSokccaGxiBCFTxlnwDaI9mEdDBYjmgfb0D7ShareazBZzVg/dyVWqzRYrdIgLCiUo3fGDp8TciddowZc7a1Dx4geTeYWGCxGtA3rJtSbckaEKBzq0FgoJXIkSRMwL0SF5YpUxAQrOcrcPXxeiL/BV5TzMXghPgYvxMfghfgY/wNv/9PZZVBljgAAAABJRU5ErkJggg==") no-repeat; - border-radius: 50px; - height: 100px; - left: 61px; - position: absolute; - top: 25px; - width: 100px; - z-index: 0; - animation: rotation 2s linear infinite; - -moz-animation: rotation 2s linear infinite; - -webkit-animation: rotation 2s linear infinite; - -o-animation: rotation 2s linear infinite; -} - -.ts-cpu .ts-c-b-img{ - background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOnAAADpwBB5RT3QAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNS8wNi8xN+7xM/kAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAEkElEQVRYhc3YW6hmYxgH8N+397e3OYgZkeS4UaZw4ca6GFwwXnIqFw43Si5sOVxghguhiJRTTjEpETdK3ODipZSSVgo1RiOTGYcUhTHmuGfv/bl433e+9a359qHY8tRqfe+znvd5/ut9juvr9Ho9C1GM9QY8gnNCqDbHWB+Pb/FCCNWGLHM/HsJECNX2GOvT8RmeD6G6fyEbIwui+I9osUD2oIc/8/oPzGJfSwZ2NO6z2LsYA52ma2Ksz8YF6GZWLysLuBKPYTuOw4P4EG9n2atwqeSen3ES7kXE+9JLd7LsND4OodpUbBeDhS7Ac/ktZvLGgvQv3J6BjWAXzs2XLPsX7mrI7MVanNfQ1cUy3IM5gXSxHzdh85CTab7VTGtdZEbn2TONNXgjPxsw3KYD2BRC9fWQZ/+YYqx3ZBsrmvx2sPYk9ONLASLTuEGX49ATmWkuYqxPwelZrmM4lcz4PIRqV4z1Gpxo0K3T2BpCtR2HG8zABCQXK1L6XazvW7hByoKZzGuD6WEMv2EdvsSduDkb70mnPooH8HBj37oY657soq5UMctpjEvZUI5tNPMns7G2K2dwDS5pgB+TasgtUuAfgxdbe3u4Iu8bLUDOaSi9Ebc2Nu3DFN4JofrdEIqxXo3LsDyzutgZQvVmfr4cz+qf5r6s/3m8dBBICNXmhtJv8oayaSrfj8VQIPkE2gE+EmM9GkI1gyNa8gey/HchVFsKs5sDknRcE/leXFOCdHoOEEWm15DpweTU2pltiVViq9eSPzHG+uTy0l1sayneqe/vFVlw1zxAVkhuLb1mBCdsHP/k1Rjr/ViFw/SzaHnWvz5fB9E9kH/vwYU436HZMVfqDqMt+ErKwE42ugk/NHR18B4+UrImhKqklBjrnVK/KcG6WzrGw+cxvFsKuJV5/YQUnM2C1ZEyiPTCHXwQQvVMEfjfzCPdPFnRd02zoK20cIyslGJkd16vx/U4St81v0td/WXJFT1cHGPd1ShoD7UU79TqA0PW89EanIXXJHeswrXSfFJ09XB5vpBcM5GvU6QS3NF3WZnM5ouRPVKMlG46i58mp9beGEI1Kc0w+/XTe2/W/0S2OYGJbm5EIMZ6m8GCVvrFsHFBQ6bTkOnAxvFPSnsY0e/qTfkfQ6i+L0q6MdZn5t8zOMNgQSvV8pd5gBzI8lMN3myuqiRXN2ksy5+aO/XBXvNFA0hpeiVYl2Xe1THWczW9dflehuRpHBFjfZ1+0yvGi85ZyWWTTSD3ZYEyBlxocBwcxUYLjwEF5AEpQN8wOAY0R8MO3sUHGgXt8fI0xhouaih9HZ9a3GC0Na+fxluGDEYtIB+GUL1QGO0gHG0uciBvnwPAUModdcs8IrsykCObzLbPS5ecsnQ0ZTCLMDwtx3B2jPWIpfucGNPv1kOBTEst+xWHfmDRL9nlJNsBOJdMqU2lJo1reaMN5GPc4dCTWJJPzqbhziL/lrgNT+G0EKqfYqxX4Fc8Xf5yiLG+Wyrbq0OodsRYH41v8GQI1aML2VjsGFAmtRLpq/PeZS0ZUg0p9xH9ofpfAbLk9DcV8JOkYAoCnQAAAABJRU5ErkJggg=="); -} -.ts-mem .ts-c-b-img{ - background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAiCAYAAABIiGl0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOnAAADpwBB5RT3QAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNS8wNi8xN+7xM/kAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAACA0lEQVRYhe2WP2gUURDGfxcPjGihoIVgETCFaGGhyMNKbUYrsbRKQMTGQtBGEBQsLFSwsAhoIRaSSq2EDwuvOLgRrjjhsPAPiKQwihghjXiKxe5B3NtlX47sIsSveezjm/ntMu/NbEPyn0CTtdVv4JxZuF9kaEj+FjibPh8AbgH3gNdjQrcBV4AJ4LZZuJRnagILZqEFIPlUuv9ouDeOJH8FPAQuSr7dLMxmPROZ56VxYStlFh4Dp4CvwIzkT8vAayaz8Bw4DnwBTkr+rBZwCu8Cx4BF4ITkLyXfVDk4hfeBQ8D7dO1IvqNycAr/CBwG3gD7gU4WvLVC+GdgH9AHdmcbRztdr0o+U9E7dIG9f4HNwjvJLwNngKmKwADfkPxFhYBcSf6klsOVp/UHHhmHkgdgsiRuAHgaHyI4S2ahVwiW/CDQiUgEcBSYJhmhMWoUgoEecJq4L+6SNINBBHRk6mXv8QCYj0g01DLwYBX+fLDkk8AFYGNJ3C9gDtgCxHS472bhTiEY2APciEgE0CKp8bUI7wAoBpuFnuQ7iaixWVgA2pK3IsDL2Y2R62QWPkUkWun/sBp/Ljit8Xlgc0ncD+AuyRidBTaU+BfNwlwhmKRmN0uSDNUmmWDXI7wDksOYDzYL/TFq3C7xwr9U4/U3nf6Da1MT2CX5kZq5002SplH7n+Yf8YeaLiQW1zYAAAAASUVORK5CYII="); -} -.ts-disk .ts-c-b-img{ - background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAhCAYAAAAh3nDkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOnAAADpwBB5RT3QAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNS8wNi8xN+7xM/kAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAADp0lEQVRYhb3WT4iWVRTH8c+8vTqmM6Ljvxk1gmxREG1CniCiIrhhS/tLm1wUBP3BCAoXLQQhiIhwEQQtIlrEVKta5NFFG6GHSiSqRWSFqWMzav4ZzWbGmRb3eafHcSbnrXc8MAzvcy73e+655/zu6ZqamgIR5Sa8iXW4TudtEsPYkVLxHTRrzgGsxTc4uQDwFdiMflwB78df2JVSMdRpckS5Ep/ImQWNmr8Pl+T0LIRNVvuvng2+unL+sUDwcxjHqtng63AupWJsIcgpFZM4IV/vFfCV+H2+m0WUzYiyN6JsXn31tA2jN6JsUBVcRLkE1+PQPKAbsNU/lTscUR7EvpSKg/OA34wenG1F3YulGLkK+CE8hdPYi+PVRnfj7YhyELurFM9mI/IhL4P3VB/nhEeUD2IHPsRB3I4D1WkHI8q7ZJFajNf/Bb6s4k3feW/1cXgO8FI8h/cwhNvwUT3NKRX78Sy2VoHMZsPornjT8B5ZUq+AR5Q31U5yBj0pFW+lVPw2c21KxdcIPDYH/Di6WvBW2ldU/6erPaLswot4GEfwLqbw8Rwbt2wvXp7Dd1IWm3V1+EZcqP5a9jQewc6Uis+vAqzbaQxElM/j/ZSKMzXfOE614K2098kpn4CIcj224bU2wXBYLson8U5Euabmm6g4fTPhI4+f2DVR/S7kyow2wVIqzqRUvIFHZcl+qeZrqVxfRNloRJSLZb0dOfXEp611/RhNqbjYLrwG+hk7cV9EubbmGq6CWtyQS3+Vy3t8GMsiyv87VBzFRSypfRupeN1NLJLTXtf1r/AKtkWUX8hV3tUGdKoCPlMFcKzmOy53V3cTy2VpnV6QUnE4otyN7XLhXWoD3gq0G9/KY9NEzT8ka8qaptxmk2a84ykVH0SU+6tNWpvO1xoYw68pFZdm+EbliWljU57dzrm8x1sB/NIGcL52AWfR36jBRxcANJuNVrz1DbmtriX8fMUaaOAGuaf/vBbklIrxCr6xKev7UES5XC6udlrqv9hFua03NOUh4h7cWQWy0PBxWQPGmvLg+KP8FC7qwOaj8jSzSK6lHvlBGZcHlnHcj1tbJ/8hpWKwA2AR5WYcTak4FlEmfCZ3VH9KxYFqzUrc0ZDFoxMnVj1S2/FARDmAV7EJ9+KFakqmEq7WHXek0lMqxiLKbVVFiyi3pFSM4qeIcrAms+eha8+eL/fJs9n3nQhAvt8uWb/H5QNOyhluTU63qKr9CG7Elg7B52PncehvmlE0gH1wp/UAAAAASUVORK5CYII="); -} - -.ts-cpu-ing .ts-c-b-img{ - background-image:url("data:image/png;base64,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"); - border:none; -} -.ts-mem-ing .ts-c-b-img{ - background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAiCAYAAABIiGl0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDUvMDYvMTfu8TP5AAACwklEQVRYhe3WP2gTYRjH8e/z3iVN0UFBwYLaV8wgOjioJYkI1Ukn0UGsbfyDiIuDoIsgKDg4qODgIChUtKnioE4uDmZIkxY7VCgO/oHrH4tVREWlNrnc46CgqU0OaxsE/W333vO+n7v3vbv3pDmTKgm4AAoIfx6FgEAOD6V7rlarkeZM6pkEwSEAFV0n4pxXDa4I+mQmaIBZaJCTKhiUC0Md+ePT1bkiOuqle7MANpOyAKJ0e+m+7ExggOZM4rHgXFf02PLu5KLhPYX9U2tMxZHo+5liP2eovfdOEPg7RPStUdlnb6bu1YZnMcPpvgdlY7aCvCFgu+1K3q8LDDDS1tNfdiJbgHFEtq3IpPqW3k42zjkMMLI7O1iMmBaEFwotEV8KS25vWjznMMDYrtzwRIwUwlNV1sZK5UIlrLJgrvDxnfnXXlN0jQqDwEr355N+oDnXCDhyymZS+2ZdHysC9IOuroBH04Xntit5QpGDAnbW4e9ReIftTj6cK6BabCZ1ty4P13T592B3aoPt2phAy7FanQLH9Yeb3F7r4eJ+SYQqxrz32vMDVeFl1zeuR7SA1J4IowF29MtmdZ24GHMlFP6Wiq2+Ah5ZFhmwY8U2oPYdK/5EQ6w/4n8cjGqDH07+uutVTvXmrO/BrdCBfuQTcO036qeHbWdrjMjkUUQaanVSKJdk8nJUIvMJTPgXTvWD11G4WBUmWlwFcjZsHAFcGrMEQRw4HeqK+EB12GvPD9jODU3EnJprXCqr/7I9Pwrk7M1ENgwuaenT1LZfXifvwKNXYQNV1Lf1er9TPy1sO1tjGp08Isi8mr1UJz9HGy5FixMLXHH2Czi162Xc6+i5XBUuO8W4g5wLvVwRGn0/B44VOBNWrqI+UB0e2ZsfnMEa58Lgv2qN/73d6T9ct7iqstTeSLTWE1Uh7grEMaauf5qi8BVb0ghpurToJwAAAABJRU5ErkJggg=="); - border:none; -} -.ts-disk-ing .ts-c-b-img{ - background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAhCAYAAAAh3nDkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDUvMDYvMTfu8TP5AAAE0ElEQVRYhb2XS2yUVRTHf+d+05mWtqQv6Awt0g9MfERlYaplpgSNiQaXoEKnGrvQxMRHMCYaFi5ISEyIEsPCROMClZlC1cREFwZYGGQABUkx6oIAMwKltAWkzFBhHve4+GbaQgu0ccp/ec/9/r/7nXvuS1QVADe2YhlitgLNgEP5ZYFhRDcmuw78AeArRQQnpOhC4Dfg4hzA64B2gSBwI1xFg8B1YHMymhgsN/meHeF6x8i3qDSX2sx4VKQBKOClp+wSYyxQUGiaCldtAgoOhX/mAu4EsmkgB9o4Fe4VWvpE9FB2LuCn1v5qgQsgweng9SBDMzVribf73HhHbWv8Md+de3tSGAZq3Y8eNlAsuLYvwpVSIVWgJ+9k4MY7WlBnjV/87UCwAmfYjUX6gb3J7kT/7b4VZBj0XhbV1gBXfADiM7Wg8xAduS24t3MtOK+oyGVgj6DngRoMK1E+cXvDffiz25Jrj0xftGpHEKkCJuA41GCpEiu3hLvxzmdBN6qyE+jH6CMoR5PRRD/Q1xYPR0RlK9cDfmDLLWxGgGqs1EBpzi21QHVxTqaCd3XMA33DCtsxDIroQ1i+LoIBSEUPJFB9HVizJNYZmc7HSzsB0NoJOFoDOCpT4W29K5dScLaogEFHRalJRhMfp7oTZ27um+w+cATYbUTXTQe3Ys97Y5BaKBacitSJKgjj1e5uflB0ad3bgjwHnEX1cxDN5/Wb6YwnaY/Cu9NGVC4iWLxlXdxeVVtRxsQyNt5xWf2rojyvwqZUV+LHOwAn/JHLgobceOTNvDFfnln/82gpJo6Tw+olsM0wsc4bRBh2HPIAbm94kSo9Ch/MBuzBOa0iOxVe9ln76eJd4QWlWIVf8iI6DNIwDhdosDBySRvyxfQ8LjCCU9g9GzDA39H9o6mu/R9i7QtAk1PgnVLs+Jp9FuUC0LDwu1XG3Bdf5QcaUUYuRb8v5keCQCa17tC12cJLSr148JRFN4E8uSQWWVhqL66opsq09Zsc2QBoozBpjVuGgWr3s47/dakQNQMC1xBbOdHICNCIkw/4VE0F0IDo0KSvDgPv2Rqnx9254idvwMgsuIo1lSCvAQPG2HMT3nIetM5RCfhEmK8wT9HxDslo4nRbb2SbUTZgTQ/eOT9TeGmgARH9vYDZeHr9L/lxttVBwBFkgU+hFbBi5YZzPNWV2LE0HkkoBCaZzlQGyGaz2dRAz+HC5ICFjHg3plYfSAg0DXbsZodT0URyFsAZSY2OiZUrCEGDaghIY0ym3KDpZKxkgLSqLDIYgkDaUXtX4BScq0AGNGRQFgOZE90H/70b7ORL+3JABpFWHyI+VAeXfNUx33jFNZslNXtZe42KiiFUW3yoVgGrjON04B00cwt3nBxQCWR9QL3CcYE9QEUZ7DOAv+iVxrsy5YEcUA3kFJ4SeMAHVAn8lYwm+soAxo11tuPoQHJ94pwbjzw9SOiHZoZCBhtMRhNHAdx4pB541OBtHuX4Y9pinX5EN1DQZ9xYOAS8H2JwmcE+Abzl9oZLe3wAJua4LJWe6t6fdXuX9ySjx3IA7vaO1cmeQxnghBtf3pfsOlbaZq8CSFssvBcYBf4sxwDw5lfwntk5vB+0eBkuPTDuB1p8CmcFlgCrywSfia4qnPwPgn/VB7okeIwAAAAASUVORK5CYII="); - border:none; -} -.ts-cpu-over .ts-c-b-img{ - background-image:url("data:image/png;base64,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"); - border-color:#20a53a; -} -.ts-mem-over .ts-c-b-img{ - background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAiCAYAAABIiGl0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDUvMDYvMTfu8TP5AAACwklEQVRYhe3WP2gTYRjH8e/z3iVN0UFBwYLaV8wgOjioJYkI1Ukn0UGsbfyDiIuDoIsgKDg4qODgIChUtKnioE4uDmZIkxY7VCgO/oHrH4tVREWlNrnc46CgqU0OaxsE/W333vO+n7v3vbv3pDmTKgm4AAoIfx6FgEAOD6V7rlarkeZM6pkEwSEAFV0n4pxXDa4I+mQmaIBZaJCTKhiUC0Md+ePT1bkiOuqle7MANpOyAKJ0e+m+7ExggOZM4rHgXFf02PLu5KLhPYX9U2tMxZHo+5liP2eovfdOEPg7RPStUdlnb6bu1YZnMcPpvgdlY7aCvCFgu+1K3q8LDDDS1tNfdiJbgHFEtq3IpPqW3k42zjkMMLI7O1iMmBaEFwotEV8KS25vWjznMMDYrtzwRIwUwlNV1sZK5UIlrLJgrvDxnfnXXlN0jQqDwEr355N+oDnXCDhyymZS+2ZdHysC9IOuroBH04Xntit5QpGDAnbW4e9ReIftTj6cK6BabCZ1ty4P13T592B3aoPt2phAy7FanQLH9Yeb3F7r4eJ+SYQqxrz32vMDVeFl1zeuR7SA1J4IowF29MtmdZ24GHMlFP6Wiq2+Ah5ZFhmwY8U2oPYdK/5EQ6w/4n8cjGqDH07+uutVTvXmrO/BrdCBfuQTcO036qeHbWdrjMjkUUQaanVSKJdk8nJUIvMJTPgXTvWD11G4WBUmWlwFcjZsHAFcGrMEQRw4HeqK+EB12GvPD9jODU3EnJprXCqr/7I9Pwrk7M1ENgwuaenT1LZfXifvwKNXYQNV1Lf1er9TPy1sO1tjGp08Isi8mr1UJz9HGy5FixMLXHH2Czi162Xc6+i5XBUuO8W4g5wLvVwRGn0/B44VOBNWrqI+UB0e2ZsfnMEa58Lgv2qN/73d6T9ct7iqstTeSLTWE1Uh7grEMaauf5qi8BVb0ghpurToJwAAAABJRU5ErkJggg=="); - border-color:#20a53a; -} -.ts-disk-over .ts-c-b-img{ - background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAhCAYAAAAh3nDkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDUvMDYvMTfu8TP5AAAE0ElEQVRYhb2XS2yUVRTHf+d+05mWtqQv6Awt0g9MfERlYaplpgSNiQaXoEKnGrvQxMRHMCYaFi5ISEyIEsPCROMClZlC1cREFwZYGGQABUkx6oIAMwKltAWkzFBhHve4+GbaQgu0ccp/ec/9/r/7nXvuS1QVADe2YhlitgLNgEP5ZYFhRDcmuw78AeArRQQnpOhC4Dfg4hzA64B2gSBwI1xFg8B1YHMymhgsN/meHeF6x8i3qDSX2sx4VKQBKOClp+wSYyxQUGiaCldtAgoOhX/mAu4EsmkgB9o4Fe4VWvpE9FB2LuCn1v5qgQsgweng9SBDMzVribf73HhHbWv8Md+de3tSGAZq3Y8eNlAsuLYvwpVSIVWgJ+9k4MY7WlBnjV/87UCwAmfYjUX6gb3J7kT/7b4VZBj0XhbV1gBXfADiM7Wg8xAduS24t3MtOK+oyGVgj6DngRoMK1E+cXvDffiz25Jrj0xftGpHEKkCJuA41GCpEiu3hLvxzmdBN6qyE+jH6CMoR5PRRD/Q1xYPR0RlK9cDfmDLLWxGgGqs1EBpzi21QHVxTqaCd3XMA33DCtsxDIroQ1i+LoIBSEUPJFB9HVizJNYZmc7HSzsB0NoJOFoDOCpT4W29K5dScLaogEFHRalJRhMfp7oTZ27um+w+cATYbUTXTQe3Ys97Y5BaKBacitSJKgjj1e5uflB0ad3bgjwHnEX1cxDN5/Wb6YwnaY/Cu9NGVC4iWLxlXdxeVVtRxsQyNt5xWf2rojyvwqZUV+LHOwAn/JHLgobceOTNvDFfnln/82gpJo6Tw+olsM0wsc4bRBh2HPIAbm94kSo9Ch/MBuzBOa0iOxVe9ln76eJd4QWlWIVf8iI6DNIwDhdosDBySRvyxfQ8LjCCU9g9GzDA39H9o6mu/R9i7QtAk1PgnVLs+Jp9FuUC0LDwu1XG3Bdf5QcaUUYuRb8v5keCQCa17tC12cJLSr148JRFN4E8uSQWWVhqL66opsq09Zsc2QBoozBpjVuGgWr3s47/dakQNQMC1xBbOdHICNCIkw/4VE0F0IDo0KSvDgPv2Rqnx9254idvwMgsuIo1lSCvAQPG2HMT3nIetM5RCfhEmK8wT9HxDslo4nRbb2SbUTZgTQ/eOT9TeGmgARH9vYDZeHr9L/lxttVBwBFkgU+hFbBi5YZzPNWV2LE0HkkoBCaZzlQGyGaz2dRAz+HC5ICFjHg3plYfSAg0DXbsZodT0URyFsAZSY2OiZUrCEGDaghIY0ym3KDpZKxkgLSqLDIYgkDaUXtX4BScq0AGNGRQFgOZE90H/70b7ORL+3JABpFWHyI+VAeXfNUx33jFNZslNXtZe42KiiFUW3yoVgGrjON04B00cwt3nBxQCWR9QL3CcYE9QEUZ7DOAv+iVxrsy5YEcUA3kFJ4SeMAHVAn8lYwm+soAxo11tuPoQHJ94pwbjzw9SOiHZoZCBhtMRhNHAdx4pB541OBtHuX4Y9pinX5EN1DQZ9xYOAS8H2JwmcE+Abzl9oZLe3wAJua4LJWe6t6fdXuX9ySjx3IA7vaO1cmeQxnghBtf3pfsOlbaZq8CSFssvBcYBf4sxwDw5lfwntk5vB+0eBkuPTDuB1p8CmcFlgCrywSfia4qnPwPgn/VB7okeIwAAAAASUVORK5CYII="); - border-color:#20a53a; -} - -
-
-
-
-
正在跑分中
-
-
-
开始跑分
-
-
公式:1万次整数+2万次浮点+1亿位圆周率+1万次排序 +((磁盘读+磁盘写)*IO速度)+内存容量
-
-
-
-
-
CPU
-
cpu运算能力
-
-
-
-
-
磁盘
-
磁盘读写能力
-
-
-
-
-
内存
-
内存容量
-
-
-
- \ No newline at end of file diff --git a/plugins/score/index.py b/plugins/score/index.py deleted file mode 100755 index 3a1db22b1..000000000 --- a/plugins/score/index.py +++ /dev/null @@ -1,355 +0,0 @@ -# coding: utf-8 - -import time -import psutil -import random -import os -import urllib -import binascii -import json -import re -import sys - -sys.path.append(os.getcwd() + "/class/core") -import public - - -class score_main: - - __APIURL = 'https://www.bt.cn/api/Auth' - __UPATH = 'data/userInfo.json' - __userInfo = None - __PDATA = None - - def CheckToken(self): - pdata = {} - data = {} - if os.path.exists(self.__UPATH): - self.__userInfo = json.loads(public.readFile(self.__UPATH)) - if self.__userInfo: - pdata['access_key'] = self.__userInfo['access_key'] - data['secret_key'] = self.__userInfo['secret_key'] - else: - pdata['access_key'] = 'test' - data['secret_key'] = '123456' - pdata['data'] = data - self.__PDATA = pdata - - # 修正信息 - def SetScore(self, get): - if hasattr(get, 'ips'): - return self.SubmitSetScore('ips', get.ips) - if hasattr(get, 'virt'): - return self.SubmitSetScore('virt', get.virt) - - # 发送信息修正 - def SubmitSetScore(self, key, value): - self.CheckToken() - self.__PDATA['data'][key] = value - self.__PDATA['data'] = self.De_Code(self.__PDATA['data']) - result = json.loads(public.httpPost( - self.__APIURL + '/SetSocre', self.__PDATA)) - result['data'] = self.En_Code(result['data']) - return result - - # 获取得分列表 - def GetScore(self, get): - self.CheckToken() - self.__PDATA['data'] = self.De_Code(self.__PDATA['data']) - result = json.loads(public.httpPost( - self.__APIURL + '/GetSocre', self.__PDATA)) - result['data'] = self.En_Code(result['data']) - return result - - # 获取配置信息 - def GetConfig(self, get=None): - virt = '/usr/sbin/virt-what' - if not os.path.exists(virt): - if os.path.exists('/etc/yum.repos.d/epel.repo'): - os.system( - 'mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo_backup') - os.system('yum install virt-what -y') - if os.path.exists('/etc/yum.repos.d/epel.repo_backup'): - os.system( - 'mv /etc/yum.repos.d/epel.repo_backup /etc/yum.repos.d/epel.repo') - - data = {} - data['virt'] = public.ExecShell('virt-what')[0].strip() - cpuinfo = open('/proc/cpuinfo', 'r').read() - rep = "model\s+name\s+:\s+(.+)" - tmp = re.search(rep, cpuinfo) - - data['cpu'] = tmp.groups()[0] - data['core'] = psutil.cpu_count() - data['memory'] = psutil.virtual_memory().total / 1024 / 1024 - data['system'] = self.GetSystemVersion() - - scoreInfo = self.readScore() - data['disk'] = str(scoreInfo['read']) + ',' + str(scoreInfo['write']) - data['mem_score'] = scoreInfo['mem'] - data['cpu_score'] = scoreInfo['cpu1'] + \ - scoreInfo['cpu2'] + scoreInfo['cpu3'] + scoreInfo['cpu4'] - data['disk_score'] = scoreInfo['disk_score'] - data['total_score'] = scoreInfo['mem'] + \ - data['cpu_score'] + scoreInfo['disk_score'] - return data - - # 提交到云端 - def SubmitScore(self, get): - try: - self.CheckToken() - pdata = self.GetConfig(get) - if not pdata['total_score']: - return public.returnMsg(False, '请先跑分!') - pdata['secret_key'] = self.__userInfo['secret_key'] - self.__PDATA['data'] = self.De_Code(pdata) - result = json.loads(public.httpPost( - self.__APIURL + '/SubmitScore', self.__PDATA)) - result['data'] = self.En_Code(result['data']) - return result - except: - return None - - # 取操作系统版本 - def GetSystemVersion(self): - version = public.readFile('/etc/redhat-release') - if not version: - version = public.readFile( - '/etc/issue').replace('\\n \\l', '').strip() - else: - version = version.replace('release ', '').strip() - return version - - # 写当前得分 - def writeScore(self, type, value): - scoreFile = '/www/server/panel/plugin/score/score.json' - if not os.path.exists(scoreFile): - data = {} - data['cpu1'] = 0 - data['cpu2'] = 0 - data['cpu3'] = 0 - data['cpu4'] = 0 - data['mem'] = 0 - data['disk_score'] = 0 - data['read'] = 0 - data['write'] = 0 - public.writeFile(scoreFile, json.dumps(data)) - - data = json.loads(public.readFile(scoreFile)) - data[type] = value - public.writeFile(scoreFile, json.dumps(data)) - - # 读当前得分 - def readScore(self): - scoreFile = '/www/server/panel/plugin/score/score.json' - if not os.path.exists(scoreFile): - data = {} - data['cpu1'] = 0 - data['cpu2'] = 0 - data['cpu3'] = 0 - data['cpu4'] = 0 - data['mem'] = 0 - data['disk_score'] = 0 - data['read'] = 0 - data['write'] = 0 - public.writeFile(scoreFile, json.dumps(data)) - data = json.loads(public.readFile(scoreFile)) - return data - - # 测试CPU - def testCpu(self, get, n=1): - data = {} - data['cpuCount'] = psutil.cpu_count() - if not hasattr(get, 'type'): - get.type = '0' - import re - cpuinfo = open('/proc/cpuinfo', 'r').read() - rep = "model\s+name\s+:\s+(.+)" - tmp = re.search(rep, cpuinfo) - data['cpuType'] = "" - if tmp: - data['cpuType'] = tmp.groups()[0] - - import system - data['system'] = system.system().GetSystemVersion() - path = '/www/server/panel/plugin/score/testcpu' - if not os.path.exists(path): - os.system('gcc ' + path + '.c -o ' + path + ' -lpthread') - start = time.time() - os.system(path + ' 32 ' + get.type) - end = time.time() - data['score'] = int(400 * 10 / (end - start)) - if not os.path.exists(path): - data['score'] = 0 - self.writeScore('cpu' + get.type, data['score']) - return data - pass - - # 测试整数运算 - def testInt(self): - return self.testIntOrFloat(1) - - # 测试浮点运行 - def testFloat(self): - return self.testIntOrFloat(1.01) - - # CPU测试体 - def testIntOrFloat(self, n=1): - start = time.time() - num = 10000 * 100 - for i in range(num): - if i == 0: - continue - a = n + i - b = n - i - c = n * i - d = n / i - n = n + 1 - - end = time.time() - usetime = end - start - return num / 100 / usetime - - # 冒泡算法测试 - def testBubble(self): - start = time.time() - num = 10000 * 5 - xx = 'qwertyuiopasdfghjklzxcvbnm1234567890' - for c in xrange(num): - lst = [] - for k in range(10): - lst.append(xx[random.randint(0, len(xx) - 1)]) - lst = self.bubbleSort(lst) - end = time.time() - usetime = end - start - return num / 5 / usetime - - # 冒泡排序 - def bubbleSort(self, lst): - length = len(lst) - for i in xrange(0, length, 1): - for j in xrange(0, length - 1 - i, 1): - if lst[j] < lst[j + 1]: - temp = lst[j] - lst[j] = lst[j + 1] - lst[j + 1] = temp - return lst - - # 二叉树算法测试 - def testTree(self): - import testTree - - start = time.time() - elems = range(3000) # 生成树节点 - tree = testTree.Tree() # 新建一个树对象 - for elem in elems: - tree.add(elem) # 逐个加入树的节点 - - tree.level_queue(tree.root) - tree.front_digui(tree.root) - tree.middle_digui(tree.root) - tree.later_digui(tree.root) - tree.front_stack(tree.root) - tree.middle_stack(tree.root) - tree.later_stack(tree.root) - - end = time.time() - usetime = end - start - return 3000 / usetime - - # 测试内存 - def testMem(self, get): - mem = psutil.virtual_memory() - self.writeScore('mem', mem.total / 1024 / 1024) - # 提交数据 - self.SubmitScore(get) - return mem.total / 1024 / 1024 - - # 测试磁盘 - def testDisk(self, get): - import os - data = {} - os.system('rm -f testDisk_*') - filename = "testDisk_" + \ - time.strftime('%Y%m%d%H%M%S', time.localtime()) - data['write'] = self.testDiskWrite(filename) - import shutil - filename2 = "testDisk_" + \ - time.strftime('%Y%m%d%H%M%S', time.localtime()) - shutil.move(filename, filename2) - data['read'] = self.testDiskRead(filename2) - diskIo = psutil.disk_partitions() - diskInfo = [] - for disk in diskIo: - tmp = {} - tmp['path'] = disk[1] - tmp['size'] = psutil.disk_usage(disk[1])[0] - diskInfo.append(tmp) - data['diskInfo'] = diskInfo - writeDisk = data['write'] - if data['write'] > 1000: - writeDisk = 1000 - readDisk = data['read'] - if data['read'] > 1000: - readDisk = 1000 - - data['score'] = (writeDisk * 6) + (readDisk * 6) - os.remove(filename2) - - self.writeScore('disk_score', data['score']) - self.writeScore('write', data['write']) - self.writeScore('read', data['read']) - return data - pass - - # 测试磁盘写入速度 - def testDiskWrite(self, filename): - import random - start = time.time() - fp = open(filename, 'w+') - strTest = "" - strTmp = "" - for n in range(4): - strTmp += chr(random.randint(97, 122)) - for n in range(1024): - strTest += strTmp - - for i in range(1024 * 256): - fp.write(strTest) - - del(strTest) - del(strTmp) - fp.close() - end = time.time() - usetime = end - start - return int(1024 / usetime) - - # 测试磁盘读取速度 - def testDiskRead(self, filename): - os.system('echo 3 > /proc/sys/vm/drop_caches') - import random - start = time.time() - fp = open(filename, 'r') - size = 4096 - while True: - tmp = fp.read(size) - if not tmp: - break - del(tmp) - fp.close() - end = time.time() - usetime = end - start - return int(1024 / usetime) - - def testWorkNet(self): - pass - - # 加密数据 - def De_Code(self, data): - pdata = urllib.urlencode(data) - return binascii.hexlify(pdata) - - # 解密数据 - def En_Code(self, data): - result = urllib.unquote(binascii.unhexlify(data)) - return json.loads(result) diff --git a/plugins/score/info.json b/plugins/score/info.json deleted file mode 100755 index 25db28b12..000000000 --- a/plugins/score/info.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "title":"跑分测试", - "tip":"lib", - "name":"score", - "type":"扩展", - "ps":"测试服务器基础性能!", - "versions": "1.3", - "shell":"install.sh", - "checks":"server/score", - "author":"mdserver-web", - "home":"github.com/midoks/mdserver-web", - "date":"2018-11-02", - "default":false, - "display":0, - "pid":"4" -} \ No newline at end of file diff --git a/plugins/score/install.sh b/plugins/score/install.sh deleted file mode 100755 index a1f8e557d..000000000 --- a/plugins/score/install.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin -export PATH - -curPath=`pwd` -rootPath=$(dirname "$curPath") -rootPath=$(dirname "$rootPath") -serverPath=$(dirname "$rootPath") - -install_tmp=${rootPath}/tmp/bt_install.pl - -Install_score() -{ - echo '正在安装脚本文件...' > $install_tmp - - mkdir -p $serverPath/score - - gcc $curPath/testcpu.c -o $serverPath/score/testcpu -lpthread - if [ ! -f $serverPath/score/testcpu ];then - sleep 0.1 - gcc $curPath/testcpu.c -o $serverPath/score/testcpu -lpthread - fi - - echo '安装完成' > $install_tmp -} - -Uninstall_score() -{ - rm -rf $serverPath/score - echo '卸载完成' > $install_tmp -} - -action=$1 -if [ "${1}" == 'install' ];then - Install_score -else - Uninstall_score -fi diff --git a/plugins/score/js/score.js b/plugins/score/js/score.js deleted file mode 100755 index f1cfec773..000000000 --- a/plugins/score/js/score.js +++ /dev/null @@ -1,301 +0,0 @@ -(function($){ - -$.fn.stamper = function(options) { - var opts = $.extend({ - scale : 5, // 图片初始大小,在原始图片大小上的倍数 - speed : 600 // 动画持续时间,单位毫秒 - }, options); - - this.each(function(index) { - var target = $(this); - var imgId = target.attr("data-stamper-img-id"); - if (!imgId) { - imgId = "jquery_stamper_img_" + (new Date().getTime()) + "_" + index; - target.attr("data-stamper-img-id", imgId); - } - var img = new Image(); - img.src = opts.image; - img.onload = function() { - var orgiCoor = getImageCoordinate(target, img); - var initCoor = getStartCoordinate(target, img, opts.scale); - var imgObj = getImageElement(imgId).attr("src", img.src) - .css({ - position : "absolute", - opacity : "0", - left : "-106px", - top : "-116px", - width : initCoor.w + "px", - height : initCoor.h + "px" - }) - .show() - .animate({ - opacity : "1", - left : "0px", - top : "0px", - width : orgiCoor.w + "px", - height : orgiCoor.h + "px" - }, opts.speed, opts.complete); - }; - }); -}; - -/** 获取img的DOM对象 **/ -function getImageElement(id) { - var img = $("#" + id); - if (img.length == 0) { - return $("").appendTo($(".ts-stamper")).hide(); - } else { - return img.hide(); - } -} - -/** 获取图片的落脚坐标点(以当前元素为基准)和尺寸信息,格式:{x:10,y:20,h:100,w:200} **/ -function getImageCoordinate(target, image) { - var offset = $(target).offset(); - var cx = offset.left + $(target).width()/2; - var cy = offset.top + $(target).height()/2; - return { - x : cx - image.width/2, - y : cy - image.height/2, - w : image.width, - h : image.height - }; -} - -/** 给定倍数(multiple)获取图片的开始位置和大小信息,格式:{x:10,y:20,h:100,w:200} **/ -function getStartCoordinate(target, image, multiple) { - var offset = $(target).offset(); - var cx = offset.left + $(target).width()/2; - var cy = offset.top + $(target).height()/2; - var width = image.width * multiple; - var height = image.height * multiple; - return { - x : cx - width/2, - y : cy - height/2, - w : width, - h : height - }; -} -})(jQuery); - -function startTest(){ - var name = $(".ts-btn").text(); - switch(name){ - case '开始跑分': - startTestServer(name); - break; - case '正在跑分': - stopTestServer(); - break; - case '重新跑分': - startTestServer(name); - break; - } -} -if(getCookie("#Total") >0){ - $(".old-score").html("上次跑分:"+getCookie("#Total") + ' 分 我的排名').show(); -} - -function startTestServer(name){ - layer.confirm('测试过程可能需要几分钟时间且占用大量服务器资源,继续吗?',{title:'性能测试',closeBtn:2},function(){ - layer.closeAll('dialog'); - if(name == "重新跑分"){ - $(".btphb").remove(); - $(".ts-content").find(".ts-box-rotate").remove(); - $(".ts-h-s-num").html('正在跑分中'); - $(".ts-btn-reset").removeAttr("onclick").width(140); - $(".ts-cpu-over").removeClass("ts-cpu-over"); - $(".ts-disk-over").removeClass("ts-disk-over"); - $(".ts-mem-over").removeClass("ts-mem-over"); - $(".ts-h-s-img").removeClass("ts-h-s-img1"); - $(".ts-h-s-img").removeClass("ts-h-s-img2"); - $(".ts-h-s-img").removeClass("ts-h-s-img3"); - $(".ts-h-s-img").addClass("ts-h-s-imging"); - $(".ts-stamper").html(""); - } - $(".old-score").fadeOut(); - $(".ts-btn").removeClass("ts-btn-start").text("正在跑分").animate({"left":"490px"}); - $(".ts-h-score").fadeIn(); - $(".ts-cpu").addClass("ts-cpu-ing").append("
"); - $(".ts-info").html("正在测试整数运算性能[1万次]"); - var cpuscore = 0; - $.get('/plugin?action=a&name=score&s=testCpu&type=1',function(rint){ - cpuscore += rint.score; - $(".ts-info").html("正在测试浮点运算性能[2万次]"); - $.get('/plugin?action=a&name=score&s=testCpu&type=2',function(rfloat){ - cpuscore += rfloat.score; - $(".ts-info").html("正在测试圆周率运算[1亿位]"); - $.get('/plugin?action=a&name=score&s=testCpu&type=3',function(rpi){ - cpuscore += rpi.score; - $(".ts-info").html("正在测试二叉树排序算法[1万次]"); - $.get('/plugin?action=a&name=score&s=testCpu&type=4',function(r1){ - r1.score += cpuscore; - $(".ts-cpu").removeClass("ts-cpu-ing").addClass("ts-cpu-over").find(".ts-box-rotate").remove(); - $(".ts-disk").addClass("ts-disk-ing").append("
"); - $(".ts-cpu .ts-c-b-score").html(r1.score); - $(".ts-cpu .ts-c-b-info").html(r1.cpuType + ' ' +r1.cpuCount + ' 核心'); - //$("#cpuType").html('型号:' + r1.cpuType); - setCookie('cpuTotal',r1.score); - setCookie('cpuCount',r1.cpuCount + ' 核心'); - setCookie('cpuType','型号:' + r1.cpuType); - $(".ts-info").html("正在测试磁盘性能"); - $.get('/plugin?action=a&name=score&s=testDisk',function(r2){ - $(".ts-disk").removeClass("ts-disk-ing").addClass("ts-disk-over").find(".ts-box-rotate").remove(); - $(".ts-mem").addClass("ts-mem-ing").append("
"); - $(".ts-disk .ts-c-b-score").html(r2.score); - $(".ts-disk .ts-c-b-info").html('读: ' + r2.read + ' MB,写: ' + r2.write + ' MB'); - setCookie('diskTotal',r2.score); - setCookie('diskRead','Read: ' + r2.read + ' MB'); - setCookie('diskWrite','Write: ' + r2.write + ' MB'); - $(".ts-info").html("正在测试内存"); - $.get('/plugin?action=a&name=score&s=testMem','',function(r3){ - $(".ts-mem").removeClass("ts-mem-ing").addClass("ts-mem-over").find(".ts-box-rotate").remove(); - $(".ts-mem .ts-c-b-score").html(parseInt(r3)); - $(".ts-mem .ts-c-b-info").html( r3 + ' MB'); - var total = r1.score+r2.score+ parseInt(r3); - $(".ts-h-s-num span").html(total + ' 分').css({"font-size":"40px"}); - setCookie("#memTotal",r3 + ' MB'); - setCookie("#Total",total); - $(".ts-btn").addClass("ts-btn-reset").text("重新跑分").css({"left":"550px","width":"80px"}).attr("onclick","startTestServer('重新跑分')"); - $(".ts-h-score").after('
我的排名
'); - if(total<2500){ - $(".ts-h-s-img").removeClass("ts-h-s-imging").addClass("ts-h-s-img1"); - scoreIco("1"); - } - if(total>2500 && total<10000){ - $(".ts-h-s-img").removeClass("ts-h-s-imging").addClass("ts-h-s-img2"); - scoreIco("2"); - } - if(total > 10000){ - $(".ts-h-s-img").removeClass("ts-h-s-imging").addClass("ts-h-s-img3"); - scoreIco("3"); - } - - var data = "soc="+total; - $.get("/ajax?action=GetAd&name=zun",data,function(rad){ - $(".ts-info").html(rad); - }); - }); - }); - }); - }); - }); - }); - }); -} -function stopTestServer(){ - /* - $(".ts-btn").addClass("ts-btn-start").removeClass("ts-btn-reset").text("开始测试").animate({"left":"233px"}); - $(".ts-h-score").fadeOut(); - $(".ts-info").html("跑分计算规则为:通过计算cpu运算能力,计算内存吞吐能力,计算磁盘读写能力"); - */ - //layer.msg("测试中,不能停止",{shade:0.3}); - return false; -} -function scoreIco(ico) { - var img = ''; - switch(ico){ - case "1": - img = 'data:image/gif;base64,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'; - break; - case "2": - img = 'data:image/gif;base64,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'; - break; - case "3": - img = 'data:image/gif;base64,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'; - break; - } - $(".ts-stamper").stamper({ - image : img, - scale : 3, - speed : 300, - complete : function() { - //alert("完成啦~~~~"); - } - }) -} - -function GetScore(){ - $.get('/plugin?action=a&name=score&s=GetScore',function(rdata){ - - }); -} -GetScore(); -//我的排名 -function btphb(){ - $.get("/ssl?action=GetUserInfo",function(rdata){ - if(rdata.status){ - var loadT = layer.msg("获取列表..",{icon:16,time:0}); - var tr = ""; - $.get("/plugin?action=a&name=score&s=GetScore",function(pm){ - layer.close(loadT); - if(pm.status){ - for(var i=0; i'+pm.data[i].core+'核 | '+pm.data[i].memory+'MB | 读'+pm.data[i].disk.split(",")[0]+'MB/s | 写'+pm.data[i].disk.split(",")[1]+'MB/s'+pm.data[i].virt+''+pm.data[i].isp+''+pm.data[i].total_score+'查看排名'; - } - layer.open({ - type: 1, - area: "700px", - title: "我的服务器跑分", - closeBtn: 2, - shadeClose: false, - content: '
\ -
\ - \ - \ - '+tr+'\ -
服务器IP配置平台服务商跑分查看排名
\ -
\ -
' - - }) - } - - }) - } - else{ - bindBTName(2,'b'); - } - }); -} - -//绑定修改宝塔账号 -function bindBTName(a,type){ - var titleName = "绑定宝塔账号"; - if(type == "b"){ - btn = ""; - } - if(a == 1) { - p1 = $("#p1").val(); - p2 = $("#p2").val(); - $.post(" /ssl?action=GetToken", "username=" + p1 + "&password=" + p2, function(b) { - if(b.status) { - $(".btn-bw").click(); - layer.msg(b.msg, { - icon: 1 - }); - $.get("/plugin?action=a&name=score&s=SubmitScore",function(p){ - //layer.msg(p.msg,{icon:p.status?1:2}); - }); - btphb(); - } else { - layer.msg(b.msg, { - icon: 2 - }) - } - }); - return - } - var bindw = layer.open({ - type: 1, - area: "290px", - title: titleName, - closeBtn: 2, - shift: 5, - shadeClose: false, - content: "
账号
密码
"+btn+"
" - }) - $(".btn-bw").click(function(){ - layer.close(bindw); - }); -} \ No newline at end of file diff --git a/plugins/score/testcpu.c b/plugins/score/testcpu.c deleted file mode 100755 index 10ff234fa..000000000 --- a/plugins/score/testcpu.c +++ /dev/null @@ -1,129 +0,0 @@ -#include -#include -#include -#include - -const int N_qsort = 10000; -const int N_int = 10000; -const int N_float = 20000; -const int N_pi = 50000000; - - -int thread_count = 0; - -void int_comp(void); -void float_comp(void); -void pi_comp(void); -void to_qsort(int arr[],int low,int high); -void qsort_comp(void); -void thread(void); -void thread_int(void); -void thread_float(void); -void thread_pi(void); -void thread_qsort(void); - -int main(int argc,char** argv){ - int count,i,result,type; - count = atoi(argv[1]); - type = atoi(argv[2]); - if(argc < 3){ - printf("ERROR: Parameter error[%d]",argc); - } - pthread_t tid; - for(i=0;i=high) return; - int first=low; - int last=high; - int key=arr[first]; - while(first=key) --last; - arr[first]=arr[last]; - while(first0;i--) arr[N_qsort-1]=i; - to_qsort(arr,0,N_qsort-1); -} \ No newline at end of file