HEX
Server: nginx/1.28.3
System: Linux ip-172-31-12-242 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/panel/BTPanel/static/js/add-monitor.js
import{c as G,r as U,V as W,w as Z,o as K,j as p,C as v,v as n,e as o,p as a,q as r,k as E,B as S,F as C,y as w,x as _,s as Q,ad as X,am as Y,an as ee,ap as le,ak as ae,aj as te,ab as oe}from"./base-lib.js?v=1777008528";import{Z as ne,k as R,cO as se,W as ue,db as me,cP as re}from"./utils-lib.js?v=1777008528";import{a2 as ie}from"./index3.js?v=1777008528";import{bn as de,bo as pe}from"./firewall.js?v=1777008528";import{_ as _e}from"./index.vue_vue_type_script_setup_true_lang8.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./index116.js?v=1777008528";const fe={class:"flex"},ve={class:"flex"},Ve={class:"flex min-h-[3.2rem] items-start"},ce={class:"items-center h-[3.2rem]"},De=G({__name:"add-monitor",props:{compData:{default:()=>{}}},setup(k,{expose:F}){const x=U(null),i=k,l=U({name:"",method:2,site_name:"",site_url:"",access:"http",send_msg:!1,send_type:[],type:"day",week:1,where1:1,hour:1,minute:19,switch_config:!1,scan_config:{thesaurus:1,scan_args:!1,title_hash:!1,tail_hash:!1,keywords:!1,descriptions:!1,title:!1,search_monitor:!1,scan_ua:"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"},id:""}),y=W([]),L=["周一","周二","周三","周四","周五","周六","周日"],g=U(!!i.compData.id),N=[{content:"如果是本机端口转发,目标IP为:127.0.0.1"},{content:"如果目标IP不填写,默认则为本机端口转发!"}],D=[{label:"全站扫描",value:1},{label:"快速扫描",value:2},{label:"单URL",value:3}],O=[{label:"HTTPS",value:"https"},{label:"HTTP",value:"http"}],B=[{label:"每天",value:"day"},{label:"N天",value:"day-n"},{label:"每星期",value:"week"},{label:"每月",value:"month"}],q={name:[{required:!0,trigger:["blur","change"],message:"请输入监控名"}],site_name:[{validator:(m,e,s)=>{if(e!=="auto")s();else{if(l.value.site_url||s(new Error("请输入网站域名")),l.value.method!==3&&!ne(l.value.site_url))return s(new Error("检测网站域名格式不正确"));s()}},trigger:["blur","change"]}],send_type:[{required:!0,message:"请选择通知方式",trigger:["blur","change"]}],type:[{validator:(m,e,s)=>{if((e==="day-n"||e==="month")&&(l.value.where1<0||l.value.where1>31))return s(new Error("请输入正确天数范围[0-31]"));if(l.value.hour<0||l.value.hour>23)return s(new Error("请输入正确小时范围[0-23]"));if(l.value.minute<0||l.value.minute>59)return s(new Error("请输入正确分钟范围[0-59]"));s()},trigger:["blur","change"]}]},P=async m=>{await x.value.validate();let e=l.value.site_name==="auto"?l.value.site_url:l.value.site_name,s={...l.value,site_name:e,url:l.value.access+"://"+e,send_msg:Number(l.value.send_msg)};const u=l.value;u.type==="week"&&(s.week=u.week),g.value&&(s.id=u.id),await R({loading:"正在提交,请稍后...",request:de(g.value,s),message:!0}),i.compData.refreshEvent&&i.compData.refreshEvent(),m()},T=async()=>{await R({loading:"正在获取网站列表,请稍后...",request:pe({type:"sites"}),data:{data:[Array,y]}}),l.value.site_name=g.value?i.compData.site_name:y.value[0].name,i.compData.isSite&&(l.value.site_name=i.compData.name)},$=m=>{},A=m=>{var e;l.value.method=m,m===3?l.value.site_name="auto":i.compData.isSite&&(l.value.site_name=((e=i.compData)==null?void 0:e.site_name)||i.compData.name||"")},I=()=>{var s,u,V,f,c;const m=i.compData;l.value={...m,...m.crontab_info,...m.scan_config,access:(s=m.url)==null?void 0:s.split("://")[0],where1:((u=m.crontab_info)==null?void 0:u.where1)||1,hour:((V=m.crontab_info)==null?void 0:V.where_hour)||1,minute:((f=m.crontab_info)==null?void 0:f.where_minute)||30,send_msg:!!m.send_msg,id:m.id};let e=(c=i.compData.crontab_info)==null?void 0:c.type;e==="每星期"?l.value.type="week":e==="每月"?l.value.type="month":e==="每天"?l.value.type="day":l.value.type="day-n"};return Z(()=>l.value.site_name,()=>{const m=D.find(e=>e.value===l.value.method).label;l.value.name=((l.value.site_name==="auto"?l.value.site_url:l.value.site_name)||"")+m}),F({onConfirm:P}),K(()=>{T(),g.value&&I()}),(m,e)=>{const s=se,u=X,V=ue,f=Y,c=ee,M=me,d=le,H=ie,h=ae,j=te,J=re,z=oe;return p(),v(z,{ref_key:"monitorFormRef",ref:x,rules:q,model:a(l),class:"p-[2rem] addfrom overflow-auto max-h-[60rem]","label-width":"10rem"},{default:n(()=>[o(u,{label:"监控名",prop:"name"},{default:n(()=>[o(s,{modelValue:a(l).name,"onUpdate:modelValue":e[0]||(e[0]=t=>a(l).name=t),width:"26rem",placeholder:"请输入监控名",clearable:""},null,8,["modelValue"])]),_:1}),o(u,{label:"检测方式"},{default:n(()=>[o(V,{modelValue:a(l).method,"onUpdate:modelValue":e[1]||(e[1]=t=>a(l).method=t),options:D,onChange:A,class:"!w-[26rem]"},null,8,["modelValue"])]),_:1}),o(u,{label:"检测网站",prop:"site_name"},{default:n(()=>[r("div",fe,[o(c,{modelValue:a(l).site_name,"onUpdate:modelValue":e[2]||(e[2]=t=>a(l).site_name=t),class:"!w-[20rem] mr-4",disabled:!!(a(l).method===3||k.compData.isSite)},{default:n(()=>[(p(!0),E(C,null,S(a(y),(t,b)=>(p(),v(f,{key:b,value:t.name,label:"".concat(t.name,"[").concat(t.ps,"]")},null,8,["value","label"]))),128)),o(f,{label:"自定义网站",value:"auto"})]),_:1},8,["modelValue","disabled"]),a(l).site_name==="auto"?(p(),v(s,{key:0,modelValue:a(l).site_url,"onUpdate:modelValue":e[3]||(e[3]=t=>a(l).site_url=t),width:"20rem",placeholder:"请输入网站域名",clearable:""},null,8,["modelValue"])):w("",!0)])]),_:1}),o(u,{label:"访问网站方式"},{default:n(()=>[o(M,{modelValue:a(l).access,"onUpdate:modelValue":e[4]||(e[4]=t=>a(l).access=t),options:O},null,8,["modelValue"])]),_:1}),o(u,{label:"发送告警"},{default:n(()=>[o(d,{modelValue:a(l).send_msg,"onUpdate:modelValue":e[5]||(e[5]=t=>a(l).send_msg=t)},null,8,["modelValue"])]),_:1}),a(l).send_msg?(p(),v(u,{key:0,label:"通知方式",prop:"send_type"},{default:n(()=>[o(H,{modelValue:a(l).send_type,"onUpdate:modelValue":e[6]||(e[6]=t=>a(l).send_type=t),limit:["sms","wx_account"],onChange:$,multiple:!1,class:"!w-[26rem]"},null,8,["modelValue"])]),_:1})):w("",!0),o(u,{label:"检测频率",prop:"type"},{default:n(()=>[r("div",ve,[o(V,{class:"!w-[8rem] mr-4",modelValue:a(l).type,"onUpdate:modelValue":e[7]||(e[7]=t=>a(l).type=t),options:B},null,8,["modelValue"]),a(l).type==="week"?(p(),v(c,{key:0,class:"!w-[8rem] mr-4",modelValue:a(l).week,"onUpdate:modelValue":e[8]||(e[8]=t=>a(l).week=t)},{default:n(()=>[(p(),E(C,null,S(L,(t,b)=>o(f,{key:b,label:t,value:b+1},null,8,["label","value"])),64))]),_:1},8,["modelValue"])):w("",!0),a(l).type==="day-n"||a(l).type==="month"?(p(),v(s,{key:1,type:"number",class:"!w-[13rem] mr-4",min:"0",max:"31",modelValue:a(l).where1,"onUpdate:modelValue":e[9]||(e[9]=t=>a(l).where1=t)},{append:n(()=>[_(Q(a(l).type==="day-n"?"天":"日"),1)]),_:1},8,["modelValue"])):w("",!0),o(s,{type:"number",class:"!w-[13rem] mr-4",min:"0",max:"23",modelValue:a(l).hour,"onUpdate:modelValue":e[10]||(e[10]=t=>a(l).hour=t)},{append:n(()=>[...e[21]||(e[21]=[_("时",-1)])]),_:1},8,["modelValue"]),o(s,{type:"number",class:"!w-[13rem]",min:"0",max:"59",modelValue:a(l).minute,"onUpdate:modelValue":e[11]||(e[11]=t=>a(l).minute=t)},{append:n(()=>[...e[22]||(e[22]=[_("分",-1)])]),_:1},8,["modelValue"])])]),_:1}),o(_e,{"is-show-divider":!0},{config:n(()=>[o(u,{label:"敏感词库"},{default:n(()=>[o(j,{modelValue:a(l).scan_config.thesaurus,"onUpdate:modelValue":e[12]||(e[12]=t=>a(l).scan_config.thesaurus=t),class:"border-darker border-1 !w-[26rem] rounded-small px-[1rem] py-[.5rem] flex flex-col !items-start"},{default:n(()=>[o(h,{value:1},{default:n(()=>[...e[23]||(e[23]=[_("全选",-1)])]),_:1}),o(h,{value:2},{default:n(()=>[...e[24]||(e[24]=[_("自定义词库",-1)])]),_:1}),o(h,{value:3},{default:n(()=>[...e[25]||(e[25]=[_("默认词库",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(u,{label:"检测带参数的URL"},{default:n(()=>[r("div",Ve,[r("div",ce,[o(d,{modelValue:a(l).scan_config.scan_args,"onUpdate:modelValue":e[13]||(e[13]=t=>a(l).scan_config.scan_args=t)},null,8,["modelValue"])]),e[26]||(e[26]=r("div",{class:"unit"},[r("p",null,"扫描时检测带参数的URL,如URL: https://bt.cn?a=b"),r("p",null,[_(" 开启前 "),r("span",{class:"ml-[2rem]"},"不检测")]),r("p",null,[_(" 开启后 "),r("span",{class:"ml-[2rem]"},"检测")]),r("p",null,"注意,开启后检测页面将成倍增长,可能会导致检测时间大量增加")],-1))])]),_:1}),o(u,{label:"头部JS检测"},{default:n(()=>[o(d,{modelValue:a(l).scan_config.title_hash,"onUpdate:modelValue":e[14]||(e[14]=t=>a(l).scan_config.title_hash=t)},null,8,["modelValue"]),e[27]||(e[27]=r("span",{class:"unit"},"监控页面源码中的title_hash标签是否有修改",-1))]),_:1}),o(u,{label:"尾部JS检测"},{default:n(()=>[o(d,{modelValue:a(l).scan_config.tail_hash,"onUpdate:modelValue":e[15]||(e[15]=t=>a(l).scan_config.tail_hash=t)},null,8,["modelValue"]),e[28]||(e[28]=r("span",{class:"unit"},"监控页面源码中的tail_hash标签是否有修改",-1))]),_:1}),o(u,{label:"关键词检测"},{default:n(()=>[o(d,{modelValue:a(l).scan_config.keywords,"onUpdate:modelValue":e[16]||(e[16]=t=>a(l).scan_config.keywords=t)},null,8,["modelValue"]),e[29]||(e[29]=r("span",{class:"unit"},"监控页面源码中的keywords标签是否有修改",-1))]),_:1}),o(u,{label:"描述检测"},{default:n(()=>[o(d,{modelValue:a(l).scan_config.descriptions,"onUpdate:modelValue":e[17]||(e[17]=t=>a(l).scan_config.descriptions=t)},null,8,["modelValue"]),e[30]||(e[30]=r("span",{class:"unit"},"监控页面源码中的descriptions标签是否有修改",-1))]),_:1}),o(u,{label:"标题检测"},{default:n(()=>[o(d,{modelValue:a(l).scan_config.title,"onUpdate:modelValue":e[18]||(e[18]=t=>a(l).scan_config.title=t)},null,8,["modelValue"]),e[31]||(e[31]=r("span",{class:"unit"},"监控页面源码中的title标签是否有修改",-1))]),_:1}),o(u,{label:"搜索引擎收录监控"},{default:n(()=>[o(d,{modelValue:a(l).scan_config.search_monitor,"onUpdate:modelValue":e[19]||(e[19]=t=>a(l).scan_config.search_monitor=t)},null,8,["modelValue"]),e[32]||(e[32]=r("span",{class:"unit"},"监控搜索引擎是否存在风险关键词",-1))]),_:1}),o(u,{label:"自定义访问UA"},{default:n(()=>[o(s,{type:"textarea",modelValue:a(l).scan_config.scan_ua,"onUpdate:modelValue":e[20]||(e[20]=t=>a(l).scan_config.scan_ua=t),width:"36rem",height:"10rem",placeholder:"请输入自定义访问UA",clearable:""},null,8,["modelValue"])]),_:1})]),_:1}),o(J,{options:N,class:"pl-[3.6rem] mt-[2rem]"})]),_:1},8,["model"])}}});export{De as default};