Files
2026-08-27 12:18:36 +08:00

34 lines
215 KiB
JavaScript

;(() => {
const stylesheetSelector = "link[rel=stylesheet]"
const loaded = new Set(Array.from(document.querySelectorAll(stylesheetSelector)).map(link => link.href))
const version = "1787646744133"
const findLoadedLink = href => Array.from(document.querySelectorAll(stylesheetSelector)).find(link => link.href === href)
const removeAfterLoad = (freshLink, staleLink) => {
const remove = () => staleLink.remove()
if (freshLink.sheet) {
requestAnimationFrame(remove)
return
}
freshLink.addEventListener("load", remove, { once: true })
}
for (const link of Array.from(document.querySelectorAll(stylesheetSelector))) {
const url = new URL(link.href, location.href)
if (url.origin !== location.origin || url.searchParams.get("v") === version) continue
url.searchParams.set("v", version)
if (loaded.has(url.href)) {
const freshLink = findLoadedLink(url.href)
if (freshLink && freshLink !== link) removeAfterLoad(freshLink, link)
continue
}
const freshLink = document.createElement("link")
freshLink.rel = "stylesheet"
freshLink.href = url.href
link.parentNode?.insertBefore(freshLink, link.nextSibling)
loaded.add(url.href)
removeAfterLoad(freshLink, link)
}
})();
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/view-home-security.js?v=1787646744133","js/rolldown-runtime.js?v=1787646744133","js/vendor-utils.js?v=1787646744133","js/vendor-vue.js?v=1787646744133","js/vendor-naive.js?v=1787646744133","js/vendor.js?v=1787646744133","css/vendor.css?v=1787646744133","js/app.js?v=1787646744133","js/vendor-pdf.js?v=1787646744133","js/vendor-polyfills.js?v=1787646744133","js/app-icons.js?v=1787646744133","css/app.css?v=1787646744133","js/app-components.js?v=1787646744133","js/app-base.js?v=1787646744133","js/vendor-code-highlight.js?v=1787646744133","css/vendor-code-highlight.css?v=1787646744133","css/app-base.css?v=1787646744133","js/vendor-pay.js?v=1787646744133","css/app-components.css?v=1787646744133","js/app-shared.js?v=1787646744133","js/app-modal-ui.js?v=1787646744133","js/vendor-crypto.js?v=1787646744133","css/app-shared.css?v=1787646744133","js/vendor-charts.js?v=1787646744133","js/app-form.js?v=1787646744133","css/app-form.css?v=1787646744133","js/app-temp.js?v=1787646744133","css/app-temp.css?v=1787646744133","js/legacy-view-home.js?v=1787646744133","js/vendor-interaction.js?v=1787646744133","css/legacy-view-home.css?v=1787646744133","css/view-home-security.css?v=1787646744133","js/view-config.js?v=1787646744133","js/domain-config.js?v=1787646744133","css/domain-config.css?v=1787646744133","css/view-config.css?v=1787646744133"])))=>i.map(i=>d[i]);
import{r as e}from"./rolldown-runtime.js?v=1787646744133";import{$n as t,A as n,Cn as r,Cr as i,Dn as a,E as o,En as s,Gn as c,Hn as l,Jn as u,Kn as d,Ln as f,On as p,Or as m,Qn as h,Rn as g,Sn as _,Xn as v,Yr as y,Zn as b,Zr as x,ar as S,bn as C,br as w,cr as T,dn as E,ei as D,fn as O,gr as k,hr as A,k as j,kn as M,lr as N,mn as P,n as ee,nn as F,o as te,or as ne,rr as re,sr as ie,un as I,vr as L,wr as R,wt as ae,xn as z,xr as oe,yn as B,zn as se}from"./vendor-utils.js?v=1787646744133";import{f as ce,l as V,o as le,p as H}from"./vendor-vue.js?v=1787646744133";import{$ as ue,A as de,B as fe,Ct as pe,Et as me,F as he,H as ge,I as _e,L as U,M as ve,P as ye,Q as be,St as xe,T as Se,Tt as Ce,U as we,W as Te,Y as Ee,Z as De,b as Oe,bt as ke,ct as Ae,gt as W,h as je,i as Me,j as Ne,mt as G,p as Pe,r as Fe,st as Ie,tt as Le,ut as Re,v as ze,wt as Be,xt as Ve,y as He}from"./vendor-naive.js?v=1787646744133";import{At as Ue,Bf as We,Bt as Ge,Ct as Ke,Da as K,Dt as qe,Ef as Je,Et as Ye,Ff as Xe,Ft as Ze,Gf as Qe,Ht as $e,If as et,It as tt,Lf as q,Lt as nt,Mf as rt,Mt as it,Nf as J,Nt as at,Oa as ot,Of as Y,Ot as st,Pf as ct,Pt as lt,Rf as ut,Rt as dt,Ru as ft,Sa as pt,St as mt,Tn as ht,Tt as gt,Tu as _t,Vt as vt,Xf as yt,Zf as bt,Zt as xt,_t as St,a as Ct,ap as wt,bp as Tt,bt as Et,cn as Dt,dn as Ot,dt as kt,ec as At,ft as jt,gp as Mt,gt as Nt,ht as Pt,i as Ft,jt as It,kt as Lt,ln as Rt,mn as zt,mt as Bt,pa as Vt,pt as Ht,sp as Ut,up as Wt,ut as Gt,vt as Kt,wf as qt,wt as Jt,xt as Yt,yp as X,yt as Xt,zf as Z,zt as Zt}from"./app.js?v=1787646744133";import{An as Qt,F as $t,Ji as en,L as tn,Mn as nn,N as rn,On as an,Qi as on,Xi as sn,Yi as Q,Zi as cn,aa as ln,jn as un,kn as dn,oa as fn}from"./app-components.js?v=1787646744133";import{$i as pn,$r as mn,Ai as hn,Ar as gn,Bi as _n,Br as vn,Cf as yn,Ci as bn,Di as xn,Dr as Sn,Ei as Cn,Er as wn,Fi as Tn,Fr as En,Gi as Dn,Gr as On,Hi as kn,Hr as An,Ii as jn,Ir as Mn,Ji as Nn,Jr as Pn,Ki as Fn,Li as In,Lr as Ln,Mi as Rn,Mr as zn,Ni as Bn,Nr as Vn,Oi as Hn,Or as Un,Pi as Wn,Pr as Gn,Qf as Kn,Qi as qn,Qr as Jn,Ri as Yn,Rr as Xn,Si as Zn,Ti as Qn,Tr as $n,Uf as er,Ui as tr,Ur as nr,Vi as rr,Vr as ir,Wi as ar,Wr as or,Xi as sr,Xr as cr,Ya as lr,Yi as ur,Yr as dr,Zi as fr,Zr as pr,_i as mr,ai as hr,bi as gr,ci as _r,di as vr,ea as yr,ei as br,fi as xr,gi as Sr,hd as Cr,hi as wr,ii as Tr,ji as Er,jr as Dr,ki as Or,kr,li as Ar,mi as jr,ni as Mr,oi as Nr,pi as Pr,qi as Fr,qr as Ir,ri as Lr,si as Rr,ti as zr,ui as Br,vi as Vr,wi as Hr,xi as Ur,yf as Wr,yi as Gr,zi as Kr,zr as qr}from"./app-shared.js?v=1787646744133";import{n as $,r as Jr}from"./vendor-pdf.js?v=1787646744133";import{c as Yr,d as Xr,l as Zr,u as Qr}from"./app-base.js?v=1787646744133";import{d as $r,f as ei}from"./domain-config.js?v=1787646744133";import{c as ti,s as ni}from"./app-form.js?v=1787646744133";import{o as ri}from"./app-temp.js?v=1787646744133";F();var ii={class:`p-20px`},ai=M({__name:`log`,props:{data:{}},setup(e,{expose:t}){let{t:n}=V(),{date:i,name:o}=e.data,s=w([]),{keys:c,table:l,columns:d}=K([{key:`log`,title:n(`Ftp.Analysis.Index_27`),render:()=>o},{key:`cwd`,title:n(`Security.Anti.Index_46`)},{key:`cmd`,title:n(`Security.Anti.Index_47`)},{key:`filename`,title:n(`Security.Anti.Index_48`)},{key:`cwd`,title:n(`Config.Safe.index_152`),render:e=>bt(e.timestamp)}]);se(()=>{s.value=i.map(e=>({label:e,value:e}))});let f=L({p:1,num:999,day:i[0]}),p=()=>({...f,user:o}),{loading:h,setLoading:g}=ot(),_=async()=>{try{g(!0);let{message:e}=await Fn(p());Mt(e)&&(l.data=e,l.total=e.length)}finally{c.value=[],g(!1)}};return _(),t({init:_}),(e,t)=>{let n=Le,i=U,o=Q,p=on;return u(),r(`div`,ii,[a(i,{class:`flex-nowrap! items-center mb-10px`},{default:T(()=>[C(`span`,null,D(e.$t(`Security.Anti.Index_45`)),1),a(n,{class:`w-150px`,value:m(f).day,"onUpdate:value":[t[0]||(t[0]=e=>m(f).day=e),_],options:m(s)},null,8,[`value`,`options`])]),_:1}),a(p,null,{table:T(()=>[a(o,{"checked-row-keys":m(c),"onUpdate:checkedRowKeys":t[1]||(t[1]=e=>A(c)?c.value=e:null),loading:m(h),data:m(l).data,"max-height":350,columns:m(d)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),_:1})])}}});F();var oi=M({__name:`index`,setup(e,{expose:t}){let{t:n}=V(),i=Gt(),{antiForm:o}=H(i),s=Xe(),{keys:c,table:l,columns:d}=K([{key:`user`,title:n(`Ftp.Analysis.Index_27`)},{key:`total`,title:n(`Security.Anti.Index_7`)},{key:`today`,title:n(`Public.Search.Today`)},Dt({key:`protection`,title:n(`Security.Tabs.Index_8`),minWidth:60,onClick:async(e,t)=>{e?await fr({user:t.user}):await yr({user:t.user})}}),Dt({key:`log`,title:n(`Security.Anti.Index_8`),minWidth:60,onClick:async(e,t)=>{e?await sr({uid:t.uid}):await pn({uid:t.uid})}}),{key:`remark`,title:n(`Site.Proxy.index_3`)},xt({width:130,title:n(`Public.Table.Operation`),options:e=>[{label:n(`Site.Proxy.index_51`),onClick:async()=>{let{message:t}=await Dn({user:e.user});if(Mt(t)&&!t.length){q.error(n(`Security.Anti.Index_44`));return}s.title=`[${e.user}] - ${n(`Site.Proxy.index_51`)}`,s.data.date=t,s.data.name=e.user,s.show=!0}}]})]);ne(()=>i.isRefresh,e=>{e&&(i.setRefresh(!1),h())});let{loading:f,setLoading:p}=ot(),h=async()=>{try{p(!0);let{message:e}=await ar();X(e)&&(o.value.switch=e.open,o.value.times=e.totla_times,o.value.days=e.totla_days,l.data=e.system_user.map(e=>({user:e[0],total:e[4].totla,today:e[4].day_totla,protection:e[3],log:e[5],remark:e[6],uid:e[1]})))}finally{c.value=[],p(!1)}};return h(),t({init:h}),(e,t)=>{let n=Q,i=Rt,o=qt;return u(),r(P,null,[a(n,{"checked-row-keys":m(c),"onUpdate:checkedRowKeys":t[0]||(t[0]=e=>A(c)?c.value=e:null),"row-key":`user`,"max-height":750,loading:m(f),data:m(l).data,columns:m(d)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`]),a(i,{class:`mt-16px`},{default:T(()=>[C(`li`,null,D(e.$t(`Security.Anti.Index_4`)),1),C(`li`,null,D(e.$t(`Security.Anti.Index_5`)),1),C(`li`,null,D(e.$t(`Security.Anti.Index_6`)),1)]),_:1}),a(o,{show:m(s).show,"onUpdate:show":t[1]||(t[1]=e=>m(s).show=e),title:m(s).title,data:m(s).data,width:750,"min-height":268,footer:!1,component:ai},null,8,[`show`,`title`,`data`])],64)}}});F();var si={class:`p-20px`},ci={class:`w-280px`},li={class:`color-#ff3333`},ui=M({__name:`form`,props:{data:{}},setup(e,{expose:t}){let{t:n}=V(),{getList:i}=e.data,o=w(null),s=L({name:``}),c={name:{required:!0,message:n(`Security.Conf.Index_28`),trigger:[`blur`,`input`]}};return t({onConfirm:async({hide:e})=>{var t;await((t=o.value)==null?void 0:t.validate()),await kn({cmd:s.name}),i==null||i(),e()}}),(e,t)=>{let n=xe,i=he,l=en,d=Rt;return u(),r(`div`,si,[a(l,{ref_key:`formRef`,ref:o,model:m(s),rules:c},{default:T(()=>[a(i,{label:e.$t(`Home.index_24`),path:`name`},{default:T(()=>[C(`div`,ci,[a(n,{type:`text`,value:m(s).name,"onUpdate:value":t[0]||(t[0]=e=>m(s).name=e),placeholder:`e.g:/bin/bash`},null,8,[`value`])])]),_:1},8,[`label`])]),_:1},8,[`model`]),a(d,{class:`mt-4px`},{default:T(()=>[C(`li`,li,D(e.$t(`Security.Anti.Index_9`)),1)]),_:1})])}}});F();var di=M({__name:`index`,setup(e,{expose:t}){let{t:n}=V(),{loading:i,setLoading:o}=ot(),{keys:c,table:l,columns:d}=K([{key:`whitelist`,title:n(`Security.Anti.Index_11`)},xt({width:130,options:e=>[{label:n(`Public.Btn.Del`),onClick:()=>{J({title:`${n(`Security.Anti.Index_12`)} [${e.whitelist}]`,content:n(`Security.Anti.Index_13`),onConfirm:async({hide:t})=>{await tr({cmd:e.whitelist}),f(),t()}})}}]})]),f=async()=>{try{o(!0);let{message:e}=await Nn();Mt(e)&&(l.data=e.map(e=>({whitelist:e})))}finally{c.value=[],o(!1)}};f(),t({init:f});let p=()=>{h.show=!0},h=Xe(n(`Security.Anti.Index_10`),{getList:f});return(e,t)=>{let n=W,o=Q,f=on,g=qt;return u(),r(`div`,null,[a(f,null,{toolsLeft:T(()=>[a(n,{type:`primary`,onClick:p},{default:T(()=>[s(D(e.$t(`Security.Anti.Index_10`)),1)]),_:1})]),table:T(()=>[a(o,{"checked-row-keys":m(c),"onUpdate:checkedRowKeys":t[0]||(t[0]=e=>A(c)?c.value=e:null),"row-key":`whitelist`,loading:m(i),"max-height":440,data:m(l).data,columns:m(d)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),_:1}),a(g,{show:m(h).show,"onUpdate:show":t[1]||(t[1]=e=>m(h).show=e),title:m(h).title,data:m(h).data,width:480,footer:!0,component:ui},null,8,[`show`,`title`,`data`])])}}});F();var fi=M({__name:`index`,setup(e,{expose:t}){let{t:n}=V(),{keys:r,table:i,columns:o}=K([{key:`log`,title:n(`Public.Table.Operation`)},{key:`addtime`,align:`right`,title:n(`Site.Cert.index_68`)}]),s=L({p:1,limit:10}),{loading:c,setLoading:l}=ot(),d=async()=>{try{l(!0);let{message:e}=await Fr(s);X(e)&&(i.data=e.data,i.total=Wt(e.page))}finally{r.value=[],l(!1)}};return d(),t({init:d}),(e,t)=>{let n=Q,l=cn,f=on;return u(),z(f,{feedback:!0},{table:T(()=>[a(n,{"checked-row-keys":m(r),"onUpdate:checkedRowKeys":t[0]||(t[0]=e=>A(r)?r.value=e:null),"row-key":`log`,loading:m(c),data:m(i).data,columns:m(o)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),pageRight:T(()=>[a(l,{page:m(s).p,"onUpdate:page":t[1]||(t[1]=e=>m(s).p=e),"page-size":m(s).limit,"onUpdate:pageSize":t[2]||(t[2]=e=>m(s).limit=e),"item-count":m(i).total,"store-key":`security-anti`,onRefresh:d},null,8,[`page`,`page-size`,`item-count`])]),_:1})}}});F();var pi=M({__name:`index`,setup(e){let{t}=V(),n=w(`overview`),r=[{key:`overview`,label:t(`Security.Tabs.Index_5`),component:oi},{key:`whitelist`,label:t(`Security.Tabs.Index_6`),component:di},{key:`operation`,label:t(`Security.Tabs.Index_7`),component:fi}];return(e,t)=>{let i=Xr;return u(),z(i,{value:m(n),"onUpdate:value":t[0]||(t[0]=e=>A(n)?n.value=e:null),options:r},null,8,[`value`])}}});F();var mi={class:`pt-40px pb-40px`},hi={class:`mb-16px`},gi={class:`ul-style`},_i={class:`text-center my-24px`},vi={class:`flex justify-center`},yi={class:`item`},bi=[`onClick`],xi=Z(M({__name:`conversion`,setup(e){let t=w(0),n=[`Overview`,`Process whitelist`,`Operation logs`],i=()=>{Ct({source:105})};return(e,o)=>{let c=ut,l=W,d=Ne,f=G;return u(),z(f,null,{default:T(()=>[C(`div`,mi,[o[3]||(o[3]=C(`div`,{class:`mb-24px text-center text-22px font-bold`},`Anti Intrusion prevention features`,-1)),C(`div`,hi,[C(`ul`,gi,[C(`li`,null,[a(c,{name:`security-lixian`,size:`22`}),o[0]||(o[0]=C(`span`,{class:`ml-4px`},`Prevents the program from hanging`,-1))]),C(`li`,null,[a(c,{name:`security-sanfang`,size:`20`}),o[1]||(o[1]=C(`span`,{class:`ml-4px`},`Stop the mining virus`,-1))]),C(`li`,null,[a(c,{name:`security-webshell`,size:`26`}),o[2]||(o[2]=C(`span`,null,`Prevent Privilege Escalation Attacks`,-1))])])]),C(`div`,_i,[a(l,{type:`primary`,class:`h-36px text-14px`,onClick:i},{default:T(()=>[s(D(e.$t(`WP.Transition.index_7`)),1)]),_:1})]),C(`div`,vi,[C(`div`,yi,[C(`ul`,null,[(u(),r(P,null,v(n,(e,n)=>C(`li`,{class:y({active:m(t)==n}),key:n,onClick:e=>t.value=n},D(e),11,bi)),64))])]),N(a(d,{width:`100%`,src:m(rr)},null,8,[`src`]),[[I,m(t)==0]]),N(a(d,{width:`100%`,src:m(_n)},null,8,[`src`]),[[I,m(t)==1]]),N(a(d,{width:`100%`,src:m(Kr)},null,8,[`src`]),[[I,m(t)==2]])])])]),_:1})}}}),[[`__scopeId`,`data-v-c394a210`]]);F();var Si={key:0},Ci=M({__name:`index`,setup(e){let{isPro:t}=H(Ft()),n=Gt(),{antiForm:i}=H(n),o=w(i.value.switch);ne(B(()=>i.value.switch),e=>{o.value=e});let s=B(()=>i.value.times),c=B(()=>i.value.days),l=async e=>{e?await ur():await qn(),await n.setRefresh(!0)};return(async()=>{t.value&&await Vt(`bt_security`)})(),(e,n)=>{let i=je,d=fe,f=U,p=G;return m(t)?(u(),r(`div`,Si,[a(p,{class:`my-15px`},{default:T(()=>[a(f,{class:`p-15px items-center`},{default:T(()=>[C(`span`,null,D(e.$t(`Security.Anti.Index_1`)),1),a(i,{value:m(o),"onUpdate:value":[n[0]||(n[0]=e=>A(o)?o.value=e:null),l],"rubber-band":!1,size:`small`},null,8,[`value`]),a(d,{vertical:``}),C(`span`,null,D(e.$t(`Security.Anti.Index_2`))+`: `+D(m(s)),1),a(d,{vertical:``}),C(`span`,null,D(e.$t(`Security.Anti.Index_3`))+`: `+D(m(c)),1)]),_:1})]),_:1}),a(p,{class:`p-15px`},{default:T(()=>[a(pi)]),_:1})])):(u(),z(xi,{key:1}))}}}),wi=e({default:()=>Ti}),Ti=Ci;F();var Ei={class:`pl-5px`},Di={key:0},Oi={class:`mb-15px`},ki={class:`mr-10px`},Ai={key:0},ji={class:`mr-10px`},Mi=Z(M({__name:`index`,setup(e,{expose:t}){let{t:n}=V(),i=w(null),o=w(null),c=w(null),l=L({protectionUsername:!0,minutes:5,failures:5,radio:0,check:!1}),d=L({protectionIP:!0,minutes:15,failures:5,ip:`1s`,check:!1}),f=L({failures:360}),p=L({user:[`aapanel`],ip:[`ssh`]}),h=async e=>{await In({username_status:e})},g=async e=>{await In({ip_status:e})},y=async()=>{f.failures&&await Yn({history_limit:f.failures})},b={minutes:{trigger:[`blur`,`change`],validator:(e,t)=>t===null||t===0?Error(n(`Security.Conf.Index_27`)):!0},failures:{required:!0,type:`number`,trigger:[`blur`,`change`],message:n(`Security.Conf.Index_28`)}},x={minutes:{trigger:[`blur`,`change`],validator:(e,t)=>t===null||t===0?Error(n(`Security.Conf.Index_27`)):!0},failures:{required:!0,type:`number`,trigger:[`blur`,`change`],message:n(`Security.Conf.Index_28`)}},S={failures:{required:!0,type:`number`,trigger:[`blur`,`change`],message:n(`Security.Conf.Index_28`)}},E=()=>({username_limit:l.minutes,username_count:l.failures,username_type:l.radio,username_limit_root:l.check,ip_limit:d.minutes,ip_count:d.failures,ip_command:d.ip,ip_ipset_filter:d.check,history_limit:f.failures}),O=async()=>{var e,t,n;await((e=i.value)==null?void 0:e.validate()),await((t=o.value)==null?void 0:t.validate()),await((n=c.value)==null?void 0:n.validate()),await In(E()),k()},k=async()=>{let{message:e}=await Bn();X(e)&&(l.protectionUsername=e.username_status,l.minutes=e.based_on_username.limit,l.failures=e.based_on_username.count,l.radio=e.based_on_username.type,l.check=e.based_on_username.limit_root,d.protectionIP=e.ip_status,d.minutes=e.based_on_ip.limit,d.failures=e.based_on_ip.count,d.ip=e.based_on_ip.command,d.check=e.based_on_ip.ipset_filter,f.failures=e.history_limit);let{message:t}=await jn();X(t)&&(p.user=t.based_on_username,p.ip=t.based_on_ip)};return k(),t({init:k}),(e,t)=>{let n=pe,w=je,E=de,k=he,A=en,j=fe,M=xe,ee=Re,F=W;return u(),r(`div`,Ei,[C(`h3`,null,[s(D(e.$t(`Security.Conf.Index_5`))+` (`+D(e.$t(`Security.Conf.Index_37`))+` `,1),(u(!0),r(P,null,v(m(p).user,(e,t)=>(u(),r(`span`,{key:t},[s(D(e),1),t<m(p).user.length-1?(u(),r(`span`,Di,`、`)):_(``,!0)]))),128)),t[9]||(t[9]=s(`) `,-1))]),a(n,{"show-icon":!1,class:`my-15px`},{default:T(()=>[s(D(e.$t(`Security.Conf.Index_6`)),1)]),_:1}),C(`div`,Oi,[C(`span`,ki,D(e.$t(`Site.TableRow.index_14`)),1),a(w,{size:`small`,value:m(l).protectionUsername,"onUpdate:value":[t[0]||(t[0]=e=>m(l).protectionUsername=e),h]},null,8,[`value`])]),m(l).protectionUsername?(u(),z(A,{key:0,ref_key:`userFormRef`,ref:i,"label-placement":`top`,model:m(l),rules:b},{default:T(()=>[a(k,{label:e.$t(`Security.Conf.Index_7`),path:`minutes`},{default:T(()=>[a(E,{"show-button":!1,value:m(l).minutes,"onUpdate:value":t[1]||(t[1]=e=>m(l).minutes=e)},null,8,[`value`])]),_:1},8,[`label`]),a(k,{label:e.$t(`Security.Conf.Index_8`),path:`failures`},{default:T(()=>[a(E,{"show-button":!1,value:m(l).failures,"onUpdate:value":t[2]||(t[2]=e=>m(l).failures=e)},null,8,[`value`])]),_:1},8,[`label`])]),_:1},8,[`model`])):_(``,!0),a(j,{class:`mb-20px!`}),C(`h3`,null,[s(D(e.$t(`Security.Conf.Index_12`))+` (`+D(e.$t(`Security.Conf.Index_37`))+` `,1),(u(!0),r(P,null,v(m(p).ip,(e,t)=>(u(),r(`span`,{key:t},[s(D(e),1),t<m(p).ip.length-1?(u(),r(`span`,Ai,`、`)):_(``,!0)]))),128)),t[10]||(t[10]=s(`) `,-1))]),a(n,{"show-icon":!1,class:`my-15px`},{default:T(()=>[s(D(e.$t(`Security.Conf.Index_13`)),1)]),_:1}),C(`span`,ji,D(e.$t(`Site.TableRow.index_14`)),1),a(w,{size:`small`,value:m(d).protectionIP,"onUpdate:value":[t[3]||(t[3]=e=>m(d).protectionIP=e),g]},null,8,[`value`]),m(d).protectionIP?(u(),z(A,{key:1,ref_key:`ipFormRef`,ref:o,"label-placement":`top`,model:m(d),rules:x,class:`pt-15px`},{default:T(()=>[a(k,{label:e.$t(`Security.Conf.Index_14`),path:`minutes`},{default:T(()=>[a(E,{"show-button":!1,value:m(d).minutes,"onUpdate:value":t[4]||(t[4]=e=>m(d).minutes=e)},null,8,[`value`])]),_:1},8,[`label`]),a(k,{label:e.$t(`Security.Conf.Index_15`),path:`failures`},{default:T(()=>[a(E,{"show-button":!1,value:m(d).failures,"onUpdate:value":t[5]||(t[5]=e=>m(d).failures=e)},null,8,[`value`])]),_:1},8,[`label`]),a(k,{label:e.$t(`Security.Conf.Index_16`)},{default:T(()=>[a(M,{class:`w-150px!`,value:m(d).ip,"onUpdate:value":t[6]||(t[6]=e=>m(d).ip=e),placeholder:e.$t(`Security.Conf.Index_38`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),a(ee,{checked:m(d).check,"onUpdate:checked":t[7]||(t[7]=e=>m(d).check=e)},{default:T(()=>[s(D(e.$t(`Security.Conf.Index_17`)),1)]),_:1},8,[`checked`]),N(C(`div`,{class:`mt-10px ml-24px text-desc`},D(e.$t(`Security.Conf.Index_39`,[m(d).minutes])),513),[[I,m(d).check]])]),_:1},8,[`model`])):_(``,!0),a(j,{class:`my-20px!`}),C(`h3`,null,D(e.$t(`Security.Conf.Index_22`)),1),a(A,{"label-placement":`top`,model:m(f),rules:S,ref_key:`historyFormRef`,ref:c,class:`pt-15px`},{default:T(()=>[a(k,{label:e.$t(`Security.Conf.Index_23`),path:`failures`},{default:T(()=>[a(E,{"show-button":!1,placeholder:e.$t(`Site.Placeholder.Index_10`),value:m(f).failures,"onUpdate:value":t[8]||(t[8]=e=>m(f).failures=e),onBlur:y},null,8,[`placeholder`,`value`])]),_:1},8,[`label`])]),_:1},8,[`model`]),a(j,{class:`mb-20px!`}),a(F,{type:`primary`,onClick:O},{default:T(()=>[s(D(e.$t(`Site.Cert.index_60`)),1)]),_:1})])}}}),[[`__scopeId`,`data-v-1f3cf94b`]]);F();var Ni={class:`pl-5px`},Pi=M({__name:`index`,setup(e,{expose:t}){let n=w(``),{loading:i,setLoading:o}=ot(!0),c=async()=>{await hn({ips:JSON.stringify(n.value).replace(/^"|"$/g,``),types:`white`,hand:!0}),l()},l=async()=>{try{o(!0);let{message:e}=await Tn({types:`white`});Mt(e)&&(n.value=e.map(e=>`${e.ip} # ${e.ps}`).join(`
`))}finally{o(!1)}};return l(),t({init:l}),(e,t)=>{let o=pe,l=xe,d=Rt,f=U,p=W;return u(),r(`div`,Ni,[a(o,{"show-icon":!1},{default:T(()=>[s(D(e.$t(`Security.WhiteList.Index_1`)),1)]),_:1}),a(f,{class:`items-center my-15px`},{default:T(()=>[a(l,{class:`w-500px!`,type:`textarea`,loading:m(i),value:m(n),"onUpdate:value":t[0]||(t[0]=e=>A(n)?n.value=e:null),autosize:{minRows:10},placeholder:e.$t(`Ftp.Placeholder.Index_3`)},null,8,[`loading`,`value`,`placeholder`]),a(d,null,{default:T(()=>[C(`li`,null,D(e.$t(`Security.WhiteList.Index_2`)),1),C(`li`,null,D(e.$t(`Security.WhiteList.Index_3`)),1),C(`li`,null,D(e.$t(`Security.WhiteList.Index_4`)),1)]),_:1})]),_:1}),a(p,{type:`primary`,onClick:c},{default:T(()=>[s(D(e.$t(`Site.Cert.index_60`)),1)]),_:1})])}}});F();var Fi={class:`pl-5px`},Ii=M({__name:`index`,setup(e,{expose:t}){let n=w(``),{loading:i,setLoading:o}=ot(!0),c=async()=>{await hn({ips:JSON.stringify(n.value).replace(/^"|"$/g,``),types:`black`,hand:!0}),l()},l=async()=>{try{o(!0);let{message:e}=await Tn({types:`black`});Mt(e)&&(n.value=e.map(e=>`${e.ip} # ${e.ps}`).join(`
`))}finally{o(!1)}};return l(),t({init:l}),(e,t)=>{let o=pe,l=xe,d=Rt,f=U,p=W;return u(),r(`div`,Fi,[a(o,{"show-icon":!1},{default:T(()=>[s(D(e.$t(`Security.BlackList.Index_1`)),1)]),_:1}),a(f,{class:`items-center my-15px`},{default:T(()=>[a(l,{class:`w-500px!`,type:`textarea`,loading:m(i),value:m(n),"onUpdate:value":t[0]||(t[0]=e=>A(n)?n.value=e:null),autosize:{minRows:10},placeholder:e.$t(`Ftp.Placeholder.Index_3`)},null,8,[`loading`,`value`,`placeholder`]),a(d,null,{default:T(()=>[C(`li`,null,D(e.$t(`Security.WhiteList.Index_2`)),1),C(`li`,null,D(e.$t(`Security.WhiteList.Index_3`)),1),C(`li`,null,D(e.$t(`Security.WhiteList.Index_4`)),1)]),_:1})]),_:1}),a(p,{type:`primary`,onClick:c},{default:T(()=>[s(D(e.$t(`Site.Cert.index_60`)),1)]),_:1})])}}});F();var Li=M({__name:`index`,setup(e,{expose:t}){let{t:n}=V(),i=L({p:1,limit:10,keyword:``,types:`login`}),o=[{key:`user`,title:n(`Security.History.Index_7`),width:`15%`},{key:`ip`,title:n(`Security.History.Index_8`),width:`15%`},{key:`service`,title:n(`Security.History.Index_10`),width:`15%`},{key:`logintime`,title:n(`Security.History.Index_11`),align:`center`,width:`10%`}],c=[{key:`ip`,title:n(`Security.History.Index_8`),width:`15%`},{key:`lock_status`,title:n(`Home.index_66`),width:`20%`},{key:`block_reason`,title:n(`Security.Anti.Index_21`),width:`20%`},{key:`exptime`,title:n(`Security.History.index_20`),width:`20%`},{key:`timeleft`,title:n(`Security.History.index_21`),width:`20%`,align:`center`},xt({title:n(`Public.Table.Action`),align:`right`,options:e=>[{label:n(`Security.History.Index_16`),onClick:async()=>{J({title:`${n(`Security.History.Index_16`)} [${e.ip}]`,content:n(`Security.History.Index_17`),onConfirm:async()=>{await Or({ip:e.ip,hand:!0,ps:`Manually add`,clear_black:1}),b()}})}}]})],{keys:l,table:d,columns:f}=K(o),p=[{label:n(`Security.History.Index_3`),value:`login`},{label:n(`Security.History.Index_5`),value:`ip`}],h=async()=>{i.keyword=``,i.p=1,d.data=[],f.value=i.types===`ip`?c:o,b()},g=async()=>{J({title:n(`Security.History.Index_1`),content:n(`Security.History.Index_18`),onConfirm:async()=>{await Rn(),b()}})},{loading:v,setLoading:y}=ot(!0),b=async()=>{try{y(!0);let{message:e}=await Wn(R(i));X(e)?(d.data=e.data,d.total=Wt(e.page)):(d.data=[],d.total=0)}finally{l.value=[],y(!1)}};return b(),t({init:b}),(e,t)=>{let n=ut,o=W,c=Le,l=Yr,y=U,x=Q,S=cn,w=on,E=Rt;return u(),r(P,null,[a(w,{class:`pl-5px`},{toolsLeft:T(()=>[a(o,{type:`primary`,onClick:b},{icon:T(()=>[a(n,{name:`refresh`,size:`14`})]),default:T(()=>[s(` `+D(e.$t(`Public.Btn.Refresh`)),1)]),_:1}),a(o,{onClick:g},{default:T(()=>[s(D(e.$t(`Security.History.Index_1`)),1)]),_:1})]),toolsRight:T(()=>[s(D(e.$t(`Security.History.Index_2`))+` `,1),a(y,{class:`flex-nowrap!`},{default:T(()=>[a(c,{value:m(i).types,"onUpdate:value":[t[0]||(t[0]=e=>m(i).types=e),h],options:p,class:`w-200px`},null,8,[`value`]),a(l,{value:m(i).keyword,"onUpdate:value":t[1]||(t[1]=e=>m(i).keyword=e),placeholder:e.$t(`Security.History.Index_14`),onSearch:b},null,8,[`value`,`placeholder`])]),_:1})]),table:T(()=>[a(x,{loading:m(v),data:m(d).data,columns:m(f)},null,8,[`loading`,`data`,`columns`])]),pageRight:T(()=>[a(S,{page:m(i).p,"onUpdate:page":t[2]||(t[2]=e=>m(i).p=e),"page-size":m(i).limit,"onUpdate:pageSize":t[3]||(t[3]=e=>m(i).limit=e),"item-count":m(d).total,onRefresh:b},null,8,[`page`,`page-size`,`item-count`])]),_:1}),m(i).types===`ip`?(u(),z(E,{key:0},{default:T(()=>[C(`li`,null,D(e.$t(`Security.History.Index_19`)),1)]),_:1})):_(``,!0)],64)}}});F();var Ri=M({__name:`index`,setup(e){let{t}=V(),n=w(`config`),r=[{key:`config`,label:t(`Security.Tabs.Index_1`),component:Mi},{key:`white`,label:t(`Security.Tabs.Index_2`),component:Pi},{key:`black`,label:t(`Security.Tabs.Index_3`),component:Ii},{key:`history`,label:t(`Security.Tabs.Index_4`),component:Li}];return(e,t)=>{let i=Xr;return u(),z(i,{value:m(n),"onUpdate:value":t[0]||(t[0]=e=>A(n)?n.value=e:null),options:r},null,8,[`value`])}}});F();var zi={class:`mr-15px`},Bi=M({__name:`index`,setup(e){let{t}=V(),n=L({address:``,show:!1}),i=w(!1),o=async e=>{i.value=!e,J({title:t(`Security.Conf.Index_1`),content:t(`Security.Conf.Index_4`),onConfirm:async({hide:t})=>{await In({global_status:e}),i.value=e,t()}})},c=async()=>{await Or({ip:n.address,hand:!0}),f()},{loading:l,setLoading:d}=ot(!0),f=async()=>{d(!0);let{message:e}=await Bn();if(X(e)&&(i.value=e.global_status,d(!1),!e.global_status))return;let{data:t}=await ee.get(`https://api.ipify.org?format=json`);n.address=t.ip;try{await Er({ip:t.ip}),n.show=!1}catch(e){n.show=!0,console.error(e)}};return f(),(e,t)=>{let d=W,f=pe,p=je,h=U,g=G;return u(),r(P,null,[m(n).show&&m(i)?(u(),z(f,{key:0,class:`py-10px`,type:`warning`,bordered:!1},{default:T(()=>[C(`span`,zi,D(e.$t(`Security.Conf.Index_2`,[m(n).address])),1),a(d,{text:``,type:`primary`,onClick:c},{default:T(()=>[s(` [`+D(e.$t(`Security.Conf.Index_3`))+`] `,1)]),_:1})]),_:1})):_(``,!0),a(g,{class:`my-15px`},{default:T(()=>[a(h,{class:`p-15px items-center`},{default:T(()=>[C(`span`,null,D(e.$t(`Security.Conf.Index_1`)),1),a(p,{value:m(i),"onUpdate:value":[t[0]||(t[0]=e=>A(i)?i.value=e:null),o],"rubber-band":!1,loading:m(l),size:`small`},null,8,[`value`,`loading`])]),_:1})]),_:1}),m(i)?(u(),z(g,{key:1,class:`p-15px`},{default:T(()=>[a(Ri)]),_:1})):_(``,!0)],64)}}}),Vi=e({default:()=>Hi}),Hi=Z(Bi,[[`__scopeId`,`data-v-a42e9e29`]]);F();var Ui={class:`p-20px`},Wi=M({__name:`user`,props:{data:{}},setup(e,{expose:t}){let{t:n}=V(),{getList:i}=e.data,{keys:o,table:c,columns:l}=K([{type:`selection`,width:40},{key:`id`,title:n(`Site.TableRow.index_2`)}]),{loading:d,setLoading:f}=ot();return(async()=>{try{f(!0);let{message:e}=await un();X(e)&&(c.data=e.data.map(e=>({id:e})))}finally{o.value=[],f(!1)}})(),t({onConfirm:async()=>{if(!o.value.length)return q.error(n(`Security.Compiler.Index_5`)),!1;await an({users:JSON.stringify(o.value)}),i==null||i()}}),(e,t)=>{let n=pe,i=Q;return u(),r(`div`,Ui,[a(n,{"show-icon":!1,class:`mb-15px`},{default:T(()=>[s(D(e.$t(`Security.Compiler.Index_3`)),1)]),_:1}),a(i,{"checked-row-keys":m(o),"onUpdate:checkedRowKeys":t[0]||(t[0]=e=>A(o)?o.value=e:null),"row-key":`id`,loading:m(d),data:m(c).data,"max-height":250,columns:m(l)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])])}}});F();var Gi=M({__name:`index`,setup(e){let{t}=V(),n=()=>{p.show=!0},i=L({p:1,limit:10}),{table:o,columns:c}=K([{key:`name`,title:t(`Site.TableRow.index_2`)},xt({width:130,options:e=>[{label:t(`Public.Btn.Del`),onClick:()=>{J({title:`${t(`Ftp.Table.index_10`)} ${e.name}`,content:t(`Security.Compiler.Index_6`),onConfirm:async()=>{await dn({user:e.name}),f()}})}}]})]),{loading:l,setLoading:d}=ot(),f=async()=>{try{d(!0);let{message:e}=await Qt(R(i));X(e)&&(o.data=e.data.map(e=>({name:e})),o.total=Wt(e.page))}finally{d(!1)}};f();let p=Xe(t(`Security.Compiler.Index_1`),{getList:f});return(e,t)=>{let d=W,h=Q,g=cn,_=on,v=Rt,y=qt;return u(),r(P,null,[a(_,null,{toolsLeft:T(()=>[a(d,{type:`primary`,onClick:n},{default:T(()=>[s(D(e.$t(`Security.Compiler.Index_1`)),1)]),_:1})]),table:T(()=>[a(h,{loading:m(l),data:m(o).data,columns:m(c)},null,8,[`loading`,`data`,`columns`])]),pageRight:T(()=>[a(g,{page:m(i).p,"onUpdate:page":t[0]||(t[0]=e=>m(i).p=e),"page-size":m(i).limit,"onUpdate:pageSize":t[1]||(t[1]=e=>m(i).limit=e),"item-count":m(o).total,onRefresh:f},null,8,[`page`,`page-size`,`item-count`])]),_:1}),a(v,null,{default:T(()=>[C(`li`,null,D(e.$t(`Security.Compiler.Index_2`)),1)]),_:1}),a(y,{show:m(p).show,"onUpdate:show":t[2]||(t[2]=e=>m(p).show=e),title:m(p).title,data:m(p).data,width:600,"min-height":350,footer:!0,component:Wi},null,8,[`show`,`title`,`data`])],64)}}});F();var Ki=M({__name:`index`,setup(e){let{t}=V(),n=w(!1),i=async e=>{n.value=!e,J({title:t(`Security.Conf.Index_35`),content:t(`Security.Conf.Index_36`),onConfirm:async({hide:r})=>{try{await nn({status:+!!e}),q.success(t(`Security.Compiler.Index_4`)),r(),n.value=e}catch(e){console.error(e)}}})},{loading:o,setLoading:c}=ot(!0);return(async()=>{c(!0);let{message:e}=await nn(null,!1);X(e)&&(n.value=e.result),c(!1)})(),(e,t)=>{let c=je,l=U,d=G,f=pe;return u(),r(P,null,[a(d,null,{default:T(()=>[a(l,{class:`p-15px items-center`},{default:T(()=>[C(`span`,null,D(e.$t(`Security.Conf.Index_30`)),1),a(c,{value:m(n),"onUpdate:value":[t[0]||(t[0]=e=>A(n)?n.value=e:null),i],loading:m(o),"rubber-band":!1,size:`small`},null,8,[`value`,`loading`])]),_:1})]),_:1}),a(d,{class:`mt-15px p-15px`},{default:T(()=>[C(`h3`,null,D(e.$t(`Security.Conf.Index_31`,[m(n)?e.$t(`Security.Conf.Index_33`):e.$t(`Security.Conf.Index_34`)])),1),a(f,{"show-icon":!1,class:`my-15px`},{default:T(()=>[s(D(e.$t(`Security.Conf.Index_32`)),1)]),_:1}),a(Gi)]),_:1})],64)}}}),qi=e({default:()=>Ji}),Ji=Z(Ki,[[`__scopeId`,`data-v-e079a6d5`]]);F();var Yi={class:`px-20px pt-24px pb-8px`},Xi={class:`w-240px`},Zi={class:`w-240px`},Qi={class:`w-240px`},$i={class:`w-240px`},ea=M({__name:`form`,props:{row:{},isEdit:{type:Boolean,default:!1}},emits:[`refresh`],setup(e,{expose:t,emit:n}){let i=e,o=n,{t:s}=V(),{isEdit:c,row:l}=i,d=w(null),f=L({types:`drop`,choose:`all`,ports:null,country:[`United States`],is_update:!1}),p={country:{trigger:`change`,validator:()=>f.country.length!==0||Error(s(`Security.Firewall.Area.form_8`))},ports:{trigger:[`blur`,`input`],validator:()=>{if(f.choose===`point`){if(!f.ports)return Error(s(`Security.Firewall.Area.form_9`));if(!Kn(`${f.ports}`))return Error(s(`Security.Firewall.Area.form_10`))}return!0}}},h=[{label:s(`Security.Firewall.Area.form_11`),value:`all`},{label:s(`Security.Firewall.Area.form_3`),value:`point`}],g=[{label:s(`Security.Firewall.Area.form_12`),value:`drop`}],v=w(!1),y=w([]),b=async()=>{try{v.value=!0;let{message:e}=await Ue();Mt(e)&&(y.value=e.map(e=>({label:e.CH,value:e.CH,brief:e.brief})))}finally{v.value=!1}},x=()=>{c&&l&&(f.types=l.types,f.choose=l.ports?`point`:`all`,f.ports=l.ports?ln(l.ports):null,f.country=l.country)},S=()=>({types:f.types,choose:f.choose,ports:f.choose===`point`?`${f.ports||``}`:``,country:f.country,brief:``,is_update:f.is_update});return b(),x(),t({onConfirm:async()=>{var e;await((e=d.value)==null?void 0:e.validate());let t=S();if(c&&l){var n;t.brief=`${((n=y.value.find(e=>e.label===l.country))==null?void 0:n.brief)||``}`,await Yt({...t,id:l.id})}else await kt(t);o(`refresh`)}}),(e,t)=>{let n=Le,i=he,o=de,s=Re,l=en;return u(),r(`div`,Yi,[a(l,{ref_key:`formRef`,ref:d,model:m(f),rules:p},{default:T(()=>[a(i,{label:e.$t(`Security.Firewall.Area.form_1`),path:`types`},{default:T(()=>[C(`div`,Xi,[a(n,{value:m(f).types,"onUpdate:value":t[0]||(t[0]=e=>m(f).types=e),options:g},null,8,[`value`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.Area.form_2`),path:`choose`},{default:T(()=>[C(`div`,Zi,[a(n,{value:m(f).choose,"onUpdate:value":t[1]||(t[1]=e=>m(f).choose=e),options:h},null,8,[`value`])])]),_:1},8,[`label`]),N(a(i,{label:e.$t(`Security.Firewall.Area.form_3`),path:`ports`},{default:T(()=>[C(`div`,Qi,[a(o,{value:m(f).ports,"onUpdate:value":t[2]||(t[2]=e=>m(f).ports=e),min:1,max:65535,"show-button":!1,placeholder:e.$t(`Security.Firewall.Area.form_4`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`]),[[I,m(f).choose===`point`]]),a(i,{label:e.$t(`Security.Firewall.Area.form_5`),path:`country`},{default:T(()=>[C(`div`,$i,[a(n,{value:m(f).country,"onUpdate:value":t[3]||(t[3]=e=>m(f).country=e),filterable:``,"max-tag-count":`responsive`,multiple:!m(c),loading:m(v),options:m(y)},null,8,[`value`,`multiple`,`loading`,`options`])])]),_:1},8,[`label`]),m(c)?_(``,!0):(u(),z(i,{key:0,label:` `},{default:T(()=>[a(s,{checked:m(f).is_update,"onUpdate:checked":t[4]||(t[4]=e=>m(f).is_update=e),label:`Update IP Pool`},null,8,[`checked`])]),_:1}))]),_:1},8,[`model`])])}}}),ta=e({default:()=>na}),na=ea;F();var ra={class:`p-20px`},ia={class:`w-200px`},aa={class:`w-200px`},oa={class:`w-200px`},sa={class:`w-200px`},ca={class:`w-200px`},la=M({__name:`form`,props:{row:{},isEdit:{type:Boolean,default:!1}},emits:[`refresh`],setup(e,{expose:t,emit:n}){let i=e,o=n,{t:s}=V(),{isEdit:c,row:l}=i,d=w(null),f=L({protocol:`tcp`,s_ports:``,d_address:``,d_ports:``,brief:``}),p={s_ports:{trigger:[`blur`,`input`],validator:()=>f.s_ports.trim()===``||!f.s_ports?Error(s(`Security.Firewall.Forward.form_3`)):Kn(f.s_ports)?!0:Error(s(`Security.Firewall.Forward.form_12`))},d_ports:{trigger:[`blur`,`input`],validator:()=>f.d_ports.trim()===``||!f.d_ports?Error(s(`Security.Firewall.Forward.form_7`)):Kn(f.d_ports)?!0:Error(s(`Security.Firewall.Forward.form_12`))}},h=[{label:`TCP`,value:`tcp`},{label:`UDP`,value:`udp`}],g=()=>{c&&l&&(f.protocol=l.Protocol?l.Protocol.toLowerCase():`tcp`,f.s_ports=l.S_Port||``,f.d_address=l.T_Address||``,f.d_ports=l.T_Port||``,f.brief=l.brief)},_=()=>({protocol:f.protocol,S_Port:f.s_ports,T_Port:f.d_ports,T_Address:f.d_address,brief:f.brief});return g(),t({onConfirm:async()=>{var e;await((e=d.value)==null?void 0:e.validate());let t=_();c&&l?await Jt({new_data:{...t,id:l.id},old_data:l}):await Ht(t),o(`refresh`)}}),(e,t)=>{let n=Le,i=he,o=xe,s=en,c=Rt;return u(),r(`div`,ra,[a(s,{ref_key:`formRef`,ref:d,model:m(f),rules:p},{default:T(()=>[a(i,{label:e.$t(`Security.Firewall.Forward.form_1`),path:`protocol`},{default:T(()=>[C(`div`,ia,[a(n,{value:m(f).protocol,"onUpdate:value":t[0]||(t[0]=e=>m(f).protocol=e),options:h},null,8,[`value`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.Forward.form_2`),path:`s_ports`},{default:T(()=>[C(`div`,aa,[a(o,{value:m(f).s_ports,"onUpdate:value":t[1]||(t[1]=e=>m(f).s_ports=e),placeholder:e.$t(`Security.Firewall.Forward.form_3`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.Forward.form_4`),path:`d_address`},{default:T(()=>[C(`div`,oa,[a(o,{value:m(f).d_address,"onUpdate:value":t[2]||(t[2]=e=>m(f).d_address=e),placeholder:e.$t(`Security.Firewall.Forward.form_5`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.Forward.form_6`),path:`d_ports`},{default:T(()=>[C(`div`,sa,[a(o,{value:m(f).d_ports,"onUpdate:value":t[3]||(t[3]=e=>m(f).d_ports=e),placeholder:e.$t(`Security.Firewall.Forward.form_7`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.Forward.form_8`),path:`brief`,"show-feedback":!1},{default:T(()=>[C(`div`,ca,[a(o,{value:m(f).brief,"onUpdate:value":t[4]||(t[4]=e=>m(f).brief=e),placeholder:e.$t(`Security.Firewall.Forward.form_9`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`])]),_:1},8,[`model`]),a(c,{class:`mt-20px ml-40px`},{default:T(()=>[C(`li`,null,D(e.$t(`Security.Firewall.Forward.form_10`)),1),C(`li`,null,D(e.$t(`Security.Firewall.Forward.form_11`)),1)]),_:1})])}}}),ua=e({default:()=>da}),da=la;F();var fa=`.json`,pa=`/www/server/panel/data/firewall`,ma=M({__name:`import`,emits:[`finish`],setup(e,{emit:t}){let n=t,{t:r}=V(),i=w([]),o=async({file:e})=>{let{close:t}=q.loading(r(`Security.Firewall.Api.index_1`));try{let t=new FormData;t.append(`f_path`,pa),t.append(`f_name`,e.name),t.append(`f_start`,`0`),e.file&&(t.append(`blob`,e.file),t.append(`f_size`,e.file.size.toString())),await er(t);let r=`${pa}/${e.name}`;await Zt({rule:`port`,file:r}),n(`finish`,r)}finally{i.value=[],t()}};return(e,t)=>{let n=W,r=Me;return u(),z(r,{ref:`upload`,class:`w-auto`,action:``,"file-list":m(i),"onUpdate:fileList":t[0]||(t[0]=e=>A(i)?i.value=e:null),accept:fa,multiple:!1,"show-file-list":!1,"custom-request":o},{default:T(()=>[a(n,null,{default:T(()=>[b(e.$slots,`default`)]),_:3})]),_:3},8,[`file-list`])}}});F(),Jr();var ha=M({__name:`index`,emits:[`refresh`],setup(e,{expose:t,emit:n}){let i=p(()=>$(()=>Promise.resolve().then(()=>bo),void 0)),o=p(()=>$(()=>Promise.resolve().then(()=>so),void 0)),l=p(()=>$(()=>Promise.resolve().then(()=>wo),void 0)),d=n,{t:f}=V(),h=()=>{ne(),d(`refresh`)},g=Xe(f(`Security.Firewall.Port.index_1`),{isEdit:!1,onRefresh:()=>{h()}}),_=()=>{g.data.row=void 0,g.data.isEdit=!1,g.title=f(`Security.Firewall.Port.index_1`),g.show=!0},v=e=>{g.data.row=e,g.data.isEdit=!0,g.title=f(`Security.Firewall.Port.index_8`),g.show=!0},y=Xe(f(`Security.Firewall.Port.index_3`)),b=()=>{y.data.chain=S.chain,y.show=!0},x=e=>`${e.Port}-${e.Family}-${e.Protocol}`,S=L({chain:`ALL`,query:``,p:1,row:20}),C=new Map([[`3306`,f(`Security.Firewall.Port.index_9`)],[`888`,f(`Security.Firewall.Port.index_10`)],[`22`,f(`Security.Firewall.Port.index_11`)],[`20`,f(`Security.Firewall.Port.index_12`)],[`21`,f(`Security.Firewall.Port.index_13`)],[`39000-40000`,f(`Security.Firewall.Port.index_14`)],[`30000-40000`,f(`Security.Firewall.Port.index_14`)],[`11211`,f(`Security.Firewall.Port.index_15`)],[`873`,f(`Security.Firewall.Port.index_16`)],[`80`,f(`Security.Firewall.Port.index_17`)]]),{keys:w,table:E,columns:O,setLoading:k}=K([{type:`selection`,width:40},{key:`Protocol`,title:f(`Security.Firewall.Port.index_18`)},{key:`Port`,title:f(`Security.Firewall.Port.index_19`),render:e=>e.Port+(e.Family===`ipv6`?` (ipv6)`:``)},{key:`status`,title:()=>a(P,null,[a(`span`,{class:`mr-4px`},[f(`Security.Firewall.Port.index_36`)]),a(`a`,{class:`bt-ico-ask`,href:`https://www.aapanel.com/forum/d/1088-description-of-firewall-status`,target:`_blank`},[s(`?`)])]),render:e=>{var t,n;return a(P,null,[a(`span`,null,[e.status===0?f(`Security.Firewall.Port.index_22`):e.status===1&&!((t=e.Port)!=null&&t.includes(`-`))?f(`Security.Firewall.Port.index_37`):f(`Security.Firewall.Port.index_20`)]),e.status!==2||(n=e.Port)!=null&&n.includes(`-`)||e.Protocol===`udp`?``:a(`a`,{class:`bt-link`,onClick:()=>{M(e)}},[f(`Security.Firewall.Port.index_38`)])])}},{key:`Strategy`,title:f(`Security.Firewall.Port.index_21`),render:e=>a(`a`,{class:[`bt-link`,e.Strategy==`accept`?``:`error`],onClick:()=>{N(e)}},[e.Strategy==`accept`?f(`Security.Firewall.Port.index_39`):f(`Security.Firewall.Port.index_40`)])},{key:`Chain`,title:f(`Security.Firewall.Port.index_23`),render:e=>e.Chain===`INPUT`?f(`Security.Firewall.Port.index_5`):f(`Security.Firewall.Port.index_6`)},{key:`Address`,title:f(`Security.Firewall.Port.index_24`),render:e=>e.sid>0?e.domain:e.Address===`all`?f(`Security.Firewall.Port.index_25`):e.Address},{key:`brief`,title:f(`Security.Firewall.Port.index_26`),minWidth:150,width:`8%`,ellipsis:{tooltip:!0},render:e=>e.brief||C.get(e.Port)||`--`},{key:`addtime`,title:f(`Security.Firewall.Port.index_27`),width:`8%`,minWidth:140},xt({width:140,options:e=>[{label:f(`Public.Btn.Edit`),onClick:()=>{v(e)}},{label:f(`Public.Btn.Del`),onClick:()=>{ee(e)}}]})]),j=Xe(``),M=e=>{j.data.row=e,j.title=f(`Security.Firewall.Port.index_28`,[e.Port]),j.show=!0},N=e=>{J({title:f(`Security.Firewall.Port.index_29`,[e.Port]),content:e.Strategy===`accept`?f(`Security.Firewall.Port.index_41`):f(`Security.Firewall.Port.index_30`),onConfirm:async()=>{await Ye({new_data:{protocol:e.Protocol,address:e.Address,port:e.Port,strategy:e.Strategy===`accept`?`drop`:`accept`,chain:e.Chain,brief:e.brief},old_data:R(e)}),E.data.filter(t=>t.Port===e.Port).forEach(e=>{e.Strategy=e.Strategy===`accept`?`drop`:`accept`})}})},ee=e=>{J({title:f(`Security.Firewall.Port.index_31`,[e.Port]),content:f(`Security.Firewall.Port.index_32`),onConfirm:async()=>{await Et({protocol:e.Protocol,address:e.Address,port:e.Port,strategy:e.Strategy,chain:e.Chain,brief:e.brief,domain:e.domain}),h()}})},F=[{key:`delete`,type:`confirm`,label:f(`Security.Firewall.Port.index_33`),confirm:{title:f(`Security.Firewall.Port.index_34`),desc:f(`Security.Firewall.Port.index_35`),api:e=>Et({protocol:e.Protocol,address:e.Address,port:e.Port,strategy:e.Strategy,chain:e.Chain,brief:e.brief,domain:e.domain},!1),done:()=>{h()},columns:[{key:`Port`,title:f(`Security.Firewall.Port.index_19`),render:e=>e.Port+(e.Family===`ipv6`?` (ipv6)`:``)}]}}],te=()=>{S.p=1,ne()},ne=async()=>{try{k(!0);let{message:e}=await tt(R(S));X(e)&&(E.data=e.data,E.total=Wt(e.page))}finally{w.value=[],k(!1)}};return c(()=>{ne()}),t({init:ne}),(e,t)=>{let n=W,c=be,d=De,f=Yr,p=Q,v=sn,C=cn,k=on,M=qt;return u(),r(`div`,null,[a(k,null,{toolsLeft:T(()=>[a(n,{type:`primary`,onClick:_},{default:T(()=>[s(D(e.$t(`Security.Firewall.Port.index_1`)),1)]),_:1}),a(ma,{onFinish:h},{default:T(()=>[s(D(e.$t(`Security.Firewall.Port.index_2`)),1)]),_:1}),a(n,{onClick:b},{default:T(()=>[s(D(e.$t(`Security.Firewall.Port.index_3`)),1)]),_:1})]),toolsRight:T(()=>[a(d,{value:m(S).chain,"onUpdate:value":[t[0]||(t[0]=e=>m(S).chain=e),te]},{default:T(()=>[a(c,{value:`ALL`},{default:T(()=>[s(D(e.$t(`Security.Firewall.Port.index_4`)),1)]),_:1}),a(c,{value:`INPUT`},{default:T(()=>[s(D(e.$t(`Security.Firewall.Port.index_5`)),1)]),_:1}),a(c,{value:`OUTPUT`},{default:T(()=>[s(D(e.$t(`Security.Firewall.Port.index_6`)),1)]),_:1})]),_:1},8,[`value`]),a(f,{value:m(S).query,"onUpdate:value":t[1]||(t[1]=e=>m(S).query=e),width:`240`,placeholder:e.$t(`Security.Firewall.Port.index_7`),onSearch:te},null,8,[`value`,`placeholder`])]),table:T(()=>[a(p,{"checked-row-keys":m(w),"onUpdate:checkedRowKeys":t[2]||(t[2]=e=>A(w)?w.value=e:null),"row-key":x,loading:m(E).loading,data:m(E).data,columns:m(O)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),pageLeft:T(()=>[a(v,{"checked-row-keys":m(w),"onUpdate:checkedRowKeys":t[3]||(t[3]=e=>A(w)?w.value=e:null),"row-key":x,data:m(E).data,options:F},null,8,[`checked-row-keys`,`data`])]),pageRight:T(()=>[a(C,{page:m(S).p,"onUpdate:page":t[4]||(t[4]=e=>m(S).p=e),"page-size":m(S).row,"onUpdate:pageSize":t[5]||(t[5]=e=>m(S).row=e),"item-count":m(E).total,"store-key":`firewall-port`,onRefresh:ne},null,8,[`page`,`page-size`,`item-count`])]),_:1}),a(M,{show:m(g).show,"onUpdate:show":t[6]||(t[6]=e=>m(g).show=e),title:m(g).title,data:m(g).data,width:460,"min-height":396,footer:!0,component:m(i)},null,8,[`show`,`title`,`data`,`component`]),a(M,{show:m(y).show,"onUpdate:show":t[7]||(t[7]=e=>m(y).show=e),title:m(y).title,data:m(y).data,width:420,"min-height":72,footer:!0,component:m(o)},null,8,[`show`,`title`,`data`,`component`]),a(M,{show:m(j).show,"onUpdate:show":t[8]||(t[8]=e=>m(j).show=e),title:m(j).title,data:m(j).data,width:420,"min-height":162,component:m(l)},null,8,[`show`,`title`,`data`,`component`])])}}});F(),Jr();var ga={class:`p-16px`},_a={class:`flex justify-center`},va=M({__name:`index`,setup(e){let t=p(()=>$(()=>Promise.resolve().then(()=>no),void 0)),n=Xe(`Migrating firewall data`,{path:``}),i=()=>{J({title:`Migrating firewall data`,content:`Firewall data is about to be migrated, firewalld/ufw will be reloaded, and iptables rules may be cleared. Please confirm that iptables rules are persisted before proceeding). Do you want to continue?`,onConfirm:async()=>{let{message:e}=await $e();X(e)&&e.task_id&&(n.data.path=`/www/server/panel/tmp/`+e.task_id+`.log`,n.show=!0)}})};return(e,o)=>{let c=Rt,l=W,d=qt;return u(),r(`div`,ga,[o[3]||(o[3]=C(`div`,{class:`text-#e6a23c font-bold text-center text-4xl!`},`Detected the need to migrate the old firewall to the new service`,-1)),a(c,{class:`mt-4 mb-8`},{default:T(()=>[...o[1]||(o[1]=[C(`li`,null,` Only the firewall function of the panel will be migrated, and the existing rules of the system firewall (firewall/ufw) will not be affected. `,-1),C(`li`,null,` If you have used the iptables command line to add non-persistent rules, they will be lost! Please pay attention to persist or save iptables rules `,-1)])]),_:1}),C(`div`,_a,[a(l,{type:`primary`,onClick:i},{default:T(()=>[...o[2]||(o[2]=[s(` Migrate now `,-1)])]),_:1})]),a(d,{show:m(n).show,"onUpdate:show":o[0]||(o[0]=e=>m(n).show=e),title:m(n).title,data:m(n).data,width:550,"min-height":300,component:m(t),hideClose:!0},null,8,[`show`,`title`,`data`,`component`])])}}});F();var ya=`.json`,ba=`/www/server/panel/data/firewall`,xa=M({__name:`import`,emits:[`finish`],setup(e,{emit:t}){let n=t,{t:r}=V(),i=w([]),o=async({file:e})=>{let{close:t}=q.loading(r(`Security.Firewall.Api.index_1`));try{let t=new FormData;t.append(`f_path`,ba),t.append(`f_name`,e.name),t.append(`f_start`,`0`),e.file&&(t.append(`blob`,e.file),t.append(`f_size`,e.file.size.toString())),await er(t);let r=`${ba}/${e.name}`;await Zt({rule:`ip`,file:r}),n(`finish`,r)}finally{i.value=[],t()}};return(e,t)=>{let n=W,r=Me;return u(),z(r,{ref:`upload`,class:`w-auto`,action:``,"file-list":m(i),"onUpdate:fileList":t[0]||(t[0]=e=>A(i)?i.value=e:null),accept:ya,multiple:!1,"show-file-list":!1,"custom-request":o},{default:T(()=>[a(n,null,{default:T(()=>[b(e.$slots,`default`)]),_:3})]),_:3},8,[`file-list`])}}});F(),Jr();var Sa=M({__name:`index`,emits:[`refresh`],setup(e,{expose:t,emit:n}){let r=p(()=>$(()=>Promise.resolve().then(()=>Za),void 0)),i=p(()=>$(()=>Promise.resolve().then(()=>Ua),void 0)),o=n,{t:l}=V(),d=Ft(),{firewallStatus:f}=H(Gt()),h=Xe(l(`Security.Firewall.IP.index_1`),{isEdit:!1,onRefresh:()=>{x()}}),g=()=>{h.data.row=void 0,h.data.isEdit=!1,h.title=l(`Security.Firewall.IP.index_1`),h.show=!0},_=e=>{h.data.row=e,h.data.isEdit=!0,h.title=l(`Security.Firewall.IP.index_8`),h.show=!0},v=Xe(l(`Security.Firewall.IP.index_2`)),y=()=>{v.data.chain=S.chain,v.show=!0},b=e=>`${e.Address}-${e.Chain}`,x=()=>{P(),o(`refresh`)},S=L({chain:`ALL`,query:``,p:1,row:20}),{keys:C,table:w,columns:E,setLoading:O}=K([{type:`selection`,width:40,disabled:e=>e.stype===`2`},{key:`Address`,title:l(`Security.Firewall.IP.index_9`)},{key:`area`,title:l(`Security.Firewall.IP.index_10`),render:e=>{if(d.isFree)return a(`a`,{class:`bt-link`,onClick:()=>{Ct({source:116})}},[l(`Security.Firewall.IP.index_24`)]);let{area:t}=e;return t.info||`--`}},{key:`Strategy`,title:l(`Security.Firewall.IP.index_11`),render:e=>a(`a`,{class:[`bt-link`,e.Strategy==`accept`?``:`error`],onClick:()=>{k(e)}},[e.Strategy==`accept`?l(`Security.Firewall.IP.index_23`):l(`Security.Firewall.IP.index_12`)])},{key:`Chain`,title:l(`Security.Firewall.IP.index_13`),render:e=>e.Chain===`INPUT`?l(`Security.Firewall.IP.index_5`):l(`Security.Firewall.IP.index_6`)},{key:`brief`,title:l(`Security.Firewall.IP.index_14`),render:e=>e.brief||`--`},{key:`addtime`,title:l(`Security.Firewall.IP.index_15`),render:e=>e.addtime||`--`},xt({width:100,options:e=>[{label:l(`Public.Btn.Edit`),disabled:e.stype===`2`,onClick:()=>{_(e)}},{label:l(`Public.Btn.Del`),disabled:e.stype===`2`,onClick:()=>{j(e)}}]})]);E.value.splice(2,1);let k=e=>{J({title:l(`Security.Firewall.IP.index_16`,[e.Address]),content:e.Strategy===`accept`?l(`Security.Firewall.IP.index_25`):l(`Security.Firewall.IP.index_17`),onConfirm:async()=>{await Ke({new_data:{address:e.Address,strategy:e.Strategy===`accept`?`drop`:`accept`,chain:e.Chain,brief:e.brief,family:e.Family},old_data:R(e)}),e.Strategy=e.Strategy===`accept`?`drop`:`accept`}})},j=e=>{J({title:l(`Security.Firewall.IP.index_18`,[e.Address]),content:l(`Security.Firewall.IP.index_19`),onConfirm:async()=>{await Kt({address:e.Address,strategy:e.Strategy,chain:e.Chain,brief:e.brief,family:e.Family,stype:e.stype}),x()}})},M=[{key:`delete`,type:`confirm`,label:l(`Security.Firewall.IP.index_20`),confirm:{title:l(`Security.Firewall.IP.index_21`),desc:l(`Security.Firewall.IP.index_22`),api:e=>Kt({address:e.Address,strategy:e.Strategy,chain:e.Chain,brief:e.brief,family:e.Family,stype:e.stype},!1),done:()=>{x()},columns:[{key:`Address`,title:l(`Security.Firewall.IP.index_9`)}]}}],N=()=>{S.p=1,P()},P=async()=>{try{O(!0);let{message:e}=await it(R(S));X(e)&&(w.data=e.data,w.total=Wt(e.page))}finally{C.value=[],O(!1)}};return c(()=>{f.value.initStatus&&P()}),t({init:P}),(e,t)=>{let n=W,o=be,c=De,l=Yr,d=Q,p=sn,_=cn,O=on,k=qt,j=$t;return u(),z(j,{install:m(f).initStatus},{desc:T(()=>[a(va)]),default:T(()=>[a(O,null,{toolsLeft:T(()=>[a(n,{type:`primary`,onClick:g},{default:T(()=>[s(D(e.$t(`Security.Firewall.IP.index_1`)),1)]),_:1}),a(xa,{onFinish:x},{default:T(()=>[s(D(e.$t(`Security.Firewall.IP.index_2`)),1)]),_:1}),a(n,{onClick:y},{default:T(()=>[s(D(e.$t(`Security.Firewall.IP.index_3`)),1)]),_:1})]),toolsRight:T(()=>[a(c,{value:m(S).chain,"onUpdate:value":[t[0]||(t[0]=e=>m(S).chain=e),N]},{default:T(()=>[a(o,{value:`ALL`},{default:T(()=>[s(D(e.$t(`Security.Firewall.IP.index_4`)),1)]),_:1}),a(o,{value:`INPUT`},{default:T(()=>[s(D(e.$t(`Security.Firewall.IP.index_5`)),1)]),_:1}),a(o,{value:`OUTPUT`},{default:T(()=>[s(D(e.$t(`Security.Firewall.IP.index_6`)),1)]),_:1})]),_:1},8,[`value`]),a(l,{value:m(S).query,"onUpdate:value":t[1]||(t[1]=e=>m(S).query=e),width:`240`,placeholder:e.$t(`Security.Firewall.IP.index_7`),onSearch:N},null,8,[`value`,`placeholder`])]),table:T(()=>[a(d,{"checked-row-keys":m(C),"onUpdate:checkedRowKeys":t[2]||(t[2]=e=>A(C)?C.value=e:null),"row-key":b,loading:m(w).loading,data:m(w).data,columns:m(E)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),pageLeft:T(()=>[a(p,{"checked-row-keys":m(C),"onUpdate:checkedRowKeys":t[3]||(t[3]=e=>A(C)?C.value=e:null),"row-key":b,data:m(w).data,options:M},null,8,[`checked-row-keys`,`data`])]),pageRight:T(()=>[a(_,{page:m(S).p,"onUpdate:page":t[4]||(t[4]=e=>m(S).p=e),"page-size":m(S).row,"onUpdate:pageSize":t[5]||(t[5]=e=>m(S).row=e),"item-count":m(w).total,"store-key":`firewall-ip`,onRefresh:P},null,8,[`page`,`page-size`,`item-count`])]),_:1}),a(k,{show:m(h).show,"onUpdate:show":t[6]||(t[6]=e=>m(h).show=e),title:m(h).title,data:m(h).data,width:420,"min-height":384,footer:!0,component:m(r)},null,8,[`show`,`title`,`data`,`component`]),a(k,{show:m(v).show,"onUpdate:show":t[7]||(t[7]=e=>m(v).show=e),title:m(v).title,data:m(v).data,width:420,"min-height":72,footer:!0,component:m(i)},null,8,[`show`,`title`,`data`,`component`])]),_:1},8,[`install`])}}});F();var Ca=`.json`,wa=`/www/server/panel/data/firewall`,Ta=M({__name:`import`,emits:[`finish`],setup(e,{emit:t}){let n=t,{t:r}=V(),i=w([]),o=async({file:e})=>{let{close:t}=q.loading(r(`Security.Firewall.Api.index_1`));try{let t=new FormData;t.append(`f_path`,wa),t.append(`f_name`,e.name),t.append(`f_start`,`0`),e.file&&(t.append(`blob`,e.file),t.append(`f_size`,e.file.size.toString())),await er(t);let r=`${wa}/${e.name}`;await Zt({rule:`forward`,file:r}),n(`finish`,r)}finally{i.value=[],t()}};return(e,t)=>{let n=W,r=Me;return u(),z(r,{ref:`upload`,class:`w-auto`,action:``,"file-list":m(i),"onUpdate:fileList":t[0]||(t[0]=e=>A(i)?i.value=e:null),accept:Ca,multiple:!1,"show-file-list":!1,"custom-request":o},{default:T(()=>[a(n,null,{default:T(()=>[b(e.$slots,`default`)]),_:3})]),_:3},8,[`file-list`])}}});F(),Jr();var Ea=M({__name:`index`,emits:[`refresh`],setup(e,{expose:t,emit:n}){let r=p(()=>$(()=>Promise.resolve().then(()=>ua),void 0)),{firewallStatus:i}=H(Gt()),o=n,{t:l}=V(),d=Xe(l(`Security.Firewall.Forward.index_1`),{isEdit:!1,onRefresh:()=>{v()}}),f=()=>{d.data.row=void 0,d.data.isEdit=!1,d.title=l(`Security.Firewall.Forward.index_1`),d.show=!0},h=e=>{d.data.row=e,d.data.isEdit=!0,d.title=l(`Security.Firewall.Forward.index_5`),d.show=!0},g=async()=>{if(b.data.length===0){q.error(l(`Security.Firewall.index_21`));return}let{message:e}=await st({rule:`forward`});X(e)&&wt(e.result)},_=e=>`${e.id}`,v=()=>{k(),o(`refresh`)},{keys:y,table:b,columns:x,setLoading:S}=K([{type:`selection`,width:40},{key:`Protocol`,title:l(`Security.Firewall.Forward.index_6`),render:e=>e.Protocol.toUpperCase()},{key:`S_Port`,title:l(`Security.Firewall.Forward.index_7`)},{key:`T_Address`,title:l(`Security.Firewall.Forward.index_8`),render:e=>e.T_Address?e.T_Address:`127.0.0.1`},{key:`T_Port`,title:l(`Security.Firewall.Forward.index_9`)},{key:`brief`,title:l(`Security.Firewall.Forward.index_10`),render:e=>e.brief||`--`},{key:`addtime`,title:l(`Security.Firewall.Forward.index_11`),render:e=>e.addtime||`--`},xt({width:100,options:e=>[{label:l(`Public.Btn.Edit`),onClick:()=>{h(e)}},{label:l(`Public.Btn.Del`),onClick:()=>{C(e)}}]})]),C=e=>{J({width:540,title:l(`Security.Firewall.Forward.index_12`,[e.S_Port,e.T_Port]),content:l(`Security.Firewall.Forward.index_13`),onConfirm:async()=>{await Xt({protocol:e.Protocol.toLowerCase(),S_Address:e.S_Address,S_Port:e.S_Port,T_Address:e.T_Address,T_Port:e.T_Port}),v()}})},w=[{key:`delete`,type:`confirm`,label:l(`Security.Firewall.Forward.index_14`),confirm:{title:l(`Security.Firewall.Forward.index_15`),desc:l(`Security.Firewall.Forward.index_16`),api:e=>Xt({protocol:e.Protocol.toLowerCase(),S_Address:e.S_Address,S_Port:e.S_Port,T_Address:e.T_Address,T_Port:e.T_Port},!1),done:()=>{v()},columns:[{key:`T_Address`,title:l(`Security.Firewall.Forward.index_8`),render:e=>e.T_Address?e.T_Address:`127.0.0.1`}]}}],E=L({query:``,p:1,row:20}),O=()=>{E.p=1,k()},k=async()=>{try{S(!0);let{message:e}=await lt(R(E));X(e)&&(b.data=e.data,b.total=Wt(e.page))}finally{y.value=[],S(!1)}};return c(()=>{i.value.initStatus&&k()}),t({init:k}),(e,t)=>{let n=W,o=Yr,c=Q,l=sn,p=cn,h=on,S=qt,C=$t;return u(),z(C,{install:m(i).initStatus},{desc:T(()=>[a(va)]),default:T(()=>[a(h,null,{toolsLeft:T(()=>[a(n,{type:`primary`,onClick:f},{default:T(()=>[s(D(e.$t(`Security.Firewall.Forward.index_1`)),1)]),_:1}),a(Ta,{onFinish:v},{default:T(()=>[s(D(e.$t(`Security.Firewall.Forward.index_2`)),1)]),_:1}),a(n,{onClick:g},{default:T(()=>[s(D(e.$t(`Security.Firewall.Forward.index_3`)),1)]),_:1})]),toolsRight:T(()=>[a(o,{value:m(E).query,"onUpdate:value":t[0]||(t[0]=e=>m(E).query=e),width:`240`,placeholder:e.$t(`Security.Firewall.Forward.index_4`),onSearch:O},null,8,[`value`,`placeholder`])]),table:T(()=>[a(c,{"checked-row-keys":m(y),"onUpdate:checkedRowKeys":t[1]||(t[1]=e=>A(y)?y.value=e:null),"row-key":_,loading:m(b).loading,data:m(b).data,columns:m(x)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),pageLeft:T(()=>[a(l,{"checked-row-keys":m(y),"onUpdate:checkedRowKeys":t[2]||(t[2]=e=>A(y)?y.value=e:null),"row-key":_,data:m(b).data,options:w},null,8,[`checked-row-keys`,`data`])]),pageRight:T(()=>[a(p,{page:m(E).p,"onUpdate:page":t[3]||(t[3]=e=>m(E).p=e),"page-size":m(E).row,"onUpdate:pageSize":t[4]||(t[4]=e=>m(E).row=e),"item-count":m(b).total,"store-key":`firewall-forward`,onRefresh:k},null,8,[`page`,`page-size`,`item-count`])]),_:1}),a(S,{show:m(d).show,"onUpdate:show":t[5]||(t[5]=e=>m(d).show=e),title:m(d).title,data:m(d).data,width:420,"min-height":344,footer:!0,component:m(r)},null,8,[`show`,`title`,`data`,`component`])]),_:1},8,[`install`])}}});F();var Da=`.json`,Oa=`/www/server/panel/data/firewall`,ka=M({__name:`import`,emits:[`finish`],setup(e,{emit:t}){let n=t,{t:r}=V(),i=w([]),o=async({file:e})=>{let{close:t}=q.loading(r(`Security.Firewall.Api.index_1`));try{let t=new FormData;t.append(`f_path`,Oa),t.append(`f_name`,e.name),t.append(`f_start`,`0`),e.file&&(t.append(`blob`,e.file),t.append(`f_size`,e.file.size.toString())),await er(t);let r=`${Oa}/${e.name}`;await dt({file_name:e.name}),n(`finish`,r)}finally{i.value=[],t()}};return(e,t)=>{let n=W,r=Me;return u(),z(r,{ref:`upload`,class:`w-auto`,action:``,"file-list":m(i),"onUpdate:fileList":t[0]||(t[0]=e=>A(i)?i.value=e:null),accept:Da,multiple:!1,"show-file-list":!1,"custom-request":o},{default:T(()=>[a(n,null,{default:T(()=>[b(e.$slots,`default`)]),_:3})]),_:3},8,[`file-list`])}}});F(),Jr();var Aa=M({__name:`index`,emits:[`refresh`],setup(e,{expose:t,emit:n}){let r=p(()=>$(()=>Promise.resolve().then(()=>ta),void 0)),{firewallStatus:i}=H(Gt()),o=n,{t:l}=V(),d=Xe(l(`Security.Firewall.Area.index_1`),{isEdit:!1,onRefresh:()=>{v()}}),f=()=>{d.data.row=void 0,d.data.isEdit=!1,d.title=l(`Security.Firewall.Area.index_1`),d.show=!0},h=e=>{d.data.row=e,d.data.isEdit=!0,d.title=l(`Security.Firewall.Area.index_5`),d.show=!0},g=async()=>{if(b.data.length===0){q.error(l(`Security.Firewall.index_21`));return}let{message:e}=await qe();X(e)&&wt(e.result)},_=e=>`${e.id}`,v=()=>{k(),o(`refresh`)},{keys:y,table:b,columns:x,setLoading:S}=K([{type:`selection`,width:40},{key:`country`,title:l(`Security.Firewall.Area.index_6`),render:e=>`${e.country} (${e.brief})`},{key:`Strategy`,title:l(`Security.Firewall.Area.index_7`),render:e=>a(`a`,{class:[`bt-link`,e.types==`accept`?``:`error`]},[(e.types,l(`Security.Firewall.Area.index_8`))])},{key:`ports`,title:l(`Security.Firewall.Area.index_9`),render:e=>e.ports||l(`Security.Firewall.Area.index_10`)},{key:`addtime`,title:l(`Security.Firewall.Area.index_11`),render:e=>e.addtime||`--`},xt({width:100,options:e=>[{label:l(`Public.Btn.Edit`),onClick:()=>{h(e)}},{label:l(`Public.Btn.Del`),onClick:()=>{C(e)}}]})]),C=e=>{J({title:l(`Security.Firewall.Area.index_12`,[e.country]),content:l(`Security.Firewall.Area.index_13`),onConfirm:async()=>{await St({id:e.id,types:e.types,country:e.country,brief:e.brief,addtime:e.addtime,ports:e.ports}),v()}})},w=[{key:`delete`,type:`confirm`,label:l(`Security.Firewall.Area.index_14`),confirm:{title:l(`Security.Firewall.Area.index_15`),desc:l(`Security.Firewall.Area.index_16`),api:e=>St({id:e.id,types:e.types,country:e.country,brief:e.brief,addtime:e.addtime,ports:e.ports},!1),done:()=>{v()},columns:[{key:`country`,title:l(`Security.Firewall.Area.index_6`),render:e=>`${e.country} (${e.brief})`}]}}],E=L({p:1,limit:20,query:``}),O=()=>{E.p=1,k()},k=async()=>{try{S(!0);let{message:e}=await Lt(R(E));X(e)?(b.data=Mt(e.data)?e.data:[],b.total=Wt(e.page)):(b.data=[],b.total=0)}finally{y.value=[],S(!1)}};return c(()=>{i.value.initStatus&&k()}),t({init:k}),(e,t)=>{let n=W,o=Yr,c=Q,l=sn,p=cn,h=on,S=qt,C=$t;return u(),z(C,{install:m(i).initStatus},{desc:T(()=>[a(va)]),default:T(()=>[a(h,null,{toolsLeft:T(()=>[a(n,{type:`primary`,onClick:f},{default:T(()=>[s(D(e.$t(`Security.Firewall.Area.index_1`)),1)]),_:1}),a(ka,{onFinish:v},{default:T(()=>[s(D(e.$t(`Security.Firewall.Area.index_2`)),1)]),_:1}),a(n,{onClick:g},{default:T(()=>[s(D(e.$t(`Security.Firewall.Area.index_3`)),1)]),_:1})]),toolsRight:T(()=>[a(o,{value:m(E).query,"onUpdate:value":t[0]||(t[0]=e=>m(E).query=e),width:`240`,placeholder:e.$t(`Security.Firewall.Area.index_4`),onSearch:O},null,8,[`value`,`placeholder`])]),table:T(()=>[a(c,{"checked-row-keys":m(y),"onUpdate:checkedRowKeys":t[1]||(t[1]=e=>A(y)?y.value=e:null),"row-key":_,loading:m(b).loading,data:m(b).data,columns:m(x)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),pageLeft:T(()=>[a(l,{"checked-row-keys":m(y),"onUpdate:checkedRowKeys":t[2]||(t[2]=e=>A(y)?y.value=e:null),"row-key":_,data:m(b).data,options:w},null,8,[`checked-row-keys`,`data`])]),pageRight:T(()=>[a(p,{page:m(E).p,"onUpdate:page":t[3]||(t[3]=e=>m(E).p=e),"page-size":m(E).limit,"onUpdate:pageSize":t[4]||(t[4]=e=>m(E).limit=e),"item-count":m(b).total,"store-key":`firewall-area`,onRefresh:k},null,8,[`page`,`page-size`,`item-count`])]),_:1}),a(S,{show:m(d).show,"onUpdate:show":t[5]||(t[5]=e=>m(d).show=e),title:m(d).title,data:m(d).data,width:460,"min-height":188,footer:!0,component:m(r)},null,8,[`show`,`title`,`data`,`component`])]),_:1},8,[`install`])}}});F();var ja={class:`mr-10px`},Ma={class:`mx-20px`},Na={class:`mr-10px`},Pa={class:`mx-20px`},Fa={class:`mx-16px`},Ia={class:`font-bold`},La=M({__name:`index`,setup(e){let n=Gt(),{firewallStatus:i}=H(n),{t:o}=V(),c=w(`port`),l=w([{key:`port`,label:o(`Security.Firewall.index_7`,[0]),component:k(ha)},{key:`ip`,label:o(`Security.Firewall.index_8`,[0]),component:k(Sa)},{key:`forward`,label:o(`Security.Firewall.index_9`,[0]),component:k(Ea)},{key:`area`,label:o(`Security.Firewall.index_10`,[0]),component:k(Aa)}]),d=L({loading:!1,ping:!1,size:`0 B`,log_path:`/www/wwwlogs`});async function f(){try{d.loading=!0;let{message:e}=await It();X(e)&&(d.ping=!e.ping,l.value[0].label=o(`Security.Firewall.index_7`,[e.port]),l.value[1].label=o(`Security.Firewall.index_8`,[e.ip]),l.value[2].label=o(`Security.Firewall.index_9`,[e.trans]),l.value[3].label=o(`Security.Firewall.index_10`,[e.country]))}finally{d.loading=!1}}let p=async()=>{let{message:e}=await nt();X(e)&&(d.size=e.size,d.log_path=e.log_path)},h=e=>{J({title:o(e?`Security.Firewall.index_18`:`Security.Firewall.index_11`),content:o(e?`Security.Firewall.index_19`:`Security.Firewall.index_12`),onConfirm:async()=>{await Ge({status:+!!e}),i.value.status=e}})},g=e=>{J({title:o(e?`Security.Firewall.index_13`:`Security.Firewall.index_22`),content:o(e?`Security.Firewall.index_20`:`Security.Firewall.index_14`),onConfirm:async()=>{await vt({status:+!e}),d.ping=e}})},_=()=>{J({title:o(`Site.Proxy.index_27`),content:`After clearing the cache, the system will reload. Do you want to continue?`,onConfirm:async()=>{await Pt(),setTimeout(()=>{window.location.reload()},1e3)}})},v=le(),y=()=>{Qe(`Path`,d.log_path),v.push(`/files`)},b=()=>{rt({title:o(`Security.Firewall.index_15`),content:o(`Security.Firewall.index_16`),onConfirm:async()=>{let{message:e}=await Nt();q.success(o(`Security.Firewall.index_17`)),d.size=X(e)&&Tt(e.result)?e.result:`0 B`}})};return n.getStatus(),p(),f(),(e,n)=>{let o=je,p=fe,v=zt,x=W,S=U,w=G,E=Xr,O=$t,k=t(`load-text`);return u(),r(P,null,[a(w,{class:`mb-16px`},{default:T(()=>[a(S,{class:`items-center p-16px`,size:0},{default:T(()=>[C(`div`,ja,D(e.$t(`Security.Firewall.index_1`)),1),a(o,{value:m(i).status,loading:m(d).loading,"onUpdate:value":h},null,8,[`value`,`loading`]),C(`div`,Ma,[a(p,{class:`mx-0! text-20px`,vertical:``})]),C(`div`,Na,D(e.$t(`Security.Firewall.index_2`)),1),a(o,{value:m(d).ping,loading:m(d).loading,"onUpdate:value":g},null,8,[`value`,`loading`]),C(`div`,Pa,[a(p,{class:`mx-0! text-20px`,vertical:``})]),C(`div`,null,[C(`span`,null,D(e.$t(`Security.Firewall.index_3`)),1),a(v,{disabled:m(d).loading,onClick:y},{default:T(()=>[N((u(),r(`span`,null,[s(D(m(d).log_path),1)])),[[k,m(d).loading]])]),_:1},8,[`disabled`])]),C(`div`,Fa,[N((u(),r(`span`,null,[s(D(m(d).size),1)])),[[k,m(d).loading]])]),a(x,{size:`small`,onClick:b},{default:T(()=>[s(D(e.$t(`Security.Firewall.index_4`)),1)]),_:1}),a(x,{size:`small`,class:`ml-10px`,onClick:_},{default:T(()=>[s(D(e.$t(`Site.Proxy.index_27`)),1)]),_:1})]),_:1})]),_:1}),a(O,{install:m(i).status},{desc:T(()=>[C(`div`,Ia,[s(D(e.$t(`Security.Firewall.index_5`)),1),a(v,{class:`font-bold!`,onClick:n[0]||(n[0]=e=>h(!0))},{default:T(()=>[s(D(e.$t(`Security.Firewall.index_6`)),1)]),_:1})])]),default:T(()=>[a(w,{class:`p-16px`},{default:T(()=>[a(E,{value:m(c),"onUpdate:value":n[1]||(n[1]=e=>A(c)?c.value=e:null),options:m(l),data:{onRefresh:f}},null,8,[`value`,`options`,`data`])]),_:1})]),_:1},8,[`install`])],64)}}}),Ra=e({default:()=>za}),za=La;F();var Ba={class:`p-20px`},Va={class:`w-210px`},Ha=M({__name:`export`,props:{chain:{default:`ALL`}},setup(e,{expose:t}){let n=e,{t:i}=V(),o=L({chain:n.chain,rule:`ip`}),s=[{label:i(`Security.Firewall.Port.index_4`),value:`ALL`},{label:i(`Security.Firewall.Port.index_5`),value:`INPUT`},{label:i(`Security.Firewall.Port.index_6`),value:`OUTPUT`}];return t({onConfirm:async()=>{let{message:e}=await st(R(o));X(e)&&wt(e.result)}}),(e,t)=>{let n=Le,i=he,c=en;return u(),r(`div`,Ba,[a(c,null,{default:T(()=>[a(i,{label:e.$t(`Security.Firewall.Port.index_26`),"show-feedback":!1},{default:T(()=>[C(`div`,Va,[a(n,{value:m(o).chain,"onUpdate:value":t[0]||(t[0]=e=>m(o).chain=e),options:s},null,8,[`value`])])]),_:1},8,[`label`])]),_:1})])}}}),Ua=e({default:()=>Wa}),Wa=Ha;F();var Ga={class:`p-20px`},Ka={class:`w-200px`},qa={class:`w-200px`},Ja={class:`w-200px`},Ya={class:`w-200px`},Xa=M({__name:`form`,props:{row:{},isEdit:{type:Boolean,default:!1}},emits:[`refresh`],setup(e,{expose:t,emit:n}){let i=e,o=n,{t:s}=V(),{isEdit:c,row:l}=i,d=w(null),f=L({address:``,types:`accept`,chain:`INPUT`,brief:``}),p={address:{trigger:[`blur`,`input`],validator:()=>f.address.trim()===``||!f.address?Error(s(`Security.Firewall.IP.form_10`)):!0}},h=[{label:s(`Security.Firewall.IP.form_11`),value:`accept`},{label:s(`Security.Firewall.IP.form_12`),value:`drop`}],g=[{label:s(`Security.Firewall.IP.form_13`),value:`INPUT`},{label:s(`Security.Firewall.IP.form_14`),value:`OUTPUT`}],_=()=>{c&&l&&(f.address=l.Address,f.types=l.Strategy,f.chain=l.Chain,f.brief=l.brief)},v=()=>({address:f.address,types:f.types,strategy:f.types,chain:f.chain,brief:f.brief,family:`ipv4`});return _(),t({onConfirm:async()=>{var e;await((e=d.value)==null?void 0:e.validate());let t=v();c&&l?await mt({new_data:{...t,id:l.id},old_data:l}):await jt(t),o(`refresh`)}}),(e,t)=>{let n=rn,i=he,o=Le,s=xe,l=en,_=Rt;return u(),r(`div`,Ga,[a(l,{ref_key:`formRef`,ref:d,model:m(f),rules:p},{default:T(()=>[a(i,{label:e.$t(`Security.Firewall.IP.form_16`),path:`address`},{default:T(()=>[C(`div`,Ka,[a(n,{value:m(f).address,"onUpdate:value":t[0]||(t[0]=e=>m(f).address=e),rows:3,disabled:m(c),placeholder:e.$t(`Security.Firewall.IP.form_1`)},null,8,[`value`,`disabled`,`placeholder`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.IP.form_2`),path:`types`},{default:T(()=>[C(`div`,qa,[a(o,{value:m(f).types,"onUpdate:value":t[1]||(t[1]=e=>m(f).types=e),options:h},null,8,[`value`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.IP.form_3`),path:`chain`},{default:T(()=>[C(`div`,Ja,[a(o,{value:m(f).chain,"onUpdate:value":t[2]||(t[2]=e=>m(f).chain=e),options:g},null,8,[`value`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.IP.form_4`),path:`brief`,"show-feedback":!1},{default:T(()=>[C(`div`,Ya,[a(s,{value:m(f).brief,"onUpdate:value":t[3]||(t[3]=e=>m(f).brief=e),placeholder:e.$t(`Security.Firewall.IP.form_5`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`])]),_:1},8,[`model`]),a(_,{class:`mt-20px ml-40px`},{default:T(()=>[C(`li`,null,D(e.$t(`Security.Firewall.IP.form_15`)),1),C(`li`,null,D(e.$t(`Security.Firewall.IP.form_8`)),1),C(`li`,null,D(e.$t(`Security.Firewall.IP.form_9`)),1)]),_:1})])}}}),Za=e({default:()=>Qa}),Qa=Xa;F();var $a={class:`h-300px`},eo=[`innerHTML`],to=M({__name:`log`,props:{data:{}},setup(e){let t=e,n=w(`None`),i=async()=>{if(!t.data.path)return;let{message:e}=await at({filename:t.data.path});if(X(e)){n.value=e.result.replace(/\n/g,`<br/>`);let t=n.value.includes(`FireWall Migrate Service Finish`),r=n.value.includes(`FireWall Migrate Error`);(t||r)&&(a&&(clearInterval(a),a=null),t?(q.success(`Firewall data migrated successfully`),setTimeout(()=>{window.location.reload()},2e3)):q.error(`Firewall data migration failed`))}};i();let a=null;return c(()=>{a=setInterval(()=>{i()},1e3)}),d(()=>{a&&clearInterval(a)}),(e,t)=>(u(),r(`div`,$a,[C(`pre`,{innerHTML:m(n),class:`h-full overflow-auto bg-black text-white p-10px whitespace-pre-wrap`},null,8,eo)]))}}),no=e({default:()=>ro}),ro=to;F();var io={class:`p-20px`},ao={class:`w-210px`},oo=M({__name:`export`,props:{chain:{default:`ALL`}},setup(e,{expose:t}){let n=e,{t:i}=V(),o=L({chain:n.chain,rule:`port`}),s=[{label:i(`Security.Firewall.Port.index_4`),value:`ALL`},{label:i(`Security.Firewall.Port.index_5`),value:`INPUT`},{label:i(`Security.Firewall.Port.index_6`),value:`OUTPUT`}];return t({onConfirm:async()=>{let{message:e}=await st(R(o));X(e)&&wt(e.result)}}),(e,t)=>{let n=Le,i=he,c=en;return u(),r(`div`,io,[a(c,null,{default:T(()=>[a(i,{label:e.$t(`Security.Firewall.Port.index_42`),"show-feedback":!1},{default:T(()=>[C(`div`,ao,[a(n,{value:m(o).chain,"onUpdate:value":t[0]||(t[0]=e=>m(o).chain=e),options:s},null,8,[`value`])])]),_:1},8,[`label`])]),_:1})])}}}),so=e({default:()=>co}),co=oo;F();var lo={class:`p-20px`},uo={class:`w-240px`},fo={class:`w-240px`},po={class:`w-240px`},mo={class:`w-240px`},ho={class:`w-240px`},go={class:`w-240px`},_o={class:`w-240px`},vo={class:`w-240px`},yo=M({__name:`form`,props:{row:{},isEdit:{type:Boolean,default:!1}},emits:[`refresh`],setup(e,{expose:t,emit:n}){let i=e,o=n,{t:s}=V(),{isEdit:c,row:l}=i,d=w(null),f=L({protocol:`tcp`,port:``,choose:`all`,address:``,domain:``,types:`accept`,chain:`INPUT`,brief:``}),p={port:{trigger:[`blur`,`input`],validator:()=>{let e=f.port.split(`,`),t=/^\d+$/;for(let n of e)if(t.test(n)){let e=parseInt(n,10);if(e<1||e>65535)return Error(s(`Security.Firewall.Port.form_15`))}else if(n.includes(`-`)){let e=n.split(`-`),t=parseInt(e[0],10),r=parseInt(e[1],10);if(t<1||r>65535||t>r)return Error(s(`Security.Firewall.Port.form_15`))}else if(n==``)return Error(s(`Security.Firewall.Port.form_16`));else return Error(s(`Security.Firewall.Port.form_15`));return!0}},address:{trigger:[`blur`,`input`],validator:()=>f.choose===`point`&&(f.address.trim()===``||!f.address)?Error(s(`Security.Firewall.Port.form_18`)):!0},domain:{trigger:[`blur`,`input`],validator:()=>f.choose===`domain`&&(f.domain.trim()===``||!f.domain)?Error(s(`Security.Firewall.Port.form_19`)):!0}},h=[{label:`TCP`,value:`tcp`},{label:`UDP`,value:`udp`},{label:`TCP/UDP`,value:`all`}],g=[{label:s(`Security.Firewall.Port.form_20`),value:`all`},{label:s(`Security.Firewall.Port.form_5`),value:`point`}],_=[{label:s(`Security.Firewall.Port.form_21`),value:`accept`},{label:s(`Security.Firewall.Port.form_22`),value:`drop`}],v=[{label:s(`Security.Firewall.Port.form_23`),value:`INPUT`},{label:s(`Security.Firewall.Port.form_24`),value:`OUTPUT`}],y=()=>{c&&l&&(f.protocol=l.Protocol,f.port=l.Port,f.choose=l.Address===`all`?`all`:l.domain===``?`point`:`domain`,f.address=l.Address===`all`?``:l.Address,f.domain=l.domain,f.types=l.Strategy,f.chain=l.Chain,f.brief=l.brief)},b=()=>{let e={protocol:f.protocol,port:f.port,choose:f.choose,domain:f.choose===`domain`?f.domain:``,types:f.types,strategy:f.types,chain:f.chain,brief:f.brief};return e.choose===`point`&&(e=Object.assign(e,{address:f.address})),e};return y(),t({onConfirm:async()=>{var e;await((e=d.value)==null?void 0:e.validate());let t=b();c&&l?await gt({new_data:t,old_data:l}):await Bt(t),o(`refresh`)}}),(e,t)=>{let n=Le,i=he,o=xe,s=rn,l=en,y=Rt;return u(),r(`div`,lo,[a(l,{ref_key:`formRef`,ref:d,model:m(f),rules:p},{default:T(()=>[a(i,{label:e.$t(`Security.Firewall.Port.form_1`),path:`protocol`},{default:T(()=>[C(`div`,uo,[a(n,{value:m(f).protocol,"onUpdate:value":t[0]||(t[0]=e=>m(f).protocol=e),options:h},null,8,[`value`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.Port.form_2`),path:`port`},{default:T(()=>[C(`div`,fo,[a(o,{value:m(f).port,"onUpdate:value":t[1]||(t[1]=e=>m(f).port=e),disabled:m(c),placeholder:e.$t(`Security.Firewall.Port.form_3`)},null,8,[`value`,`disabled`,`placeholder`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.Port.form_4`),path:`choose`},{default:T(()=>[C(`div`,po,[a(n,{value:m(f).choose,"onUpdate:value":t[2]||(t[2]=e=>m(f).choose=e),options:g},null,8,[`value`])])]),_:1},8,[`label`]),N(a(i,{label:e.$t(`Security.Firewall.Port.form_5`),path:`address`},{default:T(()=>[C(`div`,mo,[a(s,{value:m(f).address,"onUpdate:value":t[3]||(t[3]=e=>m(f).address=e),rows:3,placeholder:e.$t(`Security.Firewall.Port.form_6`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`]),[[I,m(f).choose===`point`]]),N(a(i,{label:e.$t(`Security.Firewall.Port.form_7`),path:`domain`},{default:T(()=>[C(`div`,ho,[a(s,{value:m(f).domain,"onUpdate:value":t[4]||(t[4]=e=>m(f).domain=e),rows:3,placeholder:e.$t(`Security.Firewall.Port.form_8`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`]),[[I,m(f).choose===`domain`]]),a(i,{label:e.$t(`Security.Firewall.Port.form_9`),path:`types`},{default:T(()=>[C(`div`,go,[a(n,{value:m(f).types,"onUpdate:value":t[5]||(t[5]=e=>m(f).types=e),options:_},null,8,[`value`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.Port.form_10`),path:`types`},{default:T(()=>[C(`div`,_o,[a(n,{value:m(f).chain,"onUpdate:value":t[6]||(t[6]=e=>m(f).chain=e),options:v},null,8,[`value`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.Firewall.Port.form_11`),path:`brief`,"show-feedback":!1},{default:T(()=>[C(`div`,vo,[a(o,{value:m(f).brief,"onUpdate:value":t[7]||(t[7]=e=>m(f).brief=e),placeholder:e.$t(`Security.Firewall.Port.form_12`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`])]),_:1},8,[`model`]),a(y,{class:`mt-20px ml-40px`},{default:T(()=>[C(`li`,null,D(e.$t(`Security.Firewall.Port.form_13`)),1),C(`li`,null,D(e.$t(`Security.Firewall.Port.form_14`)),1)]),_:1})])}}}),bo=e({default:()=>xo}),xo=yo;F();var So={class:`p-20px`},Co=M({__name:`process`,props:{row:{}},setup(e){let t=e,n=L({name:``,pid:``,command:``}),{loading:i,setLoading:o}=ot();return(async()=>{try{let{row:e}=t;o(!0);let{message:r}=await Ze({port:e.Port});X(r)&&(n.name=r.process_name,n.pid=r.process_pid,n.command=r.process_cmd)}finally{o(!1)}})(),(e,t)=>{let o=ge,s=we;return u(),r(`div`,So,[a(s,{bordered:``,"label-placement":`left`,column:1,"label-style":{width:`140px`}},{default:T(()=>[a(o,{label:e.$t(`Security.Firewall.Port.process_1`)},{default:T(()=>[C(`span`,null,D(m(i)?`--`:m(n).name),1)]),_:1},8,[`label`]),a(o,{label:e.$t(`Security.Firewall.Port.process_2`)},{default:T(()=>[C(`span`,null,D(m(i)?`--`:m(n).pid),1)]),_:1},8,[`label`]),a(o,{label:e.$t(`Security.Firewall.Port.process_3`)},{default:T(()=>[C(`span`,null,D(m(i)?`--`:m(n).command),1)]),_:1},8,[`label`])]),_:1})])}}}),wo=e({default:()=>To}),To=Co,Eo=e({default:()=>ko});F();var Do={};function Oo(e,t){let n=ri;return u(),z(n)}var ko=Z(Do,[[`render`,Oo]]),Ao=`/plugin?name=networkscan&action=a&s=`,jo=e=>Y.post(`${Ao}get_overview_and_scan_info`,e),Mo=e=>Y.post(`${Ao}toggle_switch_status`,e,{requestOptions:{loading:We.global.t(`Component.Pay.index_12`),successMessage:!0}}),No=()=>Y.post(`${Ao}export_ip_table`,{},{requestOptions:{loading:We.global.t(`Component.Pay.index_12`)}}),Po=e=>Y.post(`${Ao}get_ip_detail`,e),Fo=e=>Y.post(`${Ao}set_scan_sensing_rule`,e,{requestOptions:{loading:We.global.t(`Component.Pay.index_12`),successMessage:!0}}),Io=()=>Y.post(`${Ao}get_networkscan_log`),Lo=()=>Y.post(`/btwaf/get_waf_drop_ip.json`),Ro=e=>Y.post(`${Ao}add_temporary_ip`,e,{requestOptions:{loading:We.global.t(`Component.Pay.index_12`),successMessage:!0}}),zo=e=>Y.post(`${Ao}add_temporary_ip`,e,{requestOptions:{errorMessage:!1,successMessage:!1}}),Bo=(e,t=!0)=>Y.post(`/btwaf/del_temporary_ip.json`,e,{requestOptions:{loading:t?We.global.t(`Component.Pay.index_12`):``,successMessage:t}}),Vo=e=>Y.post(`${Ao}get_action_logs`,e);F();var Ho={class:`p-20px`},Uo={class:`w-160px`},Wo={class:`ml-10px text-desc`},Go={class:`w-160px`},Ko={class:`ml-10px text-desc`},qo={class:`w-160px`},Jo={class:`ml-10px text-desc`},Yo=M({__name:`AdvancedConfig`,props:{config:{default:()=>({})},onRefresh:{}},setup(e){let{t}=V(),n=e,o=S(`formRef`),c=i(`rule`),l=L((e=>({minutes:String(e.minutes||``),scan_count:String(e.scan_count||``),cleanup_days:String(e.cleanup_days||``)}))(n.config)),d={minutes:[{required:!0,message:t(`Security.NetworkScan.AdvancedConfig.validation.scanTime`),trigger:`blur`}],scan_count:[{required:!0,message:t(`Security.NetworkScan.AdvancedConfig.validation.accessCount`),trigger:`blur`}],cleanup_days:[{required:!0,message:t(`Security.NetworkScan.AdvancedConfig.validation.cleanupDays`),trigger:`blur`}]},f=async()=>{var e,t;await((e=o.value)==null?void 0:e.validate());let r=c.value===`rule`?{minutes:l.minutes,scan_count:l.scan_count}:{cleanup_days:l.cleanup_days};await Fo(r),(t=n.onRefresh)==null||t.call(n,{...n.config,...r})};return(e,t)=>{let n=xe,i=he,p=W,h=Pe,g=Rt,_=Xr,v=en;return u(),r(`div`,Ho,[a(v,{ref_key:`formRef`,ref:o,model:m(l),rules:d},{default:T(()=>[a(_,{value:m(c),"onUpdate:value":t[3]||(t[3]=e=>A(c)?c.value=e:null)},{default:T(()=>[a(h,{name:`rule`,tab:e.$t(`Security.NetworkScan.AdvancedConfig.tabs.rule`),"display-directive":`if`},{default:T(()=>[a(i,{path:`minutes`,label:e.$t(`Security.NetworkScan.AdvancedConfig.form.scanTime`)},{default:T(()=>[C(`div`,Uo,[a(n,{value:m(l).minutes,"onUpdate:value":t[0]||(t[0]=e=>m(l).minutes=e)},null,8,[`value`])]),C(`span`,Wo,D(e.$t(`Security.NetworkScan.AdvancedConfig.form.minuteUnit`)),1)]),_:1},8,[`label`]),a(i,{path:`scan_count`,label:e.$t(`Security.NetworkScan.AdvancedConfig.form.accessCount`)},{default:T(()=>[C(`div`,Go,[a(n,{value:m(l).scan_count,"onUpdate:value":t[1]||(t[1]=e=>m(l).scan_count=e)},null,8,[`value`])]),C(`span`,Ko,D(e.$t(`Security.NetworkScan.AdvancedConfig.form.countUnit`)),1)]),_:1},8,[`label`]),a(i,{label:` `},{default:T(()=>[a(p,{type:`primary`,onClick:f},{default:T(()=>[s(D(e.$t(`Security.NetworkScan.AdvancedConfig.form.save`)),1)]),_:1})]),_:1})]),_:1},8,[`tab`]),a(h,{name:`cleanup`,tab:e.$t(`Security.NetworkScan.AdvancedConfig.tabs.cleanup`),"display-directive":`if`},{default:T(()=>[a(i,{path:`cleanup_days`,label:e.$t(`Security.NetworkScan.AdvancedConfig.form.cleanupDays`)},{default:T(()=>[C(`div`,qo,[a(n,{value:m(l).cleanup_days,"onUpdate:value":t[2]||(t[2]=e=>m(l).cleanup_days=e)},null,8,[`value`])]),C(`span`,Jo,D(e.$t(`Security.NetworkScan.AdvancedConfig.form.cleanupUnit`)),1)]),_:1},8,[`label`]),a(i,{label:` `},{default:T(()=>[a(p,{type:`primary`,onClick:f},{default:T(()=>[s(D(e.$t(`Security.NetworkScan.AdvancedConfig.form.save`)),1)]),_:1})]),_:1}),a(g,{class:`mt-8px`},{default:T(()=>[C(`li`,null,D(e.$t(`Security.NetworkScan.AdvancedConfig.form.cleanupTip`,{days:m(l).cleanup_days||`-`})),1)]),_:1})]),_:1},8,[`tab`])]),_:1},8,[`value`])]),_:1},8,[`model`])])}}}),Xo=e({default:()=>Zo}),Zo=Yo;F();var Qo={class:`p-20px`},$o={class:`mb-14px text-18px font-bold text-default`},es={class:`mb-16px text-desc`},ts={class:`mb-16px rounded-4px bg-[var(--color-bg-4)] p-12px`},ns={class:`text-secondary mr-10px`},rs={class:`text-default text-15px font-bold`},is=M({__name:`ScanDetail`,props:{ip:{}},setup(e){let{t}=V(),n=e,o=i(!1),s=L({ip_detail:{},total_scan_count:0,daily_scan_count_list:[]}),l=B(()=>s.ip_detail.en_country||t(`Security.NetworkScan.ScanDetail.localNetwork`)),d=e=>Number(e||0).toLocaleString(),f=[{key:`date`,title:t(`Security.NetworkScan.ScanDetail.columns.date`),width:150},{key:`scan_count`,title:t(`Security.NetworkScan.ScanDetail.columns.scanCount`),render:e=>d(e.scan_count)}],p=async()=>{try{o.value=!0;let{message:e}=await Po({ip:n.ip});X(e)&&(s.ip_detail=e.ip_detail||{},s.total_scan_count=e.total_scan_count||0,s.daily_scan_count_list=e.daily_scan_count_list||[])}finally{o.value=!1}};return c(()=>{p()}),(t,n)=>{let i=Q;return u(),r(`div`,Qo,[C(`div`,$o,D(e.ip),1),C(`div`,es,D(m(l)),1),C(`div`,ts,[C(`span`,ns,D(t.$t(`Security.NetworkScan.ScanDetail.totalScanCount`)),1),C(`span`,rs,D(d(m(s).total_scan_count)),1)]),a(i,{"row-key":`date`,loading:m(o),data:m(s).daily_scan_count_list,columns:f},null,8,[`loading`,`data`])])}}}),as=e({default:()=>os}),os=is;F();var ss={class:`network-scan-conversion`},cs={class:`mb-24px text-center text-22px font-bold`},ls={class:`mb-18px`},us={class:`network-scan-conversion__features`},ds={class:`text-center my-24px`},fs={class:`preview`},ps={class:`preview-nav`},ms=[`onClick`],hs={class:`preview-images`},gs=Z(M({__name:`conversion`,props:{pluginInfo:{default:()=>({})}},emits:[`refresh`],setup(e,{emit:t}){let{t:n}=V(),{theme:o}=H(Je()),c=e,l=t,d=i(0),f=B(()=>o.value===`dark`),p=B(()=>{var e;return Number((e=c.pluginInfo.endtime)==null?-1:e)}),h=B(()=>p.value>=0),g=B(()=>[{key:`overview`,title:n(`Security.NetworkScan.Tabs.overview`),imgSrc:f.value?Hn:xn},{key:`blocked`,title:n(`Security.NetworkScan.Tabs.blocked`),imgSrc:f.value?Zn:Ur},{key:`operationLog`,title:n(`Security.NetworkScan.Tabs.operationLog`),imgSrc:f.value?Cn:Qn},{key:`realtimeLog`,title:n(`Security.NetworkScan.Tabs.realtimeLog`),imgSrc:f.value?Hr:bn}]),_=B(()=>h.value?n(`Security.NetworkScan.Conversion.buttonSetup`):n(`Security.NetworkScan.Conversion.buttonRenew`)),b=()=>{if(h.value){pt(`networkscan`,()=>{l(`refresh`)});return}Ct({source:117})};return(e,t)=>{let n=W,i=Ne,o=G;return u(),z(o,null,{default:T(()=>[C(`div`,ss,[C(`div`,cs,D(e.$t(`Security.NetworkScan.Conversion.title`)),1),C(`div`,ls,[C(`ul`,us,[C(`li`,null,[t[0]||(t[0]=C(`i`,{class:`i-mdi:shield-search text-24px text-primary`},null,-1)),C(`span`,null,D(e.$t(`Security.NetworkScan.Conversion.feature1`)),1)]),C(`li`,null,[t[1]||(t[1]=C(`i`,{class:`i-mdi:radar text-24px text-primary`},null,-1)),C(`span`,null,D(e.$t(`Security.NetworkScan.Conversion.feature2`)),1)])])]),C(`div`,ds,[a(n,{type:`primary`,class:`h-36px text-14px`,onClick:b},{default:T(()=>[s(D(m(_)),1)]),_:1})]),C(`div`,fs,[C(`div`,ps,[C(`ul`,null,[(u(!0),r(P,null,v(m(g),(e,t)=>(u(),r(`li`,{key:e.key,class:y({active:m(d)===t}),onClick:e=>d.value=t},D(e.title),11,ms))),128))])]),C(`div`,hs,[(u(!0),r(P,null,v(m(g),(e,t)=>N((u(),z(i,{key:`${e.key}-image`,width:`100%`,src:e.imgSrc},null,8,[`src`])),[[I,m(d)===t]])),128))])])])]),_:1})}}}),[[`__scopeId`,`data-v-7ec0811d`]]);F();var _s=M({__name:`DateRange`,props:{type:{required:!0},typeModifiers:{},value:{default:()=>[]},valueModifiers:{}},emits:[`update:type`,`update:value`],setup(e){let t=re(e,`type`),r=re(e,`value`);function i(e=new Date){let t=j(e),n=o(e);return[t.getTime(),n.getTime()]}let c=e=>{switch(e){case`today`:r.value=i();break;case`yesterday`:r.value=i(n(new Date,-1));break}},l=e=>{let t=new Date;return j(n(t,-30)).getTime()>e||o(t).getTime()<e},d=e=>{if(!e){t.value=`today`,r.value=i();return}t.value=`custom`,r.value=[j(e[0]).getTime(),o(e[1]).getTime()]};return(e,n)=>{let i=be,o=De,f=Te,p=U;return u(),z(p,{class:`items-center`,size:8},{default:T(()=>[a(o,{value:t.value,"onUpdate:value":[n[0]||(n[0]=e=>t.value=e),c]},{default:T(()=>[a(i,{value:`today`},{default:T(()=>[s(D(e.$t(`Security.NetworkScan.DateRange.today`)),1)]),_:1}),a(i,{value:`yesterday`},{default:T(()=>[s(D(e.$t(`Security.NetworkScan.DateRange.yesterday`)),1)]),_:1})]),_:1},8,[`value`]),a(f,{class:`w-260px`,value:r.value,type:`daterange`,"is-date-disabled":l,"onUpdate:value":d},null,8,[`value`])]),_:1})}}});F(),Jr();var vs={class:`network-scan-overview`},ys={class:`mb-18px text-base text-secondary`},bs={class:`network-scan-overview__grid`},xs={class:`network-scan-overview__label`},Ss={class:`network-scan-overview__value`},Cs=Z(M({__name:`Overview`,setup(e,{expose:t}){let{t:n}=V(),c=p(()=>$(()=>Promise.resolve().then(()=>as),void 0)),l=p(()=>$(()=>Promise.resolve().then(()=>Xo),void 0)),d=i(!1),f=i(!1),h=w({}),g=L({type:`today`,data:E()}),{keys:_,table:y,columns:b,setLoading:x}=K([{type:`selection`,width:40},{key:`scan_ip`,title:n(`Security.NetworkScan.Overview.columns.scanIp`),minWidth:118},{key:`scan_type`,title:n(`Security.NetworkScan.Overview.columns.scanType`),minWidth:92,render:e=>e.scan_type||`--`},{key:`scan_count_today`,title:n(`Security.NetworkScan.Overview.columns.todayScanCount`),minWidth:104,render:e=>O(e.scan_count_today)},{key:`total_scan_count`,title:n(`Security.NetworkScan.Overview.columns.totalScanCount`),minWidth:104,render:e=>O(e.total_scan_count)},{key:`scanned_ports`,title:n(`Security.NetworkScan.Overview.columns.scannedPorts`),minWidth:132,ellipsis:{tooltip:!0},render:e=>e.scanned_ports||`--`},{key:`scan_start_time`,title:n(`Security.NetworkScan.Overview.columns.scanStartTime`),minWidth:128,render:e=>e.scan_start_time||`--`},{key:`scan_duration`,title:n(`Security.NetworkScan.Overview.columns.scanDuration`),minWidth:108,render:e=>k(e.scan_duration)},xt({width:96,options:e=>[{label:n(`Security.NetworkScan.Overview.actions.details`),onClick:()=>N(e)},{label:n(`Security.NetworkScan.Overview.actions.block`),onClick:()=>ee(e)}]})]),S=B(()=>[{title:n(`Security.NetworkScan.Overview.columns.todayScanCount`),value:O(h.value.scan_count_today)},{title:n(`Security.NetworkScan.Overview.todayIpCount`),value:O(h.value.ip_count_today)}]);function E(e=new Date){let t=j(e),n=o(e);return[t.getTime(),n.getTime()]}let O=e=>Number(e||0).toLocaleString(),k=(e=``)=>{if(!e||e===`00:00:00`)return`-`;let[t=`0`,r=`0`,i=`0`]=e.split(`:`),a=Number(t)*60+Number(r);return Number.isFinite(a)?Number(t)>999?n(`Security.NetworkScan.Overview.durationOverflow`):n(`Security.NetworkScan.Overview.durationText`,{minutes:a,seconds:Number(i)}):`-`},M=()=>({start_timestamp:bt(g.data[0],`yyyy-MM-dd`),end_timestamp:bt(g.data[1],`yyyy-MM-dd`)}),N=e=>{ct({title:n(`Security.NetworkScan.Overview.dialogs.scanDetail`,{ip:e.scan_ip}),width:620,minHeight:320,component:c,data:{ip:e.scan_ip}})},ee=e=>{J({title:n(`Security.NetworkScan.Overview.dialogs.blockTitle`),content:n(`Security.NetworkScan.Overview.dialogs.blockContent`,{ip:e.scan_ip}),onConfirm:async()=>{await Ro({ip:e.scan_ip,timeout:86400}),ie()}})},F=async e=>{let t=!e;try{f.value=!0,await Mo({switch_type:`scan_sensing`,status:e}),d.value=e}catch(e){d.value=t,console.error(e)}finally{f.value=!1}},te=()=>{J({title:n(`Security.NetworkScan.Overview.dialogs.exportTitle`),content:n(`Security.NetworkScan.Overview.dialogs.exportContent`),onConfirm:async()=>{let{message:e}=await No();X(e)&&e.url&&wt(e.url)}})},ne=()=>{ct({title:n(`Security.NetworkScan.Overview.dialogs.advancedConfigTitle`),width:520,minHeight:260,component:l,data:{config:h.value,onRefresh:e=>{h.value={...h.value,...e},ie()}}})},re=[{key:`block`,type:`confirm`,label:n(`Security.NetworkScan.Overview.actions.block`),confirm:{title:n(`Security.NetworkScan.Overview.dialogs.batchBlockTitle`),desc:n(`Security.NetworkScan.Overview.dialogs.batchBlockDesc`),api:e=>zo({ip:e.scan_ip,timeout:86400}),done:()=>{ie()},columns:[{key:`scan_ip`,title:n(`Security.NetworkScan.Overview.columns.scanIp`)}]}}],ie=async()=>{try{x(!0);let{message:e}=await jo(M());if(X(e)){let t=e.overview||{};h.value=t,d.value=!!t.scan_status,y.data=e.scan_info||[]}}finally{_.value=[],x(!1)}},I=()=>{g.type=`today`,g.data=E(),ie()};return t({init:I}),(e,t)=>{let n=je,i=U,o=W,c=on,l=Q,p=sn;return u(),r(`div`,null,[a(c,null,{toolsLeft:T(()=>[a(i,{class:`items-center`,size:10},{default:T(()=>[C(`span`,null,D(e.$t(`Security.NetworkScan.Overview.scanSwitch`)),1),a(n,{value:m(d),"onUpdate:value":[t[0]||(t[0]=e=>A(d)?d.value=e:null),F],loading:m(f),"rubber-band":!1},null,8,[`value`,`loading`])]),_:1})]),toolsRight:T(()=>[a(_s,{type:m(g).type,"onUpdate:type":t[1]||(t[1]=e=>m(g).type=e),value:m(g).data,"onUpdate:value":[t[2]||(t[2]=e=>m(g).data=e),ie]},null,8,[`type`,`value`]),a(o,{onClick:I},{default:T(()=>[s(D(e.$t(`Security.NetworkScan.Overview.refresh`)),1)]),_:1}),a(o,{onClick:te},{default:T(()=>[s(D(e.$t(`Security.NetworkScan.Overview.export`)),1)]),_:1}),a(o,{onClick:ne},{default:T(()=>[s(D(e.$t(`Security.NetworkScan.Overview.advancedConfig`)),1)]),_:1})]),_:1}),C(`div`,vs,[C(`div`,ys,D(e.$t(`Security.NetworkScan.Overview.title`)),1),C(`div`,bs,[(u(!0),r(P,null,v(m(S),e=>(u(),r(`div`,{key:e.title,class:`network-scan-overview__item`},[C(`div`,xs,D(e.title),1),C(`div`,Ss,D(e.value),1)]))),128))])]),a(c,null,{table:T(()=>[a(l,{"checked-row-keys":m(_),"onUpdate:checkedRowKeys":t[3]||(t[3]=e=>A(_)?_.value=e:null),"row-key":`scan_ip`,loading:m(y).loading,data:m(y).data,columns:m(b),"max-height":`440`},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),pageLeft:T(()=>[a(p,{"checked-row-keys":m(_),"onUpdate:checkedRowKeys":t[4]||(t[4]=e=>A(_)?_.value=e:null),"row-key":`scan_ip`,data:m(y).data,options:re},null,8,[`checked-row-keys`,`data`])]),_:1})])}}}),[[`__scopeId`,`data-v-468ea857`]]);F();var ws=M({__name:`BlockedRecords`,setup(e,{expose:t}){let{t:n}=V(),{keys:r,table:i,columns:o,setLoading:s}=K([{type:`selection`,width:40},{key:`ip`,title:n(`Security.NetworkScan.Blocked.columns.ip`),width:200},{key:`source`,title:n(`Security.NetworkScan.Blocked.columns.source`),render:e=>e.source||`Nginx WAF`},{key:`reason`,title:n(`Security.NetworkScan.Blocked.columns.reason`),ellipsis:{tooltip:!0},render:e=>e.reason||n(`Security.NetworkScan.Blocked.defaults.reason`)},xt({width:90,options:e=>[{label:n(`Security.NetworkScan.Blocked.actions.unlock`),onClick:()=>d(e)}]})]),l=e=>(Array.isArray(e)?e:X(e)&&Array.isArray(e.data)?e.data:[]).map(e=>typeof e==`string`?{ip:e,reason:``,source:``}:e&&typeof e==`object`&&typeof e.ip==`string`?e:null).filter(Boolean),d=e=>{J({title:n(`Security.NetworkScan.Blocked.actions.unlockTitle`),content:n(`Security.NetworkScan.Blocked.actions.unlockContent`,{ip:e.ip}),onConfirm:async()=>{await Bo({ip:e.ip,timeout:86400}),p()}})},f=[{key:`unlock`,type:`confirm`,label:n(`Security.NetworkScan.Blocked.actions.unlock`),confirm:{title:n(`Security.NetworkScan.Blocked.actions.batchUnlockTitle`),desc:n(`Security.NetworkScan.Blocked.actions.batchUnlockDesc`),api:e=>Bo({ip:e.ip,timeout:86400},!1),done:()=>{p()},columns:[{key:`ip`,title:n(`Security.NetworkScan.Blocked.columns.ip`)}]}}],p=async()=>{try{s(!0);let{message:e}=await Lo();i.data=l(e)}finally{r.value=[],s(!1)}};return c(()=>{p()}),t({init:p}),(e,t)=>{let n=Q,s=sn,c=on;return u(),z(c,null,{table:T(()=>[a(n,{"checked-row-keys":m(r),"onUpdate:checkedRowKeys":t[0]||(t[0]=e=>A(r)?r.value=e:null),"row-key":`ip`,loading:m(i).loading,data:m(i).data,columns:m(o),"max-height":`640`},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),pageLeft:T(()=>[a(s,{"checked-row-keys":m(r),"onUpdate:checkedRowKeys":t[1]||(t[1]=e=>A(r)?r.value=e:null),"row-key":`ip`,data:m(i).data,options:f},null,8,[`checked-row-keys`,`data`])]),_:1})}}});F();var Ts=M({__name:`OperationLog`,setup(e,{expose:t}){let{t:n}=V(),r=L({p:1,rows:20}),{table:i,columns:o,setLoading:s}=K([{key:`addtime`,title:n(`Security.NetworkScan.OperationLog.columns.time`),width:170,render:e=>e.addtime||`--`},{key:`log`,title:n(`Security.NetworkScan.OperationLog.columns.detail`),ellipsis:{tooltip:!0},render:e=>e.log||`--`}]),l=async()=>{try{s(!0);let{message:e}=await Vo(R(r));X(e)&&(i.data=e.data||[],i.total=e.page?Wt(e.page):0)}finally{s(!1)}};return c(()=>{l()}),t({init:l}),(e,t)=>{let n=Q,s=cn,c=on;return u(),z(c,null,{table:T(()=>[a(n,{loading:m(i).loading,data:m(i).data,columns:m(o),"max-height":`600`},null,8,[`loading`,`data`,`columns`])]),pageRight:T(()=>[a(s,{page:m(r).p,"onUpdate:page":t[0]||(t[0]=e=>m(r).p=e),"page-size":m(r).rows,"onUpdate:pageSize":t[1]||(t[1]=e=>m(r).rows=e),"item-count":m(i).total,"store-key":`network-scan-operation-log`,onRefresh:l},null,8,[`page`,`page-size`,`item-count`])]),_:1})}}});F();var Es=Z(M({__name:`RealtimeLog`,setup(e,{expose:t}){let n=Ft(),o=i(``),s=w(!1),l=B(()=>Math.max(Number(n.mainHeight||0)-190,360)),d=async()=>{s.value=!0;try{let{message:e}=await Io();X(e)&&(o.value=e.result||``)}finally{s.value=!1}};return c(()=>{d()}),t({init:d}),(e,t)=>{let n=Qr;return u(),r(`div`,{class:`network-scan-log`,style:x({height:`${m(l)}px`})},[a(n,{log:m(o),loading:m(s)},null,8,[`log`,`loading`])],4)}}}),[[`__scopeId`,`data-v-7d7cff19`]]);F();var Ds=M({__name:`index`,setup(e){let{t}=V(),n=i(`overview`),r=w({}),o=S(`tabsRef`),s=B(()=>{if(!(`setup`in r.value))return!0;let e=Number(r.value.endtime||0);return!!(r.value.setup&&e>=0)}),l=[{key:`overview`,label:t(`Security.NetworkScan.Tabs.overview`),isLazy:!0,component:Cs},{key:`blocked`,label:t(`Security.NetworkScan.Tabs.blocked`),isLazy:!0,component:ws},{key:`operationLog`,label:t(`Security.NetworkScan.Tabs.operationLog`),isLazy:!0,component:Ts},{key:`realtimeLog`,label:t(`Security.NetworkScan.Tabs.realtimeLog`),isLazy:!0,component:Es}],d=async()=>{let{message:e}=await At({sName:`networkscan`},!0);if(X(e)&&(r.value=e,e.status)){var t;(t=o.value)==null||t.init()}};return c(()=>{d()}),(e,t)=>{let i=Xr,c=G;return m(s)?(u(),z(c,{key:0,class:`p-16px`},{default:T(()=>[a(i,{ref_key:`tabsRef`,ref:o,value:m(n),"onUpdate:value":t[0]||(t[0]=e=>A(n)?n.value=e:null),options:l},null,8,[`value`])]),_:1})):(u(),z(gs,{key:1,"plugin-info":m(r),onRefresh:d},null,8,[`plugin-info`]))}}}),Os=e({default:()=>ks}),ks=Ds,As=()=>Y.post(`/safe/overview/get_overview`,{}),js=e=>Y.post(`/safe/overview/get_events`,e),Ms=()=>Y.post(`/safe/overview/scan_now`,{},{requestOptions:{successMessage:!0}}),Ns=e=>Ge({status:+!!e}),Ps=e=>Gr({status:+!e}),Fs=e=>Y.post(`/safe/overview/toggle_plugin`,e,{requestOptions:{loading:We.global.t(`Security.Overview.Api.settingStatus`),successMessage:!0}}),Is=e=>[{key:`firewall`,name:e(`Security.Overview.protection.names.firewall`),enabled:!1,details:[e(`Security.Overview.protection.details.allowedPorts`),{text:`--`}],settingLabel:e(`Security.Overview.protection.settings.quickAllowPorts`),switchable:!0},{key:`tamper_core`,name:e(`Security.Overview.protection.names.tamperCore`),enabled:!1,details:[`${e(`Security.Overview.protection.status.disabled`)} · ${e(`Security.Overview.protection.details.monitoringPrefix`)}`,{text:`--`},e(`Security.Overview.protection.details.monitoringSuffix`)],settingLabel:e(`Security.Overview.protection.settings.configureProduct`,{name:e(`Security.Overview.protection.names.tamperCore`)}),switchable:!0},{key:`ssh`,name:e(`Security.Overview.protection.names.ssh`),enabled:!1,details:[e(`Security.Overview.protection.details.currentPort`),{text:`22`},` · ${e(`Security.Overview.protection.details.keyLogin`)}`,{text:e(`Security.Overview.protection.status.enabled`)},` · ${e(`Security.Overview.protection.details.passwordLogin`)}`,{text:e(`Security.Overview.protection.status.disabled`)}],settingLabel:e(`Security.Overview.protection.settings.sshSettings`),switchable:!0},{key:`btwaf`,name:e(`Security.Overview.protection.names.btwaf`),enabled:!1,details:[`${e(`Security.Overview.protection.status.disabled`)} · ${e(`Security.Overview.protection.details.todayRequest`)}`,{text:`0`},` · ${e(`Security.Overview.protection.details.todayMaliciousRequest`)}`,{text:`0`}],settingLabel:e(`Security.Overview.protection.settings.configureProduct`,{name:e(`Security.Overview.protection.names.btwaf`)}),switchable:!0},{key:`fail2ban`,name:e(`Security.Overview.protection.names.fail2ban`),enabled:!1,details:[e(`Security.Overview.protection.details.blockedPrefix`),{text:`0`},e(`Security.Overview.protection.details.bruteForceMiddle`),{text:`0`},e(`Security.Overview.protection.details.bannedIpSuffix`)],settingLabel:e(`Security.Overview.protection.settings.configureProduct`,{name:e(`Security.Overview.protection.names.fail2ban`)}),switchable:!0}],Ls=e=>[{key:`security_risk`,label:e(`Security.Overview.scanCards.labels.securityRisk`)},{key:`malware_detection`,label:e(`Security.Overview.scanCards.labels.malwareDetection`)},{key:`website_vulnerability`,label:e(`Security.Overview.scanCards.labels.websiteVulnerability`)},{key:`baseline`,label:e(`Security.Overview.scanCards.labels.baseline`)}],Rs={firewall:0,tamper_core:1,ssh:2,btwaf:3,fail2ban:4},zs={security_risk:0,malware_detection:1,website_vulnerability:2,baseline:3},Bs={empty:`neutral`,safe:`safe`,info:`info`,warning:`warning`,danger:`danger`},Vs={critical:{labelKey:`Security.Overview.riskLevels.critical`,buttonLabelKey:`Security.Overview.recommended.buttons.fixNow`},high:{labelKey:`Security.Overview.riskLevels.high`,buttonLabelKey:`Security.Overview.recommended.buttons.fixNow`},medium:{labelKey:`Security.Overview.riskLevels.medium`,buttonLabelKey:`Security.Overview.recommended.buttons.resolve`},low:{labelKey:`Security.Overview.riskLevels.low`,buttonLabelKey:`Security.Overview.recommended.buttons.review`},info:{labelKey:`Security.Overview.riskLevels.normal`,buttonLabelKey:`Security.Overview.recommended.buttons.view`}},Hs={firewall:`/security/firewall`,ssh:`/security/ssh`,btwaf:`/waf/setting`},Us={tamper_core:{name:`tamper_core`,title:`Tamper-proof for Enterprise`},fail2ban:{name:`fail2ban`,title:`Fail2ban Manager`},bt_hids:{name:`bt_hids`,title:`Intrusion Detection`}},Ws={tamper_core:{name:`tamper_core`},btwaf:{name:`btwaf`},fail2ban:{name:`fail2ban`},bt_hids:{name:`bt_hids`}},Gs={tamper_core:401,btwaf:402},Ks=new Set([`firewall`,`tamper_core`,`ssh`,`btwaf`,`fail2ban`,`bt_hids`]),qs=(e,t)=>e===`fail2ban`?{plugin_name:`fail2ban`,type:t?`start`:`stop`}:e===`bt_hids`?{plugin_name:`bt_hids`,type:t?`start`:`stop`}:e===`btwaf`?{plugin_name:`btwaf`}:{plugin_name:`tamper_core`,value:+!!t};F();var Js={btwaf:`btwaf`,cloud_waf:`btwaf`,nginx_waf:`btwaf`,waf:`btwaf`,fail2ban:`fail2ban`,file_integrity:`tamper_core`,tamper:`tamper_core`,tamper_core:`tamper_core`,tamper_proof:`tamper_core`,firewall:`firewall`,bt_hids:`bt_hids`,hids:`bt_hids`,intrusion:`bt_hids`,ssh:`ssh`,ssh_protection:`ssh`},Ys=e=>e.trim().toLowerCase(),Xs=e=>Js[Ys(e)],Zs=(e={})=>{let t=le(),n=Ft(),r=i({}),a=()=>{var t;(t=e.onRefresh)==null||t.call(e)},o=e=>!!e.switchLoading||!!r.value[e.key],s=(e,t)=>{r.value={...r.value,[e]:t}},c=(e,t)=>{pt(e.pluginName||t.name,a)},l=async(e,t)=>{let n=e.pluginName||t.name,r=e.productName||t.title;if(e.installed===!1){pt(n,a);return}await ht({name:n,title:r,admin:!0})};return{getProtectionKeyBySource:Xs,isProtectionActionLoading:o,openProtectionSetting:async e=>{let n=e.key,r=Us[n];if(r){await l(e,r);return}let i=Hs[n];i&&t.push(i)},updateProtectionStatus:async(e,t)=>{if(!e.switchable||o(e))return;let r=e.key,i=Ws[r],l=Gs[r];if(t&&l&&n.isFree){await Ct({source:l});return}s(e.key,!0);try{if(e.installed===!1&&i){c(e,i);return}switch(r){case`firewall`:await Ns(t);break;case`ssh`:await Ps(t);break;case`btwaf`:case`bt_hids`:case`fail2ban`:case`tamper_core`:await Fs(qs(r,t));break}a()}finally{s(e.key,!1)}}}};F(),Jr();var Qs=p(()=>$(()=>import(`./view-home-security.js?v=1787646744133`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]))),$s=p(()=>$(()=>import(`./legacy-view-home.js?v=1787646744133`).then(e=>e.n),__vite__mapDeps([28,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30]))),ec={baseline:`server`,malware:`file`,malware_detection:`file`,security_risk:`risk`,website_vulnerability:`loophole`,web_vulnerability:`loophole`,website:`loophole`,loophole:`loophole`},tc=e=>e.trim().toLowerCase(),nc=e=>ec[tc(e)],rc=()=>{let{theme:e}=H(Ft()),t=B(()=>e.value===`classic`?{width:900,minHeight:600,component:Qs}:{width:1200,minHeight:750,component:$s}),n=(e=`risk`)=>{ct({...t.value,data:{initialMenu:e}})};return{openSecurityScanBySource:e=>{let t=nc(e);return t?(n(t),!0):!1},openSecurityScanModal:n}};F();var ic=e=>{let t=e.trim().toLowerCase();return[t,t.replace(/^enable_/,``),t.replace(/^open_/,``),t.replace(/^view_/,``)]},ac=({protectionItems:e,onRefresh:t})=>{let n=i(``),{openSecurityScanBySource:r}=rc(),{openProtectionSetting:a,updateProtectionStatus:o}=Zs({onRefresh:t}),s=t=>{for(let n of ic(t)){let t=Xs(n);if(!t)continue;let r=e.value.find(e=>e.key===t);if(r)return r}};return{actionLoadingKey:n,handleRecommendedAction:async e=>{let t=e.raw.source||e.key;if(!(!t||n.value)){n.value=e.key;try{let e=s(t);if(e){e.enabled?await a(e):await o(e,!0);return}for(let e of ic(t))if(r(e))return}finally{n.value=``}}}}},oc=new Intl.NumberFormat(`en-US`),sc=(e,t)=>e?e.split(/(\d+(?:,\d+)*(?:\.\d+)?)/g).filter(Boolean).map(e=>/^\d/.test(e)?{text:e}:e):[t(`Security.Overview.common.noData`)],cc=e=>{let t=typeof e==`number`?e:typeof e==`string`&&e.trim()?Number(e.replace(/,/g,``)):NaN;return Number.isFinite(t)?oc.format(t):void 0},lc=(e,t)=>{if(!e)return[t(`Security.Overview.recommended.noDescription`)];let n=e=>{let t=e.replace(/<[^>]+>/g,``),n=[],r=/\d+(?:,\d+)*(?:\.\d+)?%?/g,i=0;for(let e of t.matchAll(r)){var a;let r=(a=e.index)==null?0:a,o=e[0],s=r+o.length,c=t[r-1]||``,l=t[s]||``;/[A-Za-z]/.test(c)||/[A-Za-z]/.test(l)||(i<r&&n.push(t.slice(i,r)),n.push({text:o}),i=s)}return i<t.length&&n.push(t.slice(i)),n.filter(e=>typeof e==`string`?e.length:e.text.length)},r=[],i=RegExp(`<strong(?:\\s[^>]*)?>(.*?)<\\/strong>`,`gis`),a=0;for(let t of e.matchAll(i)){var o;let i=(o=t.index)==null?0:o;r.push(...n(e.slice(a,i)));let s=(t[1]||``).replace(/<[^>]+>/g,``);/[A-Za-z]\d|\d[A-Za-z]/.test(s)?r.push(s):s&&r.push({text:s}),a=i+t[0].length}return r.push(...n(e.slice(a))),r.length?r:[t(`Security.Overview.recommended.noDescription`)]},uc=e=>/(|->)$/.test(e)?e:`${e} →`,dc=e=>e===`critical`||e===`high`||e===`medium`||e===`low`||e===`info`,fc=e=>e&&dc(e)?e:`info`,pc=(e,t)=>t(e?`Security.Overview.protection.status.enabled`:`Security.Overview.protection.status.disabled`),mc=(e,t)=>{var n;let r=(n=e.metrics.listening_ports)!=null&&n.length?e.metrics.listening_ports:void 0;return r?[t(`Security.Overview.protection.details.allowedPorts`),...r.flatMap((e,n)=>[...n?[t(`Security.Overview.protection.details.portSeparator`)]:[],{text:e}])]:sc(e.summary,t)},hc=(e,t)=>[t(`Security.Overview.protection.details.currentPort`),{text:e.metrics.port||`22`},` · ${t(`Security.Overview.protection.details.keyLogin`)}`,{text:typeof e.metrics.key_auth==`boolean`?pc(e.metrics.key_auth,t):`--`},` · ${t(`Security.Overview.protection.details.passwordLogin`)}`,{text:typeof e.metrics.password_auth==`boolean`?pc(e.metrics.password_auth,t):`--`}],gc=(e,t)=>{let n=cc(e.metrics.total_failed),r=cc(e.metrics.currently_banned);return!n&&!r?sc(e.summary,t):[t(`Security.Overview.protection.details.blockedPrefix`),{text:n||`0`},t(`Security.Overview.protection.details.bruteForceMiddle`),{text:r||`0`},t(`Security.Overview.protection.details.bannedIpSuffix`)]},_c=(e,t)=>[`${pc(e.enabled,t)} · ${t(`Security.Overview.protection.details.todayRequest`)}`,{text:cc(e.metrics.today_request)||`0`},` · ${t(`Security.Overview.protection.details.todayMaliciousRequest`)}`,{text:cc(e.metrics.malicious_request)||`0`}],vc=(e,t)=>e.installed?e.id===`firewall`?mc(e,t):e.id===`ssh`?hc(e,t):e.id===`fail2ban`?gc(e,t):e.id===`btwaf`?_c(e,t):e.id===`tamper_core`?[`${pc(e.enabled,t)} · ${t(`Security.Overview.protection.details.monitoringPrefix`)}`,{text:cc(e.metrics.intercept_count)||`--`},t(`Security.Overview.protection.details.monitoringSuffix`)]:sc(e.summary,t):[t(`Security.Overview.protection.status.notInstalled`)],yc=(e,t)=>e.id===`firewall`?t(`Security.Overview.protection.names.firewall`):e.id===`ssh`?t(`Security.Overview.protection.names.ssh`):e.id===`fail2ban`?t(`Security.Overview.protection.names.fail2ban`):e.id===`btwaf`?t(`Security.Overview.protection.names.btwaf`):e.id===`tamper_core`?t(`Security.Overview.protection.names.tamperCore`):e.id===`bt_hids`?e.title||e.product_name||`Intrusion Detection`:e.title,bc=(e,t)=>t({security_risk:`Security.Overview.scanCards.labels.securityRisk`,malware_detection:`Security.Overview.scanCards.labels.malwareDetection`,website_vulnerability:`Security.Overview.scanCards.labels.websiteVulnerability`,baseline:`Security.Overview.scanCards.labels.baseline`}[e.id])||e.title,xc=(e,t)=>({key:e.id,name:yc(e,t),enabled:e.installed&&e.enabled,details:vc(e,t),settingLabel:e.id===`ssh`?t(`Security.Overview.protection.settings.sshSettings`):t(`Security.Overview.protection.settings.configureProduct`,{name:e.product_name||yc(e,t)}),switchable:Ks.has(e.id),installed:e.installed,source:e.source,pluginName:e.plugin_name||e.id,productName:e.product_name||e.title}),Sc=(e,t)=>({key:e.id,label:bc(e,t),value:e.has_data?`${e.value}${e.value_unit}`:`--`,info:e.info_text,stat:e.stat_text,tone:e.tone||Bs[e.status]||`neutral`}),Cc=(e,t,n)=>{let r=fc(e.severity),i=Vs[r];return{key:e.id||`recommended-action-${t}`,title:e.title||n(`Security.Overview.recommended.defaultTitle`),level:r,levelLabel:n(i.labelKey),description:lc(e.description,n),actionLabel:uc(n(i.buttonLabelKey)),raw:e}},wc=(e,t,n)=>{let r=fc(e.level),i=Vs[r];return{key:e.id||`security-event-${t}`,source:e.source||``,type:e.type||``,title:e.title||n(`Security.Overview.events.defaultTitle`),message:e.message||n(`Security.Overview.events.noEventDetails`),level:r,levelLabel:n(i.labelKey)||e.level_label,timeText:e.time_text||``,relativeTime:e.relative_time||``,meta:e.meta||``,status:e.status||`normal`,raw:e}};F();var Tc=e=>{let t=e.keyword.trim();return{...t?{keyword:t}:{},...e.level?{level:e.level}:{},limit:e.limit,p:e.p}},Ec=({loader:e,mapEvent:t})=>{let n=L({keyword:``,level:``,limit:10,p:1}),r=i([]),a=i(!1),o=i(0),s=0,c=async()=>{let i=++s;a.value=!0;try{let a=await e(Tc(n));return i===s?(n.p=a.p||n.p,n.limit=a.limit||n.limit,o.value=a.total||0,r.value=Array.isArray(a.data)?a.data.map((e,n)=>t(e,n)):[],!0):!1}catch(e){return i===s&&(r.value=[],o.value=0),!1}finally{i===s&&(a.value=!1)}};return{events:r,loadEvents:c,loading:a,query:n,refreshFromFirstPage:()=>(n.p=1,c()),total:o}};F();var Dc=()=>{let{t:e}=V(),t=Ec({loader:async e=>{let{message:t}=await js(e);return t},mapEvent:(t,n)=>wc(t,n,e)}),n=B(()=>t.events.value.length?`success`:`default`);return c(t.loadEvents),{...t,badgeTone:n}};F();var Oc=()=>{let{t:e}=V(),t=i(!0),n=i(!1),r=i(null),a=async()=>{try{let{message:e}=await As();return r.value=e,!0}catch(e){return r.value=null,!1}},o=async()=>{t.value=!0;try{await a()}finally{t.value=!1}},s=B(()=>r.value?[...r.value.protection.items].sort((e,t)=>{let n=Rs[e.id],r=Rs[t.id];return n===void 0||r===void 0?0:n-r}).map(t=>xc(t,e)):Is(e)),l=B(()=>r.value?[...r.value.scan_cards].sort((e,t)=>zs[e.id]-zs[t.id]).map(t=>Sc(t,e)):Ls(e)),u=B(()=>{var t;return[...((t=r.value)==null?void 0:t.recommended_actions)||[]].sort((e,t)=>t.priority-e.priority).map((t,n)=>Cc(t,n,e))}),d=B(()=>{var e;return(e=r.value)==null?void 0:e.health}),f=B(()=>{var e;return((e=r.value)==null?void 0:e.scan_state)||`empty`}),p=B(()=>n.value?e(`Security.Overview.sections.scanning`):e(`Security.Overview.sections.scanOverview`)),m=B(()=>{var e;return((e=r.value)==null?void 0:e.scan_state)===`ready`?`success`:`default`}),h=B(()=>{var t;return u.value.length?e(`Security.Overview.recommended.badgeItems`,{count:u.value.length}):((t=r.value)==null?void 0:t.scan_state)===`ready`?e(`Security.Overview.recommended.badgeZeroItems`):e(`Security.Overview.scanCards.waitingFirstScan`)}),g=B(()=>u.value.length?`success`:`default`);return c(o),{currentHealth:d,currentScanState:f,isInitialLoading:t,isScanning:n,loadOverviewInfo:a,protectionItems:s,recommendedActions:u,recommendedActionsBadge:h,recommendedActionsBadgeTone:g,scanBadge:p,scanBadgeTone:m,scanCards:l,scanNow:async()=>{if(!n.value){n.value=!0;try{await Ms(),await a()}finally{n.value=!1}}}}};F();var kc={},Ac={class:`overview-header`},jc={class:`overview-title`},Mc={class:`overview-subtitle`},Nc={class:`overview-status`};function Pc(e,t){return u(),r(`div`,Ac,[C(`div`,null,[C(`h1`,jc,D(e.$t(`Security.Overview.header.title`)),1),C(`p`,Mc,D(e.$t(`Security.Overview.header.subtitle`)),1)]),C(`span`,Nc,[t[0]||(t[0]=C(`span`,{class:`status-dot`},null,-1)),s(` `+D(e.$t(`Security.Overview.header.systemRunning`)),1)])])}var Fc=Z(kc,[[`render`,Pc],[`__scopeId`,`data-v-77ea286a`]]),Ic=({t:e,openConfirm:t,updateStatus:n})=>(r,i)=>{let a=i?`enable`:`disable`;t({title:e(`Security.Overview.protection.confirm.${a}Title`,{name:r.name}),content:e(`Security.Overview.protection.confirm.${a}Content`,{name:r.name}),onConfirm:()=>n(r,i)})};F(),Jr();var Lc={class:`protection-panel`},Rc={class:`panel-title`},zc={class:`enabled-badge`},Bc={class:`protection-list`},Vc={class:`item-body`},Hc={class:`item-name`},Uc={class:`item-info`},Wc={key:0},Gc={class:`item-actions`},Kc={class:`firewall-quick-allow`},qc={class:`ssh-settings-panel py-8px`},Jc={class:`quick-title`},Yc={class:`ssh-settings-content`},Xc={class:`ssh-setting-row mt-8px`},Zc={class:`ssh-setting-copy`},Qc={class:`ssh-setting-title`},$c={class:`ssh-setting-desc`},el={class:`ssh-setting-row`},tl={class:`ssh-setting-copy`},nl={class:`ssh-setting-title`},rl={class:`ssh-setting-desc`},il={class:`ssh-setting-title`},al=Z(M({__name:`ProtectionStatusList`,props:{items:{}},emits:[`refresh`],setup(e,{emit:t}){let n=e,o=t,c=B(()=>n.items.filter(e=>e.enabled).length),l=()=>{o(`refresh`)},{t:d}=V(),{isProtectionActionLoading:f,openProtectionSetting:h,updateProtectionStatus:g}=Zs({onRefresh:l}),_=Ic({t:(e,t)=>d(e,t),openConfirm:J,updateStatus:g}),b=p(()=>$(()=>Promise.resolve().then(()=>lp),void 0)),x=e=>{var t;return Array.isArray(e)?(t=e[0])==null?null:t:e},w=e=>{var t;return(t=x(e))==null?void 0:t.validate()},k=e=>{var t;return(t=x(e))==null?void 0:t.restoreValidation()},A=i(!1),j=i(!1),M=S(`firewallQuickAllowFormRef`),N=L({port:``}),ee=e=>e.split(`,`).map(e=>{let t=e.trim();return t.includes(`-`)?t.split(`-`).map(e=>e.trim()).join(`-`):t}).join(`,`),F={port:{trigger:[`blur`,`input`],validator:()=>{let e=ee(N.port).split(`,`),t=/^\d+$/;for(let n of e)if(t.test(n)){let e=Number.parseInt(n,10);if(e<1||e>65535)return Error(d(`Security.Firewall.Port.form_15`))}else if(n.includes(`-`)){let e=n.split(`-`);if(e.length!==2||!e.every(e=>t.test(e)))return Error(d(`Security.Firewall.Port.form_15`));let r=Number.parseInt(e[0],10),i=Number.parseInt(e[1],10);if(r<1||i>65535||r>i)return Error(d(`Security.Firewall.Port.form_15`))}else if(n===``)return Error(d(`Security.Firewall.Port.form_16`));else return Error(d(`Security.Firewall.Port.form_15`));return!0}}},te=i(!1),ne=i(!1),re=i(!1),ie=i(!1),I=i(!1),R=S(`sshSettingsFormRef`),ae=L({port:null,keyAuth:!1,passwordAuth:!1}),oe={port:[{required:!0,type:`number`,message:d(`Security.Firewall.Port.form_16`),trigger:[`blur`,`change`]},{validator:(e,t)=>typeof t!=`number`||!Number.isInteger(t)||t<1||t>65535?Error(d(`Security.SSH.Basic.index_20`)):!0,trigger:[`blur`,`change`]}]},se=e=>e.key===`firewall`,ce=e=>e.key===`ssh`,le=e=>typeof e!=`string`,H=e=>e.details.filter(le).map(e=>e.text),ue=e=>{let t=e.pubkey===`yes`;ae.port=Number(e.port)||22,ae.keyAuth=t,ae.passwordAuth=e.password===`yes`,k(R.value)},pe=e=>{let[t,n,r]=H(e);ae.port=Number(t)||22,ae.keyAuth=n===d(`Security.Overview.protection.status.enabled`),ae.passwordAuth=r===d(`Security.Overview.protection.status.enabled`),k(R.value)},me=async()=>{I.value=!0;try{let{message:e}=await hr();X(e)&&ue(e)}finally{I.value=!1}},ge=()=>({protocol:`tcp`,port:ee(N.port),choose:`all`,domain:``,types:`accept`,strategy:`accept`,chain:`INPUT`,brief:``}),ve=()=>{N.port=``,k(M.value)},ye=e=>{A.value=e,e&&(te.value=!1),e||ve()},be=async()=>{if(j.value)return;await w(M.value);let e=ge();if(e.port){j.value=!0;try{await Bt(e),A.value=!1,ve(),l()}finally{j.value=!1}}},Se=()=>{ae.port=null,ae.keyAuth=!1,ae.passwordAuth=!1,k(R.value)},we=async(e,t)=>{if(te.value=e,e){A.value=!1,pe(t),await me();return}Se()},Te=async()=>{if(!ne.value&&(await w(R.value),ae.port)){ne.value=!0;try{await mr({port:ae.port}),await me(),l()}finally{ne.value=!1}}},Ee=async e=>{if(!re.value){re.value=!0;try{await Vr({status:e}),await me(),l()}finally{re.value=!1}}},De=async e=>{if(!ie.value){ie.value=!0;try{e?await vr({ssh:`yes`,type:`ed25519`}):await gr(),await me(),l()}finally{ie.value=!1}}},Oe=async()=>{if(!ie.value){ie.value=!0;try{await vr({ssh:`yes`,type:`ed25519`},!1),await me(),q.success(d(`Security.SSH.Basic.SSHKey.view_2`)),l()}finally{ie.value=!1}}},ke=()=>{if(!ae.keyAuth){q.error(d(`Security.SSH.Basic.index_24`));return}te.value=!1,ct({title:d(`Security.SSH.Basic.index_2`),width:400,minHeight:322,component:b})},Ae=async()=>{if(!ae.keyAuth){q.error(d(`Security.SSH.Basic.index_25`));return}let{close:e}=q.loading(d(`Security.SSH.Basic.index_26`));try{await Rr(),window.open(`${Ut()}/ssh_security?action=download_key`)}finally{e()}};return(t,n)=>{let i=je,o=W,l=xe,d=U,p=he,g=_e,b=Ce,x=de,S=fe,w=ze;return u(),r(`div`,Lc,[C(`div`,Rc,[s(D(t.$t(`Security.Overview.protection.title`))+` `,1),C(`span`,zc,D(t.$t(`Security.Overview.protection.enabledCount`,{enabled:c.value,total:e.items.length})),1)]),C(`div`,Bc,[(u(!0),r(P,null,v(e.items,e=>(u(),r(`div`,{key:e.key,class:`protection-item`},[C(`span`,{class:y([`item-dot`,{active:e.enabled}])},null,2),C(`div`,Vc,[C(`div`,Hc,D(e.name),1),C(`div`,Uc,[(u(!0),r(P,null,v(e.details,(t,n)=>(u(),r(P,{key:`${e.key}-${n}`},[le(t)?(u(),r(`strong`,Wc,D(t.text),1)):(u(),r(P,{key:1},[s(D(t),1)],64))],64))),128)),(u(!0),r(P,null,v(e.badges,e=>(u(),r(`span`,{key:e.text,class:y([`attack-badge`,e.type])},D(e.text),3))),128))])]),C(`div`,Gc,[a(i,{size:`small`,value:e.enabled,loading:m(f)(e),disabled:!e.switchable,"rubber-band":!1,"onUpdate:value":t=>m(_)(e,t)},null,8,[`value`,`loading`,`disabled`,`onUpdate:value`]),se(e)?(u(),z(b,{key:0,show:A.value,trigger:`hover`,placement:`bottom-end`,"display-directive":`show`,"arrow-point-to-center":!0,style:{width:`260px`},"onUpdate:show":ye},{trigger:T(()=>[a(o,{class:`setting-button`,text:``,"aria-label":e.settingLabel,title:e.settingLabel},{icon:T(()=>[...n[2]||(n[2]=[C(`i`,{class:`i-lucide-settings text-14px`},null,-1)])]),_:1},8,[`aria-label`,`title`])]),default:T(()=>[C(`div`,Kc,[a(g,{ref_for:!0,ref_key:`firewallQuickAllowFormRef`,ref:M,model:N,rules:F,"label-placement":`top`,size:`small`},{default:T(()=>[a(p,{path:`port`,"show-label":!1,"show-feedback":!1},{default:T(()=>[a(d,{class:`firewall-quick-row`,align:`center`,wrap:!1,size:8},{default:T(()=>[a(l,{value:N.port,"onUpdate:value":n[0]||(n[0]=e=>N.port=e),class:`quick-port-input`,placeholder:t.$t(`Security.Overview.protection.forms.portNumber`),onKeydown:E(O(be,[`prevent`]),[`enter`])},null,8,[`value`,`placeholder`,`onKeydown`]),a(o,{class:`firewall-quick-action`,type:`primary`,size:`small`,loading:j.value,onClick:be},{default:T(()=>[s(D(t.$t(`Security.Firewall.Port.form_21`)),1)]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model`])])]),_:2},1032,[`show`])):ce(e)?(u(),z(b,{key:1,show:te.value,trigger:`hover`,placement:`bottom-end`,"display-directive":`show`,"arrow-point-to-center":!0,style:{width:`280px`},"onUpdate:show":t=>we(t,e)},{trigger:T(()=>[a(o,{class:`setting-button`,text:``,"aria-label":e.settingLabel,title:e.settingLabel},{icon:T(()=>[...n[3]||(n[3]=[C(`i`,{class:`i-lucide-settings text-14px`},null,-1)])]),_:1},8,[`aria-label`,`title`])]),default:T(()=>[C(`div`,qc,[C(`div`,Jc,D(e.settingLabel),1),a(w,{show:I.value,size:`small`},{default:T(()=>[C(`div`,Yc,[a(g,{ref_for:!0,ref_key:`sshSettingsFormRef`,ref:R,model:ae,rules:oe,"label-placement":`top`,size:`small`},{default:T(()=>[a(p,{label:t.$t(`Security.SSH.Basic.index_3`),path:`port`,"show-feedback":!1,"show-require-mark":!1,"label-style":{fontSize:`12px`}},{default:T(()=>[a(x,{value:ae.port,"onUpdate:value":n[1]||(n[1]=e=>ae.port=e),class:`quick-port-input`,min:1,max:65535,precision:0,"show-button":!1,disabled:I.value,placeholder:t.$t(`Security.Firewall.Port.form_3`),onKeydown:E(O(Te,[`prevent`]),[`enter`])},null,8,[`value`,`disabled`,`placeholder`,`onKeydown`]),a(o,{class:`ssh-port-save`,type:`primary`,size:`small`,loading:ne.value,disabled:I.value,onClick:Te},{default:T(()=>[s(D(t.$t(`Public.Btn.Save`)),1)]),_:1},8,[`loading`,`disabled`])]),_:1},8,[`label`])]),_:1},8,[`model`]),a(S,{class:`quick-divider`}),C(`div`,Xc,[C(`div`,Zc,[C(`div`,Qc,D(t.$t(`Security.SSH.Basic.index_2`)),1),C(`div`,$c,D(t.$t(`Security.Overview.protection.ssh.keyLoginDesc`)),1)]),a(i,{size:`small`,value:ae.keyAuth,loading:ie.value,disabled:I.value,"rubber-band":!1,"onUpdate:value":De},null,8,[`value`,`loading`,`disabled`])]),C(`div`,el,[C(`div`,tl,[C(`div`,nl,D(t.$t(`Security.SSH.Basic.index_1`)),1),C(`div`,rl,D(t.$t(`Security.Overview.protection.ssh.passwordLoginDesc`)),1)]),a(i,{size:`small`,value:ae.passwordAuth,loading:re.value,disabled:I.value,"rubber-band":!1,"onUpdate:value":Ee},null,8,[`value`,`loading`,`disabled`])]),a(S,{class:`quick-divider`}),C(`div`,il,D(t.$t(`Security.Overview.protection.ssh.keysTitle`)),1),a(d,{class:`ssh-key-actions`,size:8,wrap:!1},{default:T(()=>[a(o,{size:`small`,loading:ie.value,disabled:I.value,onClick:Oe},{default:T(()=>[s(D(t.$t(`Security.SSH.Basic.SSHKey.view_1`)),1)]),_:1},8,[`loading`,`disabled`]),a(o,{size:`small`,disabled:I.value,onClick:ke},{default:T(()=>[s(D(t.$t(`Security.SSH.Basic.index_10`)),1)]),_:1},8,[`disabled`]),a(o,{size:`small`,disabled:I.value,onClick:Ae},{default:T(()=>[s(D(t.$t(`Public.Btn.Download`)),1)]),_:1},8,[`disabled`])]),_:1})])]),_:1},8,[`show`])])]),_:2},1032,[`show`,`onUpdate:show`])):(u(),z(o,{key:2,class:`setting-button`,text:``,"aria-label":e.settingLabel,title:e.settingLabel,onClick:t=>m(h)(e)},{icon:T(()=>[...n[4]||(n[4]=[C(`i`,{class:`i-lucide-settings text-14px`},null,-1)])]),_:1},8,[`aria-label`,`title`,`onClick`]))])]))),128))])])}}}),[[`__scopeId`,`data-v-e462409b`]]);F();var ol={class:`events-card`},sl={class:`events-header`},cl={class:`events-title`},ll={class:`events-controls`},ul={key:0,class:`events-list`},dl={class:`event-time`},fl={class:`event-body`},pl={class:`event-title`},ml=[`title`],hl={key:1,class:`events-empty`},gl={class:`empty-title`},_l={class:`empty-desc`},vl={class:`events-footer`},yl=Z(M({__name:`RecentSecurityEvents`,props:f({events:{},loading:{type:Boolean},total:{}},{keyword:{required:!0},keywordModifiers:{},level:{required:!0},levelModifiers:{},page:{required:!0},pageModifiers:{},pageSize:{required:!0},pageSizeModifiers:{}}),emits:f([`filterChange`,`refresh`,`search`],[`update:keyword`,`update:level`,`update:page`,`update:pageSize`]),setup(e,{emit:t}){let n=e,i=t,o=re(e,`keyword`),s=re(e,`level`),c=re(e,`page`),l=re(e,`pageSize`),{t:d}=V(),f=B(()=>[{label:d(`Security.Overview.events.filters.all`),value:``},{label:d(`Security.Overview.events.filters.info`),value:`info`},{label:d(`Security.Overview.events.filters.low`),value:`low`},{label:d(`Security.Overview.events.filters.medium`),value:`medium`},{label:d(`Security.Overview.events.filters.high`),value:`high`},{label:d(`Security.Overview.events.filters.critical`),value:`critical`}]),p=e=>{s.value=e,i(`filterChange`)},m=e=>e.status===`normal`||e.status===`success`?`ok`:e.status===`warning`||e.level===`medium`?`warn`:e.status===`danger`||e.status===`error`||e.level===`critical`||e.level===`high`?`danger`:e.level===`info`?`info`:`muted`,h=e=>e.status===`normal`||e.status===`success`?d(`Security.Overview.events.status.normal`):e.status===`warning`?d(`Security.Overview.events.status.warning`):e.status===`danger`||e.status===`error`?d(`Security.Overview.events.status.blocked`):e.levelLabel,g=e=>e.timeText?e.timeText.slice(11,16)||e.timeText:e.relativeTime||`--`,_=e=>e.meta&&e.message?`${e.meta} · ${e.message}`:e.meta||e.message,b=B(()=>n.events.map(e=>({...e,metaText:_(e),statusLabel:h(e),statusType:m(e),timeLabel:g(e)})));return(t,n)=>{let d=Le,m=Yr,h=ze,g=cn;return u(),r(`div`,ol,[C(`div`,sl,[C(`h2`,cl,D(t.$t(`Security.Overview.events.title`)),1),C(`div`,ll,[a(d,{class:`events-level-select`,value:s.value,options:f.value,disabled:e.loading,"onUpdate:value":p},null,8,[`value`,`options`,`disabled`]),a(m,{value:o.value,"onUpdate:value":n[0]||(n[0]=e=>o.value=e),class:`events-search`,width:240,disabled:e.loading,placeholder:t.$t(`Security.Overview.events.filters.searchPlaceholder`),onSearch:n[1]||(n[1]=e=>i(`search`))},null,8,[`value`,`disabled`,`placeholder`])])]),a(h,{class:`events-content`,show:e.loading},{default:T(()=>[b.value.length?(u(),r(`ul`,ul,[(u(!0),r(P,null,v(b.value,e=>(u(),r(`li`,{key:e.key,class:`event-item`},[C(`span`,dl,D(e.timeLabel),1),C(`span`,{class:y([`event-dot`,`ed-${e.statusType}`])},null,2),C(`div`,fl,[C(`span`,pl,D(e.title),1),C(`span`,{class:`event-meta`,title:e.metaText},D(e.metaText),9,ml)]),C(`span`,{class:y([`event-tag`,`tg-${e.statusType}`])},D(e.statusLabel),3)]))),128))])):(u(),r(`div`,hl,[n[5]||(n[5]=C(`div`,{class:`empty-icon`},[C(`i`,{class:`i-lucide-bell`})],-1)),C(`div`,gl,D(t.$t(`Security.Overview.events.emptyTitle`)),1),C(`div`,_l,D(t.$t(`Security.Overview.events.emptyDesc`)),1)]))]),_:1},8,[`show`]),C(`div`,vl,[a(g,{page:c.value,"onUpdate:page":n[2]||(n[2]=e=>c.value=e),"page-size":l.value,"onUpdate:pageSize":n[3]||(n[3]=e=>l.value=e),"item-count":e.total,disabled:e.loading||e.total===0,onRefresh:n[4]||(n[4]=e=>i(`refresh`))},null,8,[`page`,`page-size`,`item-count`,`disabled`])])])}}}),[[`__scopeId`,`data-v-3046278d`]]);F();var bl={key:0,class:`action-list`},xl={class:`action-body`},Sl={class:`action-title`},Cl={class:`action-title-text`},wl={class:`action-desc`},Tl={key:0},El={key:1,class:`actions-card`},Dl={class:`empty-title`},Ol={class:`empty-desc`},kl=Z(M({__name:`RecommendedActions`,props:{actions:{},loadingKey:{default:``}},emits:[`actionClick`],setup(e,{emit:t}){let n=e,i=t,o={critical:{className:`critical`,iconClass:`i-lucide-circle-alert`},high:{className:`high`,iconClass:`i-lucide-triangle-alert`},medium:{className:`med`,iconClass:`i-lucide-zap`},low:{className:`low`,iconClass:`i-lucide-info`},info:{className:`info`,iconClass:`i-lucide-check`}},c=B(()=>n.actions.map(e=>({...e,meta:o[e.level]})));return(e,t)=>{let o=W;return c.value.length?(u(),r(`div`,bl,[(u(!0),r(P,null,v(c.value,e=>(u(),r(`div`,{key:e.key,class:y([`action-item`,`action-${e.meta.className}`])},[C(`div`,{class:y([`action-icon`,`ai-${e.meta.className}`])},[C(`i`,{class:y(e.meta.iconClass)},null,2)],2),C(`div`,xl,[C(`div`,Sl,[C(`span`,Cl,D(e.title),1),C(`span`,{class:y([`action-level`,`al-${e.meta.className}`])},D(e.levelLabel),3)]),C(`div`,wl,[(u(!0),r(P,null,v(e.description,(t,n)=>(u(),r(P,{key:`${e.key}-${n}`},[typeof t==`string`?(u(),r(P,{key:1},[s(D(t),1)],64)):(u(),r(`strong`,Tl,D(t.text),1))],64))),128))])]),a(o,{class:`action-button`,secondary:``,loading:n.loadingKey===e.key,onClick:t=>i(`actionClick`,e)},{default:T(()=>[s(D(e.actionLabel),1)]),_:2},1032,[`loading`,`onClick`])],2))),128))])):(u(),r(`div`,El,[t[0]||(t[0]=C(`div`,{class:`empty-symbol`},[C(`i`,{class:`i-lucide-info`})],-1)),C(`div`,Dl,D(e.$t(`Security.Overview.recommended.emptyTitle`)),1),C(`div`,Ol,D(e.$t(`Security.Overview.recommended.emptyDesc`)),1)]))}}}),[[`__scopeId`,`data-v-32eceeaf`]]);F();var Al={class:`section-title`},jl={class:`title-text`},Ml=Z(M({__name:`SectionTitle`,props:{title:{},badge:{},badgeTone:{default:`default`}},setup(e){return(t,n)=>(u(),r(`div`,Al,[C(`span`,jl,D(e.title),1),C(`span`,{class:y([`title-badge`,{success:e.badgeTone===`success`}])},D(e.badge),3)]))}}),[[`__scopeId`,`data-v-0486646b`]]);F();var Nl={key:0,class:`score-body`},Pl={key:1,class:`clock-body`},Fl={key:0,class:`status-dots`},Il={class:`health-desc`},Ll=Z(M({__name:`SecurityHealthCard`,props:{scanning:{type:Boolean},health:{},scanState:{}},emits:[`scan`],setup(e,{emit:t}){let n=e,i=t,{t:o}=V(),c=B(()=>n.scanState===`ready`&&!!n.health),l=B(()=>{var e;return n.scanning?`scanning`:c.value?((e=n.health)==null?void 0:e.level_key)||`good`:`pending`}),d=B(()=>{var e,t;return n.scanning?o(`Security.Overview.health.status.scanning`):c.value?(e=n.health)!=null&&e.level_key?o(`Security.Overview.health.levels.${n.health.level_key}`):((t=n.health)==null?void 0:t.level)||o(`Security.Overview.health.levels.good`):o(`Security.Overview.health.status.pending`)}),f=B(()=>{var e,t;return((e=n.health)==null?void 0:e.last_scan_text)||((t=n.health)==null?void 0:t.last_scan_time)||`--`}),p=()=>{n.scanning||i(`scan`)};return(t,i)=>{var o;let m=W;return u(),r(`div`,{class:y([`health-panel`,`state-${l.value}`])},[C(`div`,{class:y([`health-icon`,l.value])},[i[1]||(i[1]=C(`span`,{class:`ripple`},null,-1)),i[2]||(i[2]=C(`span`,{class:`ripple`},null,-1)),c.value&&!e.scanning?(u(),r(`div`,Nl,D((o=n.health)==null?void 0:o.score),1)):(u(),r(`div`,Pl,[...i[0]||(i[0]=[C(`div`,{class:`clock-hand hour`},null,-1),C(`div`,{class:`clock-hand minute`},null,-1),C(`div`,{class:`clock-center`},null,-1)])]))],2),C(`div`,{class:y([`health-status`,l.value])},[s(D(d.value),1),e.scanning?(u(),r(`span`,Fl)):_(``,!0)],2),C(`div`,Il,[e.scanning?(u(),r(P,{key:0},[s(D(t.$t(`Security.Overview.health.scanningDesc`)),1),i[3]||(i[3]=C(`br`,null,null,-1)),s(D(t.$t(`Security.Overview.health.pleaseWait`)),1)],64)):c.value?(u(),r(P,{key:1},[s(D(t.$t(`Security.Overview.health.lastScan`,{time:f.value})),1)],64)):(u(),r(P,{key:2},[s(D(t.$t(`Security.Overview.health.notScanned`)),1),i[4]||(i[4]=C(`br`,null,null,-1)),s(D(t.$t(`Security.Overview.health.clickToStart`)),1)],64))]),a(m,{class:`scan-button`,type:`primary`,loading:e.scanning,disabled:e.scanning,onClick:p},{icon:T(()=>[...i[5]||(i[5]=[C(`i`,{class:`i-lucide-refresh-cw scan-button-icon`},null,-1)])]),default:T(()=>[C(`span`,null,D(e.scanning?t.$t(`Security.Overview.health.status.scanning`):t.$t(`Security.Overview.health.startScan`)),1)]),_:1},8,[`loading`,`disabled`])],2)}}}),[[`__scopeId`,`data-v-6e0b6502`]]);F();var Rl={},zl={class:`overview-skeleton`,"aria-hidden":`true`},Bl={class:`skeleton-overview-card`},Vl={class:`skeleton-health`},Hl={class:`skeleton-health-body`},Ul={class:`skeleton-protection`},Wl={class:`skeleton-panel-title`},Gl={class:`skeleton-protection-grid`},Kl={class:`skeleton-protection-copy`},ql={class:`skeleton-section-title`},Jl={class:`skeleton-scan-grid`},Yl={class:`skeleton-section-title`},Xl={class:`skeleton-action-list`},Zl={class:`skeleton-action-copy`},Ql={class:`skeleton-section-title`},$l={class:`skeleton-event-list`};function eu(e,t){let n=Oe;return u(),r(`div`,zl,[C(`div`,Bl,[C(`div`,Vl,[a(n,{circle:``,width:56,height:56}),C(`div`,Hl,[a(n,{text:``,width:`38%`}),a(n,{text:``,width:`64%`}),a(n,{text:``,width:`46%`})])]),C(`div`,Ul,[C(`div`,Wl,[a(n,{text:``,width:`120px`}),a(n,{text:``,width:`64px`})]),C(`div`,Gl,[(u(),r(P,null,v(6,e=>C(`div`,{key:`protection-${e}`,class:`skeleton-protection-item`},[a(n,{circle:``,width:7,height:7}),C(`div`,Kl,[a(n,{text:``,width:`42%`}),a(n,{text:``,width:`76%`})]),a(n,{circle:``,width:22,height:22})])),64))])])]),C(`div`,ql,[a(n,{text:``,width:`140px`}),a(n,{text:``,width:`86px`})]),C(`div`,Jl,[(u(),r(P,null,v(4,e=>C(`div`,{key:`scan-${e}`,class:`skeleton-scan-card`},[a(n,{text:``,width:`42%`}),a(n,{text:``,width:`72%`}),a(n,{text:``,width:`100%`}),a(n,{text:``,width:`58%`})])),64))]),C(`div`,Yl,[a(n,{text:``,width:`170px`}),a(n,{text:``,width:`72px`})]),C(`div`,Xl,[(u(),r(P,null,v(3,e=>C(`div`,{key:`action-${e}`,class:`skeleton-action-item`},[a(n,{circle:``,width:32,height:32}),C(`div`,Zl,[a(n,{text:``,width:`46%`}),a(n,{text:``,width:`82%`})]),a(n,{text:``,width:`92px`})])),64))]),C(`div`,Ql,[a(n,{text:``,width:`180px`}),a(n,{text:``,width:`74px`})]),C(`div`,$l,[(u(),r(P,null,v(4,e=>C(`div`,{key:`event-${e}`,class:`skeleton-event-item`},[a(n,{text:``,width:`26%`}),a(n,{text:``,width:`64%`}),a(n,{text:``,width:`18%`})])),64))])])}var tu=Z(Rl,[[`render`,eu],[`__scopeId`,`data-v-5cb80df3`]]);F();var nu={class:`scan-grid`},ru={class:`scan-top`},iu={class:`scan-number`},au={class:`scan-label`},ou={class:`scan-info`},su={class:`scan-action`},cu={class:`scan-stat`},lu=Z(M({__name:`SecurityScanCards`,props:{cards:{},scanning:{type:Boolean}},setup(e){let{openSecurityScanModal:t}=rc(),n=e=>{t(nc(e.key)||`risk`)};return(t,i)=>{let o=W;return u(),r(`div`,nu,[(u(!0),r(P,null,v(e.cards,i=>(u(),r(`div`,{key:i.key,class:y([`scan-card`,[{scanning:e.scanning},`tone-${i.tone||`neutral`}`]])},[C(`div`,ru,[C(`span`,iu,D(i.value||`--`),1),C(`span`,au,D(i.label),1)]),C(`div`,ou,D(i.info||t.$t(`Security.Overview.scanCards.waitingFirstScan`)),1),C(`div`,su,[a(o,{text:``,type:`primary`,size:`tiny`,class:`details-button`,"aria-label":t.$t(`Security.Overview.scanCards.detailsAria`,{label:i.label}),onClick:e=>n(i)},{default:T(()=>[s(D(t.$t(`Security.Overview.scanCards.details`)),1)]),_:1},8,[`aria-label`,`onClick`]),C(`span`,cu,D(i.stat||t.$t(`Security.Overview.common.noData`)),1)])],2))),128))])}}}),[[`__scopeId`,`data-v-e7df33db`]]);F();var uu={class:`security-overview-page`},du={key:1,class:`security-overview-content`},fu={class:`overview-card`},pu=M({__name:`index`,setup(e){let{currentHealth:t,currentScanState:n,isInitialLoading:i,isScanning:o,loadOverviewInfo:s,protectionItems:c,recommendedActions:l,recommendedActionsBadge:d,recommendedActionsBadgeTone:f,scanBadge:p,scanBadgeTone:h,scanCards:g,scanNow:_}=Oc(),{badgeTone:v,events:y,loadEvents:b,loading:x,query:S,refreshFromFirstPage:w,total:T}=Dc(),E=async()=>{await _(),await w()},{actionLoadingKey:D,handleRecommendedAction:O}=ac({protectionItems:c,onRefresh:s});return(e,_)=>(u(),r(`div`,uu,[a(Fc),m(i)?(u(),z(tu,{key:0})):(u(),r(`div`,du,[C(`div`,fu,[a(Ll,{scanning:m(o),health:m(t),"scan-state":m(n),onScan:E},null,8,[`scanning`,`health`,`scan-state`]),a(al,{items:m(c),onRefresh:m(s)},null,8,[`items`,`onRefresh`])]),a(Ml,{title:e.$t(`Security.Overview.sections.securityScan`),badge:m(p),"badge-tone":m(h)},null,8,[`title`,`badge`,`badge-tone`]),a(lu,{cards:m(g),scanning:m(o)},null,8,[`cards`,`scanning`]),a(Ml,{title:e.$t(`Security.Overview.sections.recommendedActions`),badge:m(d),"badge-tone":m(f)},null,8,[`title`,`badge`,`badge-tone`]),a(kl,{actions:m(l),"loading-key":m(D),onActionClick:m(O)},null,8,[`actions`,`loading-key`,`onActionClick`]),a(Ml,{title:e.$t(`Security.Overview.sections.recentSecurityEvents`),badge:e.$t(`Security.Overview.sections.last7Days`),"badge-tone":m(v)},null,8,[`title`,`badge`,`badge-tone`]),a(yl,{keyword:m(S).keyword,"onUpdate:keyword":_[0]||(_[0]=e=>m(S).keyword=e),level:m(S).level,"onUpdate:level":_[1]||(_[1]=e=>m(S).level=e),page:m(S).p,"onUpdate:page":_[2]||(_[2]=e=>m(S).p=e),"page-size":m(S).limit,"onUpdate:pageSize":_[3]||(_[3]=e=>m(S).limit=e),events:m(y),loading:m(x),total:m(T),onFilterChange:m(w),onRefresh:m(b),onSearch:m(w)},null,8,[`keyword`,`level`,`page`,`page-size`,`events`,`loading`,`total`,`onFilterChange`,`onRefresh`,`onSearch`])]))]))}}),mu=e({default:()=>hu}),hu=Z(pu,[[`__scopeId`,`data-v-b15fd533`]]),{t:gu}=We.global,_u=e=>Y.post(`/logs/panel/get_panel_login_log`,e),vu=()=>Y.post(`/ssh_security?action=get_sshd_anti_logs`),yu=()=>Y.post(`/safe/serversafe/get_security_info`),bu=e=>Y.post(`/safe/serversafe/repair_security`,{data:JSON.stringify(e)},{requestOptions:{loading:gu(`Security.ServerSafe.loading`),successMessage:!0}}),xu=e=>Y.post(`/ssh_security?action=set_anti_conf`,e,{requestOptions:{loading:gu(`Security.ServerSafe.loading`),successMessage:!0}}),Su=()=>Y.post(`/ssh_security?action=get_anti_conf`),Cu=e=>Y.post(`/ssh_security?action=del_ban_ip`,e,{requestOptions:{loading:gu(`Security.ServerSafe.loading`),successMessage:!0}});F();var{t:wu}=We.global,Tu=ce(`service`,()=>{let e=L({sshPort:22,complexityLevel:3,minPasswordLength:15,sshAlert:!1,sshProtection:!1,panelAlert:!1,panelOtp:!1,panelSsl:!0,noLoginCode:404,rootLoginType:`without-password`,sshKey:!0}),t=L({score:0,total_score:100,score_text:`-`,loading:!1}),n=L([{label:wu(`Security.ServerSafe.totalBannedIp`),value:`-`},{label:wu(`Security.ServerSafe.totalFailedConnection`),value:`-`},{label:wu(`Security.ServerSafe.currentBannedIp`),value:`-`},{label:wu(`Security.ServerSafe.currentFailedConnection`),value:`-`}]),r=i([]),a=L({install:!0}),o=async()=>{let{message:t}=await Nr();X(t)&&(a.install=t.fail2ban.installed===1,e.sshKey=t.config.pubkey===`yes`)},s=async()=>{try{t.loading=!0;let{message:m}=await yu();if(X(m)){var i,a,o,s,c,l,u,d,f,p;if(t.score=m.score,t.total_score=m.total_score,t.score_text=m.score_text,r.value=m.security_data,e.sshPort=(i=m.security_data.find(e=>e.id===1))==null?void 0:i.value,e.complexityLevel=((a=m.security_data.find(e=>e.id===2))==null?void 0:a.value)||0,e.minPasswordLength=(o=m.security_data.find(e=>e.id===3))==null?void 0:o.value,e.sshAlert=!!((s=m.security_data.find(e=>e.id===4))!=null&&s.status),e.sshProtection=!!((c=m.security_data.find(e=>e.id===6))!=null&&c.value),e.panelAlert=!!((l=m.security_data.find(e=>e.id===7))!=null&&l.status),e.panelOtp=(u=m.security_data.find(e=>e.id===8))==null?void 0:u.value,e.panelSsl=(d=m.security_data.find(e=>e.id===10))==null?void 0:d.value,e.noLoginCode=(f=m.security_data.find(e=>e.id===9))==null?void 0:f.value,e.rootLoginType=(p=m.security_data.find(e=>e.id===5))==null?void 0:p.value,t.loading=!1,e.sshProtection){let{message:e}=await vu();X(e)&&(n[0].value=e.total_banned,n[1].value=e.total_failed,n[2].value=e.currently_banned,n[3].value=e.currently_failed)}}}finally{t.loading=!1}},c=w([]),l=w([]);return{safeConfig:e,panelLogin:c,sshLogin:l,info:t,sshBruteForce:a,safeItems:r,protectionInfo:n,getSafeConfig:s,getPanelLogin:async()=>{let{message:e}=await _u({limit:5,p:1});X(e)&&(c.value=e.data)},getSshLogin:async()=>{let{message:e}=await _r({limit:5,p:1,search:``,select:``});X(e)&&(l.value=e.data)},getBruteForceInfo:o}});F(),Jr();var{t:Eu}=We.global,Du=()=>{ct({title:Eu(`Security.ServerSafe.sshProtectionConfiguration`),width:`400px`,minHeight:`200px`,footer:!0,component:p(()=>$(()=>Promise.resolve().then(()=>rd),void 0))})},Ou=()=>{ct({title:Eu(`Security.ServerSafe.sshProtectionLog`),width:`600px`,minHeight:`300px`,component:p(()=>$(()=>Promise.resolve().then(()=>cd),void 0))})},ku=e=>{ct({title:Eu(`Security.ServerSafe.securityConfiguration`),width:`800px`,height:`800px`,component:p(()=>$(()=>Promise.resolve().then(()=>$u),void 0)),data:{target:e}})},Au=(e,t)=>lr(e,t,void 0,`Public.AlarmTask.ConfigurationTask`),ju=async(e,t)=>{let{safeConfig:n}=H(Tu());e?n.value.panelOtp?ct({title:Eu(`Security.ServerSafe.googleAuthBinding`),width:600,component:p(()=>$(()=>import(`./view-config.js?v=1787646744133`).then(e=>e.r),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,33,24,25,34,26,27,35])))}):ct({title:Eu(`Security.ServerSafe.googleAuthBinding`),width:670,footer:!0,data:{onRefresh:t},component:p(()=>$(()=>import(`./view-config.js?v=1787646744133`).then(e=>e.n),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,33,24,25,34,26,27,35])))}):(await ft({act:0},!0),t())},Mu=async e=>{let t=Tu(),{safeConfig:n,sshBruteForce:r}=H(t);if(!r.value.install){pt(`fail2ban`,()=>{t.getBruteForceInfo()});return}await xu({act:!n.value.sshProtection}),e()},Nu=e=>{e?ei():$r()},Pu=()=>{let{safeConfig:e}=Tu();if(!e.sshKey){q.error(Eu(`Security.ServerSafe.enableSshKeyBeforeView`));return}ct({title:Eu(`Security.ServerSafe.sshKeyLogin`),width:`400px`,minHeight:`322px`,component:p(()=>$(()=>Promise.resolve().then(()=>lp),void 0))})},{t:Fu}=We.global,Iu=[{label:Fu(`Security.ServerSafe.statusCodeAccessDenied`),value:403},{label:Fu(`Security.ServerSafe.statusCodePageNotFound`),value:404},{label:Fu(`Security.ServerSafe.statusCodeInvalidRequest`),value:416},{label:Fu(`Security.ServerSafe.statusCodeClientTimeout`),value:408},{label:Fu(`Security.ServerSafe.statusCodeClientRequestError`),value:400},{label:Fu(`Security.ServerSafe.statusCodeUnauthorizedAccess`),value:401}],Lu=e=>{if(!e||typeof e!=`string`)return`-`;let t=e.toLowerCase();return t.includes(`edg/`)?`Edge`:t.includes(`opr/`)||t.includes(`opera`)?`Opera`:t.includes(`chrome`)&&!t.includes(`edg/`)&&!t.includes(`opr/`)?`Chrome`:t.includes(`firefox`)?`Firefox`:t.includes(`safari`)&&!t.includes(`chrome`)?`Safari`:t.includes(`msie`)||t.includes(`trident/`)?`IE`:`Unknown`},Ru=e=>e<=50?`text-error`:e>50&&e<80?`text-warning`:`text-primary`,zu=()=>Math.floor(Math.random()*64536)+1e3,Bu=async()=>{let{safeConfig:e}=Tu();if(!e.sshKey){q.error(Fu(`Security.ServerSafe.enableSshKeyBeforeDownload`));return}let{close:t}=q.loading(Fu(`Security.ServerSafe.gettingKeyInfo`));try{await Rr(),window.open(`${Ut()}/ssh_security?action=download_key`)}finally{t()}};F();var Vu={class:`p-16px`},Hu={class:`stat-box`},Uu={class:`flex justify-between`},Wu={class:`text-2xl font-bold`},Gu={class:`color-desc`},Ku=Z(M({__name:`config-card`,props:{title:{type:String,default:``},titleTips:{type:String,default:``},tips:{type:String,default:``}},setup(e){return(t,n)=>{let i=U,o=fe;return u(),r(`div`,Vu,[C(`div`,Hu,[C(`div`,Uu,[a(i,{class:`flex-col!`},{default:T(()=>[C(`span`,Wu,D(e.title),1),C(`span`,Gu,D(e.titleTips),1)]),_:1}),a(i,{class:`flex-nowrap! items-center`},{default:T(()=>[b(t.$slots,`default`,{},void 0,!0)]),_:3})]),a(o,{class:`my-10px!`}),N(C(`span`,null,D(e.tips),513),[[I,e.tips]]),b(t.$slots,`content`,{},void 0,!0)])])}}}),[[`__scopeId`,`data-v-a8070785`]]);F();var qu={class:`safety-config-page pb-20px`},Ju={class:`text-primary font-bold`},Yu={class:`text-primary`},Xu={class:`whitespace-nowrap`},Zu={class:`mb-10px`},Qu=M({__name:`config-safe`,props:{target:{type:Number,default:0}},setup(e){let t=Tu(),{safeConfig:n}=H(t),i=e,o=()=>{t.getSafeConfig()},l=()=>{n.value.sshPort=zu()},d=async()=>{await mr({port:n.value.sshPort}),o()},f=async()=>{await bu({name:`Password Complexity Policy`,args:{minclass:n.value.complexityLevel}}),o()},p=async()=>{await bu({name:`Password Length Limit`,args:{len:n.value.minPasswordLength}}),o()},g=async e=>{ju(e,o)},v=async()=>{await _t({status_code:n.value.noLoginCode}),o()},b=async()=>{await wr({p_type:n.value.rootLoginType}),o()};return c(()=>{i.target&&se(()=>{let e=document.getElementById(i.target.toString());e&&e.scrollIntoView({behavior:`smooth`,block:`center`})})}),(t,i)=>{let c=Be,x=de,S=ut,w=ke,E=Ve,O=W,k=h(`i18n-t`),A=He,j=U,M=je,N=Le,P=ue,ee=De;return u(),r(`div`,qu,[a(Ku,{id:`1`,title:t.$t(`Security.ServerSafe.sshPortChange`),"title-tips":t.$t(`Security.ServerSafe.recommendedNon22Port`),tips:t.$t(`Security.ServerSafe.modifyDefaultSshPort`),class:y({"flash-border":e.target===1})},{default:T(()=>[a(c,{type:`warning`,size:`small`},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.important`)),1)]),_:1}),a(E,{class:`w-200px`},{default:T(()=>[a(x,{value:m(n).sshPort,"onUpdate:value":i[0]||(i[0]=e=>m(n).sshPort=e),"show-button":!1},null,8,[`value`]),a(w,{onClick:l},{default:T(()=>[a(S,{name:`base-refresh`})]),_:1})]),_:1}),a(O,{type:`primary`,size:`small`,onClick:d},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.apply`)),1)]),_:1})]),_:1},8,[`title`,`title-tips`,`tips`,`class`]),a(Ku,{id:`2`,title:t.$t(`Security.ServerSafe.passwordComplexity`),"title-tips":t.$t(`Security.ServerSafe.recommendedComplexityLevel`),class:y({"flash-border":e.target===2})},{content:T(()=>[C(`div`,null,[a(k,{scope:`global`,keypath:`Security.ServerSafe.passwordComplexityDesc`},{a:T(()=>[C(`span`,Ju,D(m(n).complexityLevel),1)]),_:1})]),a(j,{class:`items-center mt-10px`},{default:T(()=>[C(`span`,null,D(t.$t(`Security.ServerSafe.complexityLevel`))+`:`,1),a(A,{value:m(n).complexityLevel,"onUpdate:value":i[1]||(i[1]=e=>m(n).complexityLevel=e),min:1,max:4,step:1,class:`w-300px`,onDragend:f},null,8,[`value`]),C(`span`,Yu,D(m(n).complexityLevel)+`/4`,1)]),_:1})]),_:1},8,[`title`,`title-tips`,`class`]),a(Ku,{id:`3`,title:t.$t(`Security.ServerSafe.passwordLengthLimit`),"title-tips":t.$t(`Security.ServerSafe.recommendedPasswordLength`),tips:t.$t(`Security.ServerSafe.setMinimumPasswordLength`),class:y({"flash-border":e.target===3})},{default:T(()=>[C(`span`,Xu,D(t.$t(`Security.ServerSafe.minimumLength`))+`:`,1),a(x,{"show-button":!1,value:m(n).minPasswordLength,"onUpdate:value":i[2]||(i[2]=e=>m(n).minPasswordLength=e),min:6,max:64,class:`w-100px`,size:`small`},null,8,[`value`]),a(O,{type:`primary`,size:`small`,onClick:p},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.apply`)),1)]),_:1})]),_:1},8,[`title`,`title-tips`,`tips`,`class`]),a(Ku,{id:4,title:t.$t(`Security.ServerSafe.sshLoginAlert`),"title-tips":t.$t(`Security.ServerSafe.recommendedSshLoginAlerts`),tips:t.$t(`Security.ServerSafe.sendSshLoginAlerts`),class:y({"flash-border":e.target===4})},{default:T(()=>[C(`span`,{class:y(m(n).sshAlert?`text-primary`:`text-error`)},D(m(n).sshAlert?t.$t(`Security.ServerSafe.configured`):t.$t(`Public.Status.NotConfigured`)),3),a(O,{type:`primary`,size:`small`,onClick:i[3]||(i[3]=e=>m(Au)(o,`7`))},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.configureAlert`)),1)]),_:1})]),_:1},8,[`title`,`title-tips`,`tips`,`class`]),a(Ku,{id:`6`,title:t.$t(`Security.ServerSafe.sshBruteForceProtection`),"title-tips":t.$t(`Security.ServerSafe.recommendedSshBruteForceProtection`),tips:t.$t(`Security.ServerSafe.sshBruteForceDesc`),class:y({"flash-border":e.target===6})},{default:T(()=>[a(M,{value:m(n).sshProtection,"onUpdate:value":i[4]||(i[4]=e=>m(Mu)(o))},null,8,[`value`])]),_:1},8,[`title`,`title-tips`,`tips`,`class`]),a(Ku,{id:`7`,title:t.$t(`Security.ServerSafe.panelLoginAlert`),"title-tips":t.$t(`Security.ServerSafe.recommendedPanelLoginAlerts`),tips:t.$t(`Security.ServerSafe.sendPanelLoginAlerts`),class:y({"flash-border":e.target===7})},{default:T(()=>[C(`span`,{class:y(m(n).panelAlert?`text-primary`:`text-error`)},D(m(n).panelAlert?t.$t(`Security.ServerSafe.configured`):t.$t(`Public.Status.NotConfigured`)),3),a(O,{type:`primary`,size:`small`,onClick:i[5]||(i[5]=e=>m(Au)(o,`8`))},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.configureAlert`)),1)]),_:1})]),_:1},8,[`title`,`title-tips`,`tips`,`class`]),a(Ku,{id:`8`,title:t.$t(`Security.ServerSafe.panelGoogleAuthenticatorLogin`),"title-tips":t.$t(`Security.ServerSafe.recommendedGoogleAuthenticatorLogin`),tips:t.$t(`Security.ServerSafe.googleAuthenticatorDesc`),class:y({"flash-border":e.target===8})},{default:T(()=>[a(M,{value:m(n).panelOtp,"onUpdate:value":g},null,8,[`value`])]),_:1},8,[`title`,`title-tips`,`tips`,`class`]),a(Ku,{id:`9`,title:t.$t(`Security.ServerSafe.notLoggedInStatusCode`),"title-tips":t.$t(`Security.ServerSafe.recommendedStatusCode404`),tips:t.$t(`Security.ServerSafe.notLoggedInStatusCodeDesc`),class:y({"flash-border":e.target===9})},{default:T(()=>[a(N,{"consistent-menu-width":!1,value:m(n).noLoginCode,"onUpdate:value":i[6]||(i[6]=e=>m(n).noLoginCode=e),options:m(Iu),class:`w-200px`,size:`small`},null,8,[`value`,`options`]),a(O,{type:`primary`,size:`small`,onClick:v},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.apply`)),1)]),_:1})]),_:1},8,[`title`,`title-tips`,`tips`,`class`]),a(Ku,{id:`10`,title:t.$t(`Security.ServerSafe.panelSsl`),"title-tips":t.$t(`Security.ServerSafe.recommendedPanelHttps`),tips:t.$t(`Security.ServerSafe.panelHttpsDesc`),class:y({"flash-border":e.target===10})},{default:T(()=>[a(M,{value:m(n).panelSsl,"onUpdate:value":m(Nu)},null,8,[`value`,`onUpdate:value`])]),_:1},8,[`title`,`title-tips`,`tips`,`class`]),a(Ku,{id:`5`,title:t.$t(`Security.ServerSafe.rootPasswordLoginSettings`),"title-tips":t.$t(`Security.ServerSafe.recommendedOnlyKeyLogin`),class:y({"flash-border":e.target===5})},{content:T(()=>[C(`div`,Zu,D(t.$t(`Security.ServerSafe.recommendedOnlyAllowKeyLogin`)),1),a(ee,{value:m(n).rootLoginType,"onUpdate:value":i[7]||(i[7]=e=>m(n).rootLoginType=e)},{default:T(()=>[a(P,{value:`without-password`},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.onlyKeyLogin`)),1)]),_:1}),a(P,{value:`forced-commands-only`},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.onlyCommandExecution`)),1)]),_:1}),a(P,{value:`yes`},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.passwordAndKeyLogin`)),1)]),_:1}),a(P,{value:`no`},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.prohibitedLogin`)),1)]),_:1})]),_:1},8,[`value`])]),default:T(()=>[a(O,{type:`primary`,size:`small`,onClick:b},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.apply`)),1)]),_:1})]),_:1},8,[`title`,`title-tips`,`class`]),m(n).rootLoginType===`without-password`||m(n).rootLoginType===`yes`?(u(),z(Ku,{key:0,title:t.$t(`Security.ServerSafe.rootKeySettings`),tips:t.$t(`Security.ServerSafe.rootKeyDesc`)},{default:T(()=>[a(O,{type:`primary`,size:`small`,onClick:m(Pu)},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.viewKey`)),1)]),_:1},8,[`onClick`]),a(O,{size:`small`,onClick:m(Bu)},{default:T(()=>[s(D(t.$t(`Security.ServerSafe.downloadKey`)),1)]),_:1},8,[`onClick`])]),_:1},8,[`title`,`tips`])):_(``,!0)])}}}),$u=e({default:()=>ed}),ed=Qu;F();var td=[`textContent`],nd=M({__name:`ssh-protection-config`,setup(e,{expose:t}){let{t:n}=V(),r=w(null),i=L({maxRetry:5,period:300,prohibitionTime:86400}),o={maxRetry:{required:!0,message:n(`Security.ServerSafe.required`),type:`number`,trigger:[`blur`,`input`]},period:{required:!0,message:n(`Security.ServerSafe.required`),type:`number`,trigger:[`blur`,`input`]},prohibitionTime:{required:!0,message:n(`Security.ServerSafe.required`),type:`number`,trigger:[`blur`,`input`]}},c=async()=>{var e;await((e=r.value)==null?void 0:e.validate()),await xu({maxretry:i.maxRetry,findtime:i.period,bantime:i.prohibitionTime})},{loading:l,setLoading:d}=ot();return(async()=>{try{d(!0);let{message:e}=await Su();X(e)&&(i.maxRetry=e.maxretry,i.period=e.findtime,i.prohibitionTime=e.bantime)}finally{d(!1)}})(),t({onConfirm:c}),(e,t)=>{let n=de,c=ke,d=Ve,f=he,p=en,h=Rt,g=ze;return u(),z(g,{show:m(l),class:`p-16px`},{default:T(()=>[a(p,{ref_key:`formRef`,ref:r,model:m(i),rules:o},{default:T(()=>[a(f,{label:e.$t(`Security.ServerSafe.maximumRetryTimes`),path:`maxRetry`},{default:T(()=>[a(d,{class:`w-200px`},{default:T(()=>[a(n,{value:m(i).maxRetry,"onUpdate:value":t[0]||(t[0]=e=>m(i).maxRetry=e),"show-button":!1},null,8,[`value`]),a(c,null,{default:T(()=>[s(D(e.$t(`Public.Unit.Times`)),1)]),_:1})]),_:1})]),_:1},8,[`label`]),a(f,{label:e.$t(`Security.ServerSafe.period`),path:`period`},{default:T(()=>[a(d,{class:`w-200px`},{default:T(()=>[a(n,{value:m(i).period,"onUpdate:value":t[1]||(t[1]=e=>m(i).period=e),"show-button":!1},null,8,[`value`]),a(c,null,{default:T(()=>[s(D(e.$t(`Public.Unit.Seconds`)),1)]),_:1})]),_:1})]),_:1},8,[`label`]),a(f,{label:e.$t(`Security.ServerSafe.prohibitionTime`),path:`prohibitionTime`},{default:T(()=>[a(d,{class:`w-200px`},{default:T(()=>[a(n,{value:m(i).prohibitionTime,"onUpdate:value":t[2]||(t[2]=e=>m(i).prohibitionTime=e),"show-button":!1},null,8,[`value`]),a(c,null,{default:T(()=>[s(D(e.$t(`Public.Unit.Seconds`)),1)]),_:1})]),_:1})]),_:1},8,[`label`])]),_:1},8,[`model`]),a(h,null,{default:T(()=>[C(`li`,{textContent:D(e.$t(`Security.ServerSafe.sshProtectionConfigDesc`))},null,8,td)]),_:1})]),_:1},8,[`show`])}}}),rd=e({default:()=>id}),id=nd;F();var ad={class:`p-16px`},od={class:`text-2xl font-bold`},sd=M({__name:`ssh-protection-log`,setup(e,{expose:t}){let{t:n}=V(),i=L([{type:n(`Security.ServerSafe.totalBannedIp`),value:`-`},{type:n(`Security.ServerSafe.totalFailedConnection`),value:`-`},{type:n(`Security.ServerSafe.currentBannedIp`),value:`-`},{type:n(`Security.ServerSafe.currentFailedConnection`),value:`-`}]),{table:o,columns:s}=K([{title:n(`Security.ServerSafe.ip`),key:`ip`},xt({width:200,options:e=>[{label:n(`Public.Btn.Delete`),onClick:async()=>{await Cu({ip:e.ip}),c()}}]})]),c=async()=>{try{o.loading=!0;let{message:e}=await vu();X(e)&&(i[0].value=e.total_banned,i[1].value=e.total_failed,i[2].value=e.currently_banned,i[3].value=e.currently_failed,o.data=e.banned_ip_list.map(e=>({ip:e})))}finally{o.loading=!1}};return c(),t({init:c}),(e,t)=>{let n=U,c=Q,l=on;return u(),r(`div`,ad,[a(n,{class:`stat-box justify-around!`},{default:T(()=>[(u(!0),r(P,null,v(m(i),(e,t)=>(u(),z(n,{class:`flex-col! items-center`,key:t},{default:T(()=>[C(`span`,null,D(e.type),1),C(`span`,od,D(e.value),1)]),_:2},1024))),128))]),_:1}),a(l,null,{table:T(()=>[a(c,{loading:m(o).loading,data:m(o).data,columns:m(s),"loading-num":3,"max-height":200},null,8,[`loading`,`data`,`columns`])]),_:1})])}}}),cd=e({default:()=>ld}),ld=Z(sd,[[`__scopeId`,`data-v-c8abb7a4`]]);F();var ud={class:`text-primary font-bold text-3xl`},dd={class:`text-error font-bold text-3xl`},fd={key:1,class:`w-full h-full bg-[var(--security-server-safe-progress)]`},pd={class:`text-primary`},md={class:`text-error`},hd=Z(M({__name:`ssh-login`,setup(e){let{t}=V(),n=le(),i=L({success:0,error:0,today_success:0,today_error:0,yesterday_success:0,yesterday_error:0,seven_success:0,seven_error:0}),o=B(()=>[{label:t(`Public.Search.Today`),success:i.today_success,error:i.today_error},{label:t(`Public.Search.Yesterday`),success:i.yesterday_success,error:i.yesterday_error},{label:`7 ${t(`Security.ServerSafe.days`)}`,success:i.seven_success,error:i.seven_error}]),s=(e,t)=>t===0?`0%`:`${e/t*100}%`,c=()=>{n.push({path:`/security/ssh`,query:{menu:`logs`}})};return(async()=>{let{message:e}=await Br();X(e)&&(i.success=e.success,i.today_success=e.today_success,i.error=e.error,i.today_error=e.today_error,i.yesterday_success=e.yesterday_success,i.yesterday_error=e.yesterday_error,i.seven_success=e.sevenday_success,i.seven_error=e.sevenday_error)})(),(e,t)=>{let n=U,l=G;return u(),z(l,{class:`p-16px`,bordered:!1},{default:T(()=>[a(n,{class:`items-center`,size:32},{default:T(()=>[a(n,null,{default:T(()=>[a(n,{class:`stat-box primary p-16px items-center flex-col! rounded-8px min-w-160px`,onClick:c},{default:T(()=>[C(`span`,ud,D(m(i).success),1),C(`span`,null,D(e.$t(`Security.ServerSafe.sshLoginSuccessful`)),1)]),_:1}),a(n,{class:`stat-box error p-16px items-center flex-col! rounded-8px min-w-160px`,onClick:c},{default:T(()=>[C(`span`,dd,D(m(i).error),1),C(`span`,null,D(e.$t(`Security.ServerSafe.sshLoginFailed`)),1)]),_:1})]),_:1}),a(n,{class:`flex-1 flex-col!`,size:12},{default:T(()=>[(u(!0),r(P,null,v(m(o),(e,t)=>(u(),z(n,{key:t,class:`items-center flex-nowrap!`},{default:T(()=>[C(`div`,{class:y([`text-14px min-w-80px`,{"text-2xl font-bold":!t}])},D(e.label),3),a(n,{size:0,class:`flex-1 rounded-8px overflow-hidden`,style:x({height:t?`8px`:`12px`})},{default:T(()=>[e.success+e.error>0?(u(),r(P,{key:0},[C(`div`,{class:`h-full bg-primary`,style:x({width:s(e.success,e.success+e.error)})},null,4),C(`div`,{class:`h-full bg-error`,style:x({width:s(e.error,e.success+e.error)})},null,4)],64)):(u(),r(`div`,fd))]),_:2},1032,[`style`]),a(n,null,{default:T(()=>[C(`span`,pd,D(e.success),1),C(`span`,md,D(e.error),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-cb66e22c`]]);F();var gd={class:`text-2xl font-bold`},_d={class:`font-bold text-3xl`},vd={class:`text-2xl font-bold`},yd=[`textContent`],bd=Z(M({__name:`ssh-protection`,setup(e){let t=Tu(),{sshBruteForce:n,safeConfig:i,protectionInfo:o}=H(t),c=async()=>{pt(`fail2ban`,()=>{t.getBruteForceInfo()})},l=async e=>{await xu({act:e}),await t.getBruteForceInfo(),t.getSafeConfig()};return(e,t)=>{let d=je,f=W,p=U,h=ut,g=G;return u(),z(g,{class:`p-16px`},{default:T(()=>[m(n).install?(u(),r(P,{key:0},[a(p,{class:`justify-between!`},{default:T(()=>[a(p,{class:`items-center`},{default:T(()=>[C(`span`,gd,D(e.$t(`Security.ServerSafe.sshProtection`)),1),a(d,{value:m(i).sshProtection,"onUpdate:value":l},null,8,[`value`]),a(f,{type:`primary`,size:`small`,onClick:m(Du)},{default:T(()=>[s(D(e.$t(`Public.Btn.Config`)),1)]),_:1},8,[`onClick`])]),_:1}),a(f,{type:`primary`,text:``,onClick:m(Ou)},{default:T(()=>[s(D(e.$t(`Public.Btn.Details`)),1)]),_:1},8,[`onClick`])]),_:1}),a(p,{class:`flex-nowrap!`},{default:T(()=>[(u(!0),r(P,null,v(m(o),(e,t)=>(u(),z(p,{class:`stat-box flex-col!`,key:t},{default:T(()=>[C(`span`,_d,D(e.value),1),C(`span`,null,D(e.label),1)]),_:2},1024))),128))]),_:1})],64)):(u(),z(p,{key:1,class:`justify-between! items-center h-full`},{default:T(()=>[a(p,{class:`items-center`},{default:T(()=>[a(h,{name:`base-info`,size:36,color:`#f2711c`}),a(p,{class:`flex-col!`},{default:T(()=>[C(`span`,vd,D(e.$t(`Security.ServerSafe.sshProtectionNotInstalled`)),1),C(`span`,{textContent:D(e.$t(`Security.ServerSafe.sshProtectionInstallDesc`))},null,8,yd)]),_:1})]),_:1}),a(f,{type:`primary`,onClick:c},{default:T(()=>[s(D(e.$t(`Public.Btn.Install`)),1)]),_:1})]),_:1}))]),_:1})}}}),[[`__scopeId`,`data-v-9aa2d4ca`]]);F();var xd={class:`text-2xl font-bold`},Sd={class:`flex justify-between w-full`},Cd={class:`font-bold`},wd={class:`flex justify-between w-full`},Td={class:`font-bold`},Ed=Z(M({__name:`ssh-login-table`,setup(e){let{panelLogin:t,sshLogin:n}=H(Tu()),r=B(()=>{var e;let n=((e=t.value)==null?void 0:e[0])||{};return{remote_addr:n.remote_addr||`-`,remote_port:n.remote_port||0,login_time:n.login_time||0,login_type:n.login_type||0}}),i=B(()=>{var e;let t=((e=n.value)==null?void 0:e[0])||{};return{address:t.address||`-`,status:t.status||0,time:t.time||0,port:t.port||0}});return(e,t)=>{let n=U,o=G;return u(),z(o,{class:`p-16px`},{default:T(()=>[C(`span`,xd,D(e.$t(`Security.ServerSafe.lastLoginInformation`)),1),a(n,{class:`mt-16px`,size:16},{default:T(()=>[a(n,{size:16,class:`stat-box`},{default:T(()=>[C(`div`,Sd,[C(`span`,Cd,D(e.$t(`Security.ServerSafe.sshLogin`)),1),C(`span`,{class:y(m(i).status?`text-primary`:`text-error`)},D(m(i).status?e.$t(`Security.ServerSafe.success`):e.$t(`Security.ServerSafe.failure`)),3)]),a(n,{class:`flex-col!`},{default:T(()=>[C(`span`,null,`IP: `+D(m(i).address),1),C(`span`,null,D(e.$t(`Security.ServerSafe.time`))+`: `+D(m(bt)(m(i).time)||`-`),1),C(`span`,null,D(e.$t(`Security.ServerSafe.port`))+`: `+D(m(i).port),1)]),_:1})]),_:1}),a(n,{size:12,class:`stat-box`},{default:T(()=>[C(`div`,wd,[C(`span`,Td,D(e.$t(`Security.ServerSafe.panelLogin`)),1),C(`span`,{class:y(m(r).login_type?`text-primary`:`text-error`)},D(m(r).login_type?e.$t(`Security.ServerSafe.success`):e.$t(`Security.ServerSafe.failure`)),3)]),a(n,{class:`flex-col!`},{default:T(()=>[C(`span`,null,`IP: `+D(m(r).remote_addr),1),C(`span`,null,D(e.$t(`Security.ServerSafe.time`))+`: `+D(m(bt)(m(r).login_time)||`-`),1),C(`span`,null,D(e.$t(`Security.ServerSafe.port`))+`: `+D(m(r).remote_port),1)]),_:1})]),_:1})]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-b64bbaa6`]]);F();var Dd=M({__name:`index`,setup(e){return(e,t)=>{let n=U;return u(),z(n,{class:`flex-nowrap!`},{default:T(()=>[a(n,{class:`flex-1`},{default:T(()=>[a(hd),a(bd)]),_:1}),a(Ed,{class:`flex-1`})]),_:1})}}});F();var Od={class:`flex justify-between items-center mb-16px`},kd={class:`text-2xl font-bold`},Ad={class:`w-full`},jd={class:`w-full`},Md=M({__name:`index`,setup(e){let{info:t,safeItems:n}=H(Tu());return(e,i)=>{let o=U,c=W,l=Oe,d=ye,f=ut,p=pe,h=ve,g=G;return u(),z(g,{class:`p-16px`},{default:T(()=>[C(`div`,Od,[a(o,{class:`items-center!`},{default:T(()=>[C(`span`,kd,[s(D(e.$t(`Security.ServerSafe.safetyRating`))+`: `,1),C(`text`,{class:y(m(Ru)(m(t).score))},D(m(t).score)+` / `+D(m(t).total_score),3)]),C(`span`,null,D(m(t).score_text),1)]),_:1}),a(c,{type:`primary`,size:`small`,onClick:i[0]||(i[0]=e=>m(ku)())},{default:T(()=>[i[1]||(i[1]=C(`i`,{class:`i-material-symbols:settings-outline text-16px mr-3px`},null,-1)),C(`span`,null,D(e.$t(`Security.ServerSafe.securityConfiguration`)),1)]),_:1})]),a(h,{cols:`1 s:2 m:3 l:3 xl:5`,responsive:`screen`,"x-gap":12,"y-gap":12},{default:T(()=>[m(t).loading?(u(),r(P,{key:0},v(10,e=>a(d,{key:e},{default:T(()=>[a(l,{height:`100px`,sharp:!1})]),_:1})),64)):(u(!0),r(P,{key:1},v(m(n),(e,t)=>(u(),z(d,{key:t},{default:T(()=>[a(p,{class:`cursor-pointer p-10px min-h-100px`,title:e.name,type:e.status?`success`:`error`,onClick:t=>m(ku)(e.id),"show-icon":!1},{default:T(()=>[e.status?(u(),z(o,{key:0,class:`flex-nowrap!`,size:4},{default:T(()=>[a(f,{name:`base-success`,size:`17`,color:`#20a53a`}),C(`span`,Ad,D(e.desc),1)]),_:2},1024)):(u(),z(o,{key:1,class:`flex-nowrap!`,size:4},{default:T(()=>[a(f,{name:`base-error`,size:`17`,color:`#E85445`}),C(`span`,jd,D(e.desc),1)]),_:2},1024))]),_:2},1032,[`title`,`type`,`onClick`])]),_:2},1024))),128))]),_:1})]),_:1})}}});F();var Nd={class:`text-2xl font-bold`},Pd=M({__name:`login-ssh`,setup(e){let{t}=V(),n=le(),r=Tu(),{sshLogin:i}=H(r),{columns:o}=K([{title:t(`Security.ServerSafe.ip`),key:`address`,render:e=>a(`a`,{class:`bt-link`,href:`javascript:;`,onClick:()=>{d(e)}},[e.address])},{title:t(`Security.ServerSafe.loginTime`),key:`time`},{title:t(`Security.ServerSafe.port`),key:`port`},{title:t(`Public.Table.Status`),key:`status`,render:e=>a(`span`,{class:e.status===1?`text-primary`:`text-error`},[s(` `),e.status===1?t(`Security.ServerSafe.success`):t(`Security.ServerSafe.failure`),s(` `)])},{title:t(`Public.Table.Username`),key:`user`}]),c=B(()=>i.value),l=()=>{n.push({path:`/security/ssh`,query:{menu:`logs`}})},d=e=>{J({title:t(`Public.Confirm.Title`),content:e.deny_status?t(`Security.ServerSafe.unblockIpConfirm`):t(`Security.ServerSafe.blockIpConfirm`),onConfirm:async()=>{if(e.deny_status){let{message:t}=await xr({address:e.address});Mt(t)&&t.length>0&&q.success(t[0].msg)}else{let{message:n}=await Jn({address:e.address,types:`drop`,brief:t(`Security.ServerSafe.manualBlockBrief`),domain:``,choose:`address`});Mt(n)&&n.length>0&&q.success(n[0].msg)}r.getSshLogin()}})};return(e,t)=>{let n=W,r=U,i=Q,d=G;return u(),z(d,{class:`p-16px`},{default:T(()=>[a(r,{class:`mb-10px justify-between!`},{default:T(()=>[C(`span`,Nd,`SSH `+D(e.$t(`Security.ServerSafe.lastFiveLoginRecords`)),1),a(n,{type:`primary`,text:``,onClick:l},{default:T(()=>[s(D(e.$t(`Security.ServerSafe.viewMore`)),1)]),_:1})]),_:1}),a(i,{data:m(c),columns:m(o)},null,8,[`data`,`columns`])]),_:1})}}});F();var Fd={class:`text-2xl font-bold`},Id=M({__name:`login-aapanel`,setup(e){let{t}=V(),{panelLogin:n}=H(Tu()),{columns:r}=K([{title:t(`Security.ServerSafe.ip`),key:`remote_addr`},{title:t(`Security.ServerSafe.loginTime`),key:`login_time`,render:e=>a(`span`,null,[bt(e.login_time)])},{title:t(`Security.ServerSafe.port`),key:`remote_port`},{title:t(`Public.Table.Status`),key:`login_type`,render:e=>a(`span`,{class:e.login_type===1?`text-primary`:`text-error`},[e.login_type===1?t(`Security.ServerSafe.success`):t(`Security.ServerSafe.failure`)])},{title:t(`Security.ServerSafe.browser`),key:`user_agent`,render:e=>a(`span`,null,[Lu(e.user_agent)])}]),i=B(()=>n.value);return(e,t)=>{let n=U,o=Q,s=G;return u(),z(s,{class:`p-16px`},{default:T(()=>[a(n,{class:`mb-10px`},{default:T(()=>[C(`span`,Fd,`aaPanel `+D(e.$t(`Security.ServerSafe.lastFiveLoginRecords`)),1)]),_:1}),a(o,{data:m(i),columns:m(r)},null,8,[`data`,`columns`])]),_:1})}}});F();var Ld=M({__name:`index`,setup(e){return(e,t)=>{let n=U;return u(),z(n,{class:`flex-nowrap!`},{default:T(()=>[a(Pd),a(Id)]),_:1})}}});F();var Rd=M({__name:`index`,setup(e){let t=Tu();return t.getSafeConfig(),t.getPanelLogin(),t.getSshLogin(),t.getBruteForceInfo(),(e,t)=>{let n=U;return u(),z(n,{class:`flex-col!`},{default:T(()=>[a(Dd),a(Md),a(Ld)]),_:1})}}}),zd=e({default:()=>Bd}),Bd=Rd,Vd=()=>Y.post(`/project/webbasicscanning/get_scan_result`),Hd=e=>Y.post(`/safe/syslog/create_ip_rules`,{data:JSON.stringify(e)},{requestOptions:{loading:We.global.t(`Component.Pay.index_12`),successMessage:!1}}),Ud=e=>Y.post(`/safe/syslog/remove_ip_rules`,{data:JSON.stringify(e)},{requestOptions:{loading:We.global.t(`Component.Pay.index_12`),successMessage:!1}});F();var Wd=ce(`site-security-store`,()=>{let e=w(!1),t=w(``),n=w({score:0,risk_count:{warning:0,low:0,middle:0,high:0}}),r=w([]),i=w(0),a=w({xss:0,sql_injection:0,file_traversal:0,php_execution:0,sensitive_files:0}),o=w({}),s=w({}),c=async()=>{let{message:c}=await Vd();if(X(c)){if(ae(c)){e.value=!0;return}e.value=!1,t.value=c.scan_time,n.value={score:c.score,risk_count:c.risk_count},r.value=c.ip_top,i.value=c.duration,a.value=c.total_attack,o.value=c.details,Object.keys(c.details).forEach(e=>{s.value[e]=!1})}else e.value=!0},l=w({status:`init`,msg:``,bar:0,type:``});return{isNone:e,scanInfo:l,scanTime:t,isScanning:B(()=>l.value.status===`scanning`),scoreInfo:n,ipTop:r,duration:i,totalAttack:a,details:o,detailsLoading:s,getResult:c,startScan:()=>{e.value=!1,l.value.status=`scanning`,l.value.msg=``,l.value.bar=0,l.value.type=``,Object.keys(s.value).forEach(e=>{s.value[e]=!0}),Object.keys(o.value).forEach(e=>{o.value[e]=[]})},endScan:()=>{l.value.status=`init`,l.value.msg=``,l.value.bar=0,l.value.type=``,Object.keys(s.value).forEach(e=>{s.value[e]=!1})},setScanInfo:(e,t)=>{l.value.msg=e,l.value.bar=t},setScanType:e=>{l.value.type=e,s.value[e]=!1},setScanResult:(e,t)=>{o.value[e].push(...t)}}}),Gd=()=>{let e=Wd();return{store:e,...H(e)}};F();var Kd={class:`site-security-info`},qd={class:`my-24px`},Jd={class:`flex items-center justify-evenly py-20px`},Yd={class:`min-w-0`},Xd={class:`feature-title`},Zd={class:`feature-desc`},Qd={class:`my-24px`},$d={class:`overview-title`},ef=Z(M({__name:`info`,setup(e){let{t}=V(),n=B(()=>[{key:`scan`,icon:`i-security:feature-tips`,title:t(`Security.SiteSecurity.Info.features.scan.title`),desc:t(`Security.SiteSecurity.Info.features.scan.desc`)},{key:`trojan`,icon:`i-security:feature-trojan`,title:t(`Security.SiteSecurity.Info.features.trojan.title`),desc:t(`Security.SiteSecurity.Info.features.trojan.desc`)},{key:`log`,icon:`i-security:feature-record`,title:t(`Security.SiteSecurity.Info.features.log.title`),desc:t(`Security.SiteSecurity.Info.features.log.desc`)}]);return(e,t)=>{let i=fe;return u(),r(`div`,Kd,[C(`div`,qd,[a(i)]),C(`div`,Jd,[(u(!0),r(P,null,v(m(n),e=>(u(),r(`div`,{key:e.key,class:`feature-item`},[C(`i`,{class:y([`feature-icon`,e.icon])},null,2),C(`div`,Yd,[C(`div`,Xd,D(e.title),1),C(`div`,Zd,D(e.desc),1)])]))),128))]),C(`div`,Qd,[a(i)]),C(`div`,$d,[t[0]||(t[0]=C(`i`,{class:`overview-icon i-security:overview`},null,-1)),C(`span`,null,D(e.$t(`Security.SiteSecurity.Info.overviewTitle`)),1)]),t[1]||(t[1]=C(`div`,{class:`flex justify-center mt-24px`},[C(`img`,{class:`w-900px`,src:`/static/vite/images/site-security-bg.png`})],-1))])}}}),[[`__scopeId`,`data-v-c0fae8cc`]]);F();var tf={key:0,class:`flex flex-col justify-center items-center w-full h-50px`},nf={class:`flex items-center justify-between w-full`},rf={class:`flex gap-20px items-center text-14px font-bold`},af={class:`text-default`},of={class:`right`},sf={class:`w-full mt-12px`},cf={class:`flex items-center gap-20px justify-between`},lf={class:`text-20px font-bold leading-36px`},uf={class:`mt-14px text-14px text-default leading-20px`},df=Z(M({__name:`index`,setup(e){let{store:t,isNone:n,scoreInfo:i,scanInfo:o,isScanning:c,scanTime:l}=Gd(),{t:d}=V(),{trigger:f}=Ir(),{open:p,send:h,close:g}=yn(`/ws_project`,{immediate:!1,onMessage:(e,n)=>{if(fn(n.data)){let e=JSON.parse(n.data);Object.hasOwnProperty.call(e,`end`)&&(t.setScanInfo(e.info,e.bar),e.type&&t.setScanType(e.type),Mt(e.results)&&e.results.length&&t.setScanResult(e.type,e.results),e.end&&(g(),t.endScan(),v()))}}}),v=async()=>{if(await t.getResult(),n.value){q.error(d(`Security.SiteSecurity.Header.noPhpSite`),{close:!0});return}i.value.score>=90&&f()},y=()=>{g(),t.endScan(),n.value=!0},b=()=>{t.startScan(),p(),h({model_index:`safe`,mod_name:`webbasicscanning`,def_name:`ScanAllSite`,ws_callback:`123`})};return(e,t)=>{let i=W,d=Se,f=G;return u(),z(f,{class:`p-16px`},{default:T(()=>[m(n)?(u(),r(P,{key:1},[N(C(`div`,cf,[C(`div`,null,[C(`div`,lf,D(e.$t(`Security.SiteSecurity.Header.title`)),1),C(`div`,uf,D(e.$t(`Security.SiteSecurity.Header.desc`)),1)]),a(i,{type:`primary`,onClick:b},{default:T(()=>[s(D(e.$t(`Security.SiteSecurity.Header.scanNow`)),1)]),_:1})],512),[[I,m(n)]]),a(ef)],64)):(u(),r(`div`,tf,[C(`div`,nf,[C(`div`,rf,[C(`div`,null,D(m(c)?e.$t(`Security.SiteSecurity.Header.scanning`):e.$t(`Security.SiteSecurity.Header.lastScanTime`)),1),C(`span`,af,D(m(c)?m(o).msg:m(l)||`--`),1)]),C(`div`,of,[m(c)?(u(),z(i,{key:0,type:`warning`,ghost:``,onClick:y},{default:T(()=>[s(D(e.$t(`Security.SiteSecurity.Header.cancelScan`)),1)]),_:1})):_(``,!0),m(c)?_(``,!0):(u(),z(i,{key:1,type:`primary`,onClick:b},{default:T(()=>[s(D(e.$t(`Security.SiteSecurity.Header.scanNow`)),1)]),_:1}))])]),N(C(`div`,sf,[a(d,{status:`success`,processing:``,percentage:m(o).bar,"show-indicator":!1},null,8,[`percentage`])],512),[[I,m(c)]])]))]),_:1})}}}),[[`__scopeId`,`data-v-f4d037ce`]]);F();var ff={class:`mb-10px text-16px font-700`},pf=M({__name:`score`,setup(e){let{t}=V(),{scanInfo:n,scoreInfo:r}=Gd(),i=Fe(),o=te(`--color-text-1`),s=te(`--color-text-3`),c=[{value:0,key:`high`,name:t(`Security.SiteSecurity.RiskLevel.high`),color:i.value.errorColor},{value:0,key:`middle`,name:t(`Security.SiteSecurity.RiskLevel.middle`),color:`#ffb84d`},{value:0,key:`low`,name:t(`Security.SiteSecurity.RiskLevel.low`),color:`#F7E459`},{value:0,key:`none`,name:``,color:i.value.primaryColor}],l=oe({tooltip:{show:!1},legend:p(),series:f(),graphic:d(r.value.score)});function d(e,n){return[{type:`group`,left:`center`,top:`40%`,children:[{type:`text`,left:`center`,style:{text:`${e}`,fontSize:44,fontWeight:700,fill:o.value}},{type:`text`,left:`center`,top:58,style:{text:n||t(`Security.SiteSecurity.Summary.scoreLabel`),fontSize:12,fill:s.value}}]}]}function f(){let e=c.filter(e=>e.value>0);return[{type:`pie`,radius:[`110%`,`124%`],center:[`50%`,`70%`],startAngle:180,endAngle:0,clockwise:!0,avoidLabelOverlap:!0,label:{show:!1},labelLine:{show:!1},legendHoverLink:!1,padAngle:e.length>1?2:0,itemStyle:{borderRadius:999},data:[...e.map(e=>({value:e.value,name:e.name,itemStyle:{color:e.color}}))]}]}function p(){let e=new Map,t={};return c.forEach((n,r)=>{if(n.key===`none`)return;let i=`k${r}`;e.set(n.name,i),t[i]={color:n.color,fontWeight:500}}),{bottom:0,left:`center`,itemWidth:12,itemHeight:12,icon:`rect`,selectedMode:!1,data:c.filter(e=>e.value>0).map(e=>e.name),formatter:t=>{var n,r;let i=c.find(e=>e.name===t),a=(n=e.get(t))==null?``:n,o=`${t}: ${(r=i==null?void 0:i.value)==null?0:r}`;return a?`{${a}|${o}}`:o},textStyle:{fontSize:14,rich:t}}}let h=e=>{c.forEach(t=>{var n;t.value=(n=e[t.key])==null?0:n});let t=c.filter(e=>e.key!==`none`).reduce((e,t)=>e+t.value,0),n=c.find(e=>e.key===`none`);t===0?n.value=1:n.value=0},g=e=>{h(e.risk_count),l.legend=p(),l.series=f(),l.graphic=d(e.score)},_=()=>{h({}),l.legend=p(),l.series=f(),l.graphic=d(`...`,t(`Security.SiteSecurity.Header.scanning`))};return ie(()=>{n.value.status===`scanning`?_():g(r.value)}),(e,t)=>{let n=G;return u(),z(n,{class:`p-24px h-full`},{default:T(()=>[C(`div`,ff,D(e.$t(`Security.SiteSecurity.Summary.scoreTitle`)),1),a(tn,{type:`pie`,height:`220px`,option:m(l)},null,8,[`option`])]),_:1})}}});F();var mf={class:`mb-10px text-16px font-700`},hf=M({__name:`top`,setup(e){let{store:t,isScanning:n,ipTop:r}=Gd(),{t:i}=V(),o=w([{key:`ip`,title:i(`Security.SiteSecurity.Top.columns.ip`),render:e=>a(W,{text:!0,type:e.deny_status===1?`default`:`primary`,class:e.deny_status===1?`text-font3 line-through`:``,onClick:()=>{e.deny_status===1?c(e.ip):s(e.ip)}},{default:()=>[e.ip]})},{key:`count`,title:i(`Security.SiteSecurity.Top.columns.count`)}]),s=e=>{J({title:i(`Security.SiteSecurity.Top.banTitle`,[e]),content:i(`Security.SiteSecurity.Top.banContent`),onConfirm:async()=>{let{message:n}=await Hd({address:e,types:`drop`,domain:``,choose:`address`,brief:i(`Security.SiteSecurity.Top.banBrief`)});Mt(n)&&n.length>0&&(n[0].status?(q.success(n[0].msg),t.getResult()):q.error(n[0].msg))}})},c=e=>{J({title:i(`Security.SiteSecurity.Top.unbanTitle`,[e]),content:i(`Security.SiteSecurity.Top.unbanContent`),onConfirm:async()=>{let{message:n}=await Ud({address:e});Mt(n)&&n.length>0&&q.success(n[0].msg),t.getResult()}})};return(e,t)=>{let i=Q,s=G;return u(),z(s,{class:`p-24px h-300px`},{default:T(()=>[C(`div`,mf,D(e.$t(`Security.SiteSecurity.Top.title`)),1),a(i,{"max-height":176,loading:m(n),data:m(r),columns:m(o)},null,8,[`loading`,`data`,`columns`])]),_:1})}}});F();var gf=M({__name:`index`,setup(e){return(e,t)=>{let n=ye,r=ve;return u(),z(r,{"x-gap":10,cols:3},{default:T(()=>[a(n,{span:1},{default:T(()=>[a(pf)]),_:1}),a(n,{span:2},{default:T(()=>[a(hf)]),_:1})]),_:1})}}});F();var _f={class:`metric-label`},vf={class:`metric-value`},yf={class:`metric-unit`},bf={class:`metric-desc`},xf={class:`metric-icon`},Sf=Z({__name:`item`,props:{label:{type:String},value:{type:[String,Number]},desc:{type:String},unit:{type:String},icon:{type:String}},setup(e){let{isScanning:t}=Gd();return(n,i)=>{let a=G;return u(),z(a,{class:`metric-item`},{default:T(()=>[C(`div`,_f,D(e.label),1),C(`div`,vf,[m(t)?(u(),r(P,{key:0},[s(D(n.$t(`Security.SiteSecurity.Header.scanning`))+`...`,1)],64)):(u(),r(P,{key:1},[s(D(e.value)+` `,1),C(`span`,yf,D(e.unit),1)],64))]),C(`div`,bf,D(e.desc),1),C(`div`,xf,[C(`i`,{class:y(e.icon)},null,2)])]),_:1})}}},[[`__scopeId`,`data-v-350d3d46`]]);F();var Cf=M({__name:`index`,setup(e){let{duration:t,totalAttack:n}=Gd(),{t:i}=V(),o=B(()=>[{key:`duration`,label:i(`Security.SiteSecurity.Metric.duration`),value:t.value,unit:i(`Security.SiteSecurity.Metric.seconds`),icon:`i-security:time`,desc:i(`Security.SiteSecurity.Metric.durationDesc`)},{key:`xss`,label:`XSS`,value:n.value.xss,icon:`i-security:xss`,desc:i(`Security.SiteSecurity.Metric.xssDesc`)},{key:`sql`,label:`SQL`,value:n.value.sql_injection,icon:`i-security:sql`,desc:i(`Security.SiteSecurity.Metric.sqlDesc`)},{key:`scan`,label:i(`Security.SiteSecurity.Metric.maliciousScan`),value:n.value.file_traversal,icon:`i-security:malicious-scan`,desc:i(`Security.SiteSecurity.Metric.maliciousScanDesc`)},{key:`php`,label:i(`Security.SiteSecurity.Metric.phpAttack`),value:n.value.php_execution,icon:`i-security:php`,desc:i(`Security.SiteSecurity.Metric.phpAttackDesc`)}]);return(e,t)=>{let n=ye,i=ve;return u(),z(i,{cols:m(o).length,"x-gap":10},{default:T(()=>[(u(!0),r(P,null,v(m(o),e=>(u(),z(n,{key:e.key},{default:T(()=>[a(Sf,g({ref_for:!0},e),null,16)]),_:2},1024))),128))]),_:1},8,[`cols`])}}});F();var wf={class:`risk-list`},Tf={class:`risk-card__header`},Ef={class:`risk-card__body`},Df={class:`risk-row`},Of={class:`risk-row__label`},kf={class:`risk-row__value`},Af={class:`risk-row`},jf={class:`risk-row__label`},Mf={class:`risk-row__value`},Nf={key:1,class:`risk-empty`},Pf=Z(M({__name:`risk`,props:{data:{type:Array,default:()=>[]}},setup(e){let{t}=V(),n={0:{textKey:`Security.SiteSecurity.RiskLevel.warning`,color:`#fc6d26`},1:{textKey:`Security.SiteSecurity.RiskLevel.low`,color:`#d4bb00`},2:{textKey:`Security.SiteSecurity.RiskLevel.middle`,color:`#E97B00`},3:{textKey:`Security.SiteSecurity.RiskLevel.high`,color:`#CC1515`}},i=e=>({color:yt(n[e].color,.1),textColor:n[e].color}),o=e=>t(n[e].textKey);return(t,n)=>{let c=Be,l=Ee,d=G,f=me;return u(),r(`div`,wf,[e.data.length>0?(u(!0),r(P,{key:0},v(e.data,e=>(u(),z(d,{key:e.name,class:`risk-card`},{default:T(()=>[C(`div`,Tf,[a(c,{size:`small`,bordered:!1,color:i(e.dangerous)},{default:T(()=>[s(D(o(e.dangerous)),1)]),_:2},1032,[`color`]),a(l,{class:`risk-card__title`},{default:T(()=>[C(`span`,{style:x({color:i(e.dangerous).textColor})},D(e.name),5)]),_:2},1024)]),C(`div`,Ef,[C(`div`,Df,[C(`span`,Of,D(t.$t(`Security.SiteSecurity.Risk.detailLabel`)),1),C(`span`,kf,D(e.info),1)]),n[0]||(n[0]=C(`div`,{class:`risk-divider`},null,-1)),C(`div`,Af,[C(`span`,jf,D(t.$t(`Security.SiteSecurity.Risk.repairLabel`)),1),C(`span`,Mf,D(e.repair),1)])])]),_:2},1024))),128)):(u(),r(`div`,Nf,[a(f,{size:`large`})]))])}}}),[[`__scopeId`,`data-v-7a246e34`]]);F();var Ff={class:`mb-20px text-16px font-bold`},If={class:`security-collapse__header`},Lf={class:`security-collapse__left`},Rf={class:`security-collapse__title`},zf={key:0,class:`security-collapse__status text-default`},Bf={key:1,class:`security-collapse__status text-default`},Vf={class:`security-collapse__expand`},Hf=Z(M({__name:`index`,setup(e){let{scanInfo:t,details:n,detailsLoading:i}=Gd(),{t:o}=V(),s=B(()=>{let e=[{key:`webscan`,title:o(`Security.SiteSecurity.Project.items.webscan`),icon:`i-security:webscan`,riskCount:0,list:[]},{key:`fileleak`,title:o(`Security.SiteSecurity.Project.items.fileleak`),icon:`i-security:filescan`,riskCount:0,list:[]},{key:`webshell`,title:o(`Security.SiteSecurity.Project.items.webshell`),icon:`i-security:webhorse`,riskCount:0,list:[]},{key:`backup`,title:o(`Security.SiteSecurity.Project.items.backup`),icon:`i-security:backup`,riskCount:0,list:[]},{key:`weakpass`,title:o(`Security.SiteSecurity.Project.items.weakpass`),icon:`i-security:backend`,riskCount:0,list:[]},{key:`weblog`,title:o(`Security.SiteSecurity.Project.items.weblog`),icon:`i-security:ftps`,riskCount:0,list:[]}];return Object.entries(n.value).forEach(([t,n])=>{let r=e.find(e=>e.key===t);r&&(r.riskCount=n.length,r.list=n)}),e});return(e,n)=>{let o=Ie,c=Ae,l=G;return u(),z(l,{class:`p-24px`},{default:T(()=>[C(`div`,Ff,D(e.$t(`Security.SiteSecurity.Project.title`)),1),a(c,{"arrow-placement":`right`,"display-directive":`show`,class:`security-collapse`},{default:T(()=>[(u(!0),r(P,null,v(m(s),n=>(u(),z(o,{key:n.key,name:n.key},{header:T(()=>[C(`div`,If,[C(`div`,Lf,[C(`i`,{class:y([`security-collapse__icon`,n.icon])},null,2),C(`span`,Rf,D(n.title),1)]),m(i)[n.key]&&m(t).type!==n.key?(u(),r(`span`,zf,D(e.$t(`Security.SiteSecurity.Project.waiting`)),1)):!m(i)[n.key]&&m(t).type===n.key?(u(),r(`span`,Bf,D(e.$t(`Security.SiteSecurity.Header.scanning`))+`... `,1)):(u(),r(`span`,{key:2,class:y([`security-collapse__status`,n.riskCount>0?`text-error`:`text-primary`])},D(n.riskCount>0?e.$t(`Security.SiteSecurity.Project.foundRisk`,[n.riskCount]):e.$t(`Security.SiteSecurity.Project.noRisk`)),3)),C(`span`,Vf,D(e.$t(`Public.Btn.Details`)),1)])]),default:T(()=>[a(Pf,{data:n.list},null,8,[`data`])]),_:2},1032,[`name`]))),128))]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-c7baacf3`]]);F();var Uf={class:`site-security-page`},Wf=M({__name:`index`,setup(e){let{store:t,isNone:n}=Gd();return t.getResult(),(e,t)=>(u(),r(`div`,Uf,[a(df),m(n)?_(``,!0):(u(),r(P,{key:0},[a(gf),a(Cf),a(Hf)],64))]))}}),Gf=e({default:()=>Kf}),Kf=Z(Wf,[[`__scopeId`,`data-v-c37cb0c7`]]);F();var qf=M({__name:`logs`,props:{config:{}},setup(e,{expose:t}){let n=e,{t:i}=V(),o=w(``),s=w([]),{table:c,columns:l,setLoading:d}=K([{key:`log`,title:i(`Security.SSH.Basic.LoginAlarm.logs_1`)},{key:`addtime`,title:i(`Security.SSH.Basic.LoginAlarm.logs_2`),width:160}]),f=L({p:1,p_size:10}),p=async()=>{try{d(!0);let{message:e}=await Tr(R(f));X(e)&&(c.data=Mt(e.data)?e.data:[],c.total=Wt(e.page))}finally{d(!1)}},h=async()=>{let{message:e}=await Lr();X(e)&&(o.value=e.result)};return p(),h(),(async()=>{let{config:e}=n;X(e)&&(s.value=Object.entries(e).map(([,e])=>({name:e.name,title:e.title})))})(),t({init:()=>{p(),h()}}),(e,t)=>{let n=Q,i=cn,o=on,s=Rt;return u(),r(`div`,null,[a(o,null,{table:T(()=>[a(n,{"max-height":500,loading:m(c).loading,data:m(c).data,columns:m(l)},null,8,[`loading`,`data`,`columns`])]),pageRight:T(()=>[a(i,{page:m(f).p,"onUpdate:page":t[0]||(t[0]=e=>m(f).p=e),"page-size":m(f).p_size,"onUpdate:pageSize":t[1]||(t[1]=e=>m(f).p_size=e),"item-count":m(c).total,"show-size-picker":!1,"show-quick-jumper":!1,onRefresh:p},null,8,[`page`,`page-size`,`item-count`])]),_:1}),a(s,{class:`mt-16px`},{default:T(()=>[C(`li`,null,D(e.$t(`Security.SSH.Basic.LoginAlarm.logs_3`)),1)]),_:1})])}}});F();var Jf={class:`flex`},Yf={class:`w-200px mr-10px mb-12px`},Xf=M({__name:`whitelist`,setup(e,{expose:t}){let{t:n}=V(),i=w(``),o=async()=>{if(i.value.trim()===``){q.error(n(`Security.SSH.Basic.LoginAlarm.whitelist_1`));return}await Pn({ip:i.value}),i.value=``},{table:c,columns:l,setLoading:d}=K([{key:`ip`,title:n(`Security.SSH.Basic.LoginAlarm.whitelist_2`)},xt({width:100,options:e=>[{label:n(`Public.Btn.Del`),onClick:async()=>{await mn({ip:e.ip}),f()}}]})]),f=async()=>{try{d(!0);let{message:e}=await Mr();Mt(e)&&(c.data=e.map(e=>({ip:e})))}finally{d(!1)}};return f(),t({init:f}),(e,t)=>{let n=xe,d=W,f=Q;return u(),r(`div`,null,[C(`div`,Jf,[C(`div`,Yf,[a(n,{value:m(i),"onUpdate:value":t[0]||(t[0]=e=>A(i)?i.value=e:null),placeholder:e.$t(`Security.SSH.Basic.LoginAlarm.whitelist_1`)},null,8,[`value`,`placeholder`])]),a(d,{type:`primary`,onClick:o},{default:T(()=>[s(D(e.$t(`Public.Btn.Add`)),1)]),_:1})]),a(f,{loading:m(c).loading,"max-height":500,data:m(c).data,columns:m(l)},null,8,[`loading`,`data`,`columns`])])}}});F();var Zf={class:`h-full`},Qf=M({__name:`index`,props:{config:{}},emits:[`setName`],setup(e,{emit:t}){let n=e,i=t,{t:o}=V(),s=w(`login`),c=[{key:`login`,label:o(`Alarm Logs`),data:{config:n.config,onSetName:e=>{i(`setName`,e)}},component:qf},{key:`whitelist`,label:o(`Security.SSH.Basic.LoginAlarm.index_2`),component:Xf}];return(e,t)=>{let n=Zr;return u(),r(`div`,Zf,[a(n,{value:m(s),"onUpdate:value":t[0]||(t[0]=e=>A(s)?s.value=e:null),data:c},null,8,[`value`])])}}}),$f=e({default:()=>ep}),ep=Qf;F();var tp={class:`p-20px`},np={class:`w-200px`},rp={class:`w-200px`},ip=M({__name:`open`,emits:[`refresh`],setup(e,{expose:t,emit:n}){let i=n,{t:o}=V(),s=L({ssh:`yes`,type:`ed25519`}),c=[{label:o(`Security.SSH.Basic.SSHKey.open_3`),value:`yes`},{label:o(`Security.SSH.Basic.SSHKey.open_4`),value:`no`}],l=[{label:o(`Security.SSH.Basic.SSHKey.open_5`),value:`ed25519`},{label:`ECDSA`,value:`ecdsa`},{label:`RSA`,value:`rsa`},{label:`DSA`,value:`dsa`}];return t({onConfirm:async()=>{await vr(R(s)),i(`refresh`)}}),(e,t)=>{let n=Le,i=he,o=en;return u(),r(`div`,tp,[a(o,{"label-width":`150`},{default:T(()=>[a(i,{label:e.$t(`Security.SSH.Basic.SSHKey.open_1`)},{default:T(()=>[C(`div`,np,[a(n,{value:m(s).ssh,"onUpdate:value":t[0]||(t[0]=e=>m(s).ssh=e),options:c},null,8,[`value`])])]),_:1},8,[`label`]),a(i,{label:e.$t(`Security.SSH.Basic.SSHKey.open_2`),"show-feedback":!1},{default:T(()=>[C(`div`,rp,[a(n,{value:m(s).type,"onUpdate:value":t[1]||(t[1]=e=>m(s).type=e),options:l},null,8,[`value`])])]),_:1},8,[`label`])]),_:1})])}}}),ap=e({default:()=>op}),op=ip;F();var sp={class:`p-20px`},cp=M({__name:`view`,setup(e){let{t}=V(),n=w(``),i=()=>{Ot(n.value)},o=()=>{window.open(`${Ut()}/ssh_security?action=download_key`)},c=async()=>{await vr({ssh:`yes`,type:`ed25519`},!1),await f(),q.success(t(`Security.SSH.Basic.SSHKey.view_2`))},{loading:l,setLoading:d}=ot(),f=async()=>{try{d(!0);let{message:e}=await Rr();X(e)&&(n.value=e.result)}finally{d(!1)}};return f(),(e,t)=>{let d=rn,f=W,p=U;return u(),r(`div`,sp,[a(d,{value:m(n),"onUpdate:value":t[0]||(t[0]=e=>A(n)?n.value=e:null),loading:m(l),rows:10},null,8,[`value`,`loading`]),a(p,{class:`mt-16px`,size:12},{default:T(()=>[a(f,{type:`primary`,onClick:i},{default:T(()=>[s(D(e.$t(`Public.Btn.Copy`)),1)]),_:1}),a(f,{type:`primary`,onClick:o},{default:T(()=>[s(D(e.$t(`Public.Btn.Download`)),1)]),_:1}),a(f,{onClick:c},{default:T(()=>[s(D(e.$t(`Security.SSH.Basic.SSHKey.view_1`)),1)]),_:1})]),_:1})])}}}),lp=e({default:()=>up}),up=cp;F();var dp={key:0,class:`setting-panel`},fp={class:`setting-panel__header`},pp={class:`setting-panel__body`},mp={key:1,class:`setting-item`},hp={class:`setting-item__label`},gp={class:`setting-item__content`},_p=Z(M({__name:`setting-section`,props:{title:{},label:{}},setup(e){return(t,n)=>e.title?(u(),r(`div`,dp,[C(`div`,fp,D(e.title),1),C(`div`,pp,[b(t.$slots,`default`,{},void 0,!0)]),b(t.$slots,`append`,{},void 0,!0)])):(u(),r(`div`,mp,[C(`div`,hp,D(e.label),1),C(`div`,gp,[b(t.$slots,`default`,{},void 0,!0)]),b(t.$slots,`extra`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-7f3a42ad`]]);F(),Jr();var vp={class:`text-desc`},yp={class:`text-desc`},bp={class:`text-desc`},xp=M({__name:`ssh-basic-settings`,props:{sshPwd:{type:Boolean,required:!0},sshPwdModifiers:{},sshKey:{type:Boolean,required:!0},sshKeyModifiers:{},port:{required:!0},portModifiers:{}},emits:f([`refresh`],[`update:sshPwd`,`update:sshKey`,`update:port`]),setup(e,{emit:t}){let n=p(()=>$(()=>Promise.resolve().then(()=>ap),void 0)),{t:r}=V(),i=t,o=re(e,`sshPwd`),c=re(e,`sshKey`),l=re(e,`port`),d=Xe(r(`Security.SSH.Basic.index_19`),{onRefresh:()=>{i(`refresh`)}}),f=async e=>{await Vr({status:e})},h=()=>{c.value=!1},g=async e=>{e?d.show=!0:(await gr(),i(`refresh`))},_=async()=>{if(!Kn(l.value)){q.error(r(`Security.SSH.Basic.index_20`),{close:!0});return}await mr({port:l.value})};return(e,t)=>{let r=je,i=de,p=W,v=qt;return u(),z(_p,{title:e.$t(`SSH Basic Settings`)},{append:T(()=>[a(v,{show:m(d).show,"onUpdate:show":t[3]||(t[3]=e=>m(d).show=e),title:m(d).title,data:m(d).data,width:400,"min-height":124,footer:!0,component:m(n),onPublicClose:h},null,8,[`show`,`title`,`data`,`component`])]),default:T(()=>[a(_p,{label:e.$t(`Security.SSH.Basic.index_1`)},{default:T(()=>[a(r,{value:o.value,"onUpdate:value":[t[0]||(t[0]=e=>o.value=e),f]},null,8,[`value`]),C(`span`,vp,D(e.$t(`Allow SSH login with password`)),1)]),_:1},8,[`label`]),a(_p,{label:e.$t(`Security.SSH.Basic.index_2`)},{default:T(()=>[a(r,{value:c.value,"onUpdate:value":[t[1]||(t[1]=e=>c.value=e),g]},null,8,[`value`]),C(`span`,yp,D(e.$t(`Allow SSH login with key`)),1)]),_:1},8,[`label`]),a(_p,{label:e.$t(`Security.SSH.Basic.index_3`)},{default:T(()=>[a(i,{value:l.value,"onUpdate:value":t[2]||(t[2]=e=>l.value=e),min:1,max:65535,"show-button":!1},null,8,[`value`]),a(p,{type:`primary`,onClick:_},{default:T(()=>[s(D(e.$t(`Public.Btn.Save`)),1)]),_:1}),C(`span`,bp,D(e.$t(`Security.SSH.Basic.index_4`)),1)]),_:1},8,[`label`])]),_:1},8,[`title`])}}});F(),Jr();var Sp={class:`text-desc`},Cp={key:0,class:`text-desc`},wp={class:`text-desc`},Tp=M({__name:`root-settings`,props:f({loginOptions:{},sshKey:{type:Boolean}},{rootLogin:{required:!0},rootLoginModifiers:{},password:{required:!0},passwordModifiers:{}}),emits:f([`refresh`],[`update:rootLogin`,`update:password`]),setup(e,{emit:t}){let n=p(()=>$(()=>Promise.resolve().then(()=>lp),void 0)),{t:i}=V(),o=e,c=t,l=re(e,`rootLogin`),d=re(e,`password`),f=B(()=>{let e=d.value.trim();if(e===``)return{label:i(`The password change will undergo weak password detection`),message:``,type:`warning`};let t=/[a-z]/.test(e),n=/[A-Z]/.test(e),r=/\d/.test(e);return e.length<8?{label:i(`Weak Password`),message:i(`Password length must be at least {0} characters`,[8]),type:`error`}:t?n?r?{label:i(`Strong Password`),message:``,type:`success`}:{label:i(`Medium Strength`),message:i(`Password must contain at least one number`),type:`warning`}:{label:i(`Weak Password`),message:i(`Password must contain at least one uppercase letter`),type:`error`}:{label:i(`Weak Password`),message:i(`Password must contain at least one lowercase letter`),type:`error`}}),h=async e=>{await wr({p_type:e}),c(`refresh`)},g=()=>{J({title:i(`Security.SSH.Basic.index_22`),content:i(`Security.SSH.Basic.index_23`),onConfirm:async()=>{await Sr({username:`root`,password:d.value})}})},v=Xe(i(`Security.SSH.Basic.index_2`)),y=()=>{if(!o.sshKey){q.error(i(`Security.SSH.Basic.index_24`));return}v.show=!0},b=async()=>{if(!o.sshKey){q.error(i(`Security.SSH.Basic.index_25`));return}let{close:e}=q.loading(i(`Security.SSH.Basic.index_26`));try{await Rr(),window.open(`${Ut()}/ssh_security?action=download_key`)}finally{e()}};return(t,i)=>{let o=Le,c=ti,p=W,x=Be,S=U,w=qt;return u(),z(_p,{title:t.$t(`Root Settings`)},{append:T(()=>[a(w,{show:m(v).show,"onUpdate:show":i[3]||(i[3]=e=>m(v).show=e),title:m(v).title,width:400,"min-height":322,component:m(n)},null,8,[`show`,`title`,`component`])]),default:T(()=>[a(_p,{label:t.$t(`Security.SSH.Basic.index_5`)},{default:T(()=>[a(o,{value:l.value,"onUpdate:value":[i[0]||(i[0]=e=>l.value=e),h],class:`w-280px`,options:e.loginOptions},null,8,[`value`,`options`])]),_:1},8,[`label`]),a(_p,{label:t.$t(`Security.SSH.Basic.index_6`)},{extra:T(()=>[d.value.trim().length?(u(),z(S,{key:0,class:`items-center mt-10px`,size:4},{default:T(()=>[a(x,{type:m(f).type,size:`small`,bordered:!0,round:``},{default:T(()=>[s(D(m(f).label),1)]),_:1},8,[`type`]),m(f).message?(u(),r(`span`,Cp,D(m(f).message),1)):_(``,!0)]),_:1})):_(``,!0)]),default:T(()=>[a(c,{value:d.value,"onUpdate:value":i[1]||(i[1]=e=>d.value=e),default:!1,class:`w-280px`},null,8,[`value`]),d.value.trim().length?(u(),z(p,{key:0,onClick:i[2]||(i[2]=e=>m(Ot)(d.value))},{default:T(()=>[s(D(t.$t(`Public.Btn.Copy`)),1)]),_:1})):_(``,!0),a(p,{type:`primary`,disabled:d.value.trim().length<8,onClick:g},{default:T(()=>[s(D(t.$t(`Public.Btn.Reset`)),1)]),_:1},8,[`disabled`]),C(`span`,Sp,D(t.$t(`Security.SSH.Basic.index_8`)),1)]),_:1},8,[`label`]),a(_p,{label:t.$t(`Security.SSH.Basic.index_9`)},{default:T(()=>[a(p,{type:`primary`,onClick:y},{default:T(()=>[s(D(t.$t(`Security.SSH.Basic.index_10`)),1)]),_:1}),a(p,{onClick:b},{default:T(()=>[s(D(t.$t(`Public.Btn.Download`)),1)]),_:1}),C(`span`,wp,D(t.$t(`Security.SSH.Basic.index_12`)),1)]),_:1},8,[`label`])]),_:1},8,[`title`])}}});F(),Jr();var Ep={class:`text-desc`},Dp={class:`text-desc mt-16px`},Op=M({__name:`security-features`,setup(e,{expose:t}){let n=p(()=>$(()=>Promise.resolve().then(()=>$f),void 0)),{t:r}=V(),i=le(),o=w(``),c=w({}),l=w(!1),d=e=>{if(e){lr(b,`7`,void 0,`Security.ServerSafe.sshLoginAlert`);return}J({title:r(`Public.Confirm.Title`),content:r(`It will redirect to Settings - Alarm. Please proceed with the Alarm operation.`),onConfirm:()=>{i.push(`/setting/alarm`)}})},f=Xe(r(`Security.SSH.Basic.index_13`),{onSetName:e=>{o.value=e}}),h=()=>{f.data.config=c.value,f.show=!0},g=()=>{i.push(`/security/system-hardening`)},v=async()=>{let{message:e}=await Lr();X(e)&&(o.value=e.result)},y=async()=>{let{message:e}=await Wr();X(e)&&(c.value=e)},b=async()=>{let{message:e}=await Cr();Mt(e)&&(l.value=e.some(e=>e.template_id===`7`))},x=async()=>{await Promise.all([v(),y(),b()])};return x(),t({init:x}),(e,t)=>{let r=zt,i=je,o=W,c=qt;return u(),z(_p,{title:e.$t(`Security Features`)},{append:T(()=>[a(c,{show:m(f).show,"onUpdate:show":t[0]||(t[0]=e=>m(f).show=e),title:m(f).title,data:m(f).data,width:1e3,height:600,component:m(n)},null,8,[`show`,`title`,`data`,`component`])]),default:T(()=>[a(_p,{label:e.$t(`Security.SSH.Basic.index_13`)},{extra:T(()=>[C(`div`,Dp,[s(D(e.$t(`Security.SSH.Basic.index_17`))+` `,1),a(r,{onClick:g},{default:T(()=>[s(`>>`+D(e.$t(`Security.SSH.Basic.index_18`)),1)]),_:1})])]),default:T(()=>[m(l)?_(``,!0):(u(),z(r,{key:0,type:`warning`,onClick:h},{default:T(()=>[s(D(e.$t(`Security.SSH.Basic.index_14`)),1)]),_:1})),a(i,{value:m(l),"onUpdate:value":d},null,8,[`value`]),a(o,{type:`primary`,onClick:h},{default:T(()=>[s(D(e.$t(`Public.Btn.Set`)),1)]),_:1}),C(`span`,Ep,D(e.$t(`Security.SSH.Basic.index_12`)),1)]),_:1},8,[`label`])]),_:1},8,[`title`])}}});F();var kp={class:`ssh-basic-page`},Ap=Z(M({__name:`index`,setup(e,{expose:t}){let n=w(null),i=w(!1),o=w(!1),s=w(22),c=w(null),l=w([]),d=w(``),f=async()=>{let{message:e}=await hr();X(e)&&(i.value=e.password===`yes`,o.value=e.pubkey===`yes`,s.value=e.port,c.value=e.root_login_type,X(e.root_login_types)&&(l.value=Object.entries(e.root_login_types).map(([e,t])=>({label:t,value:e}))))};return f(),t({init:async()=>{var e;await Promise.all([f(),(e=n.value)==null?void 0:e.init()])}}),(e,t)=>(u(),r(`div`,kp,[a(xp,{"ssh-pwd":m(i),"onUpdate:sshPwd":t[0]||(t[0]=e=>A(i)?i.value=e:null),"ssh-key":m(o),"onUpdate:sshKey":t[1]||(t[1]=e=>A(o)?o.value=e:null),port:m(s),"onUpdate:port":t[2]||(t[2]=e=>A(s)?s.value=e:null),onRefresh:f},null,8,[`ssh-pwd`,`ssh-key`,`port`]),a(Tp,{"root-login":m(c),"onUpdate:rootLogin":t[3]||(t[3]=e=>A(c)?c.value=e:null),password:m(d),"onUpdate:password":t[4]||(t[4]=e=>A(d)?d.value=e:null),"login-options":m(l),"ssh-key":m(o),onRefresh:f},null,8,[`root-login`,`password`,`login-options`,`ssh-key`]),a(Op,{ref_key:`securityFeaturesRef`,ref:n},null,512)]))}}),[[`__scopeId`,`data-v-c3ab7957`]]);F();var jp={class:`ssh-overview`},Mp={key:1,class:`ssh-service`},Np={class:`ssh-service__header`},Pp={class:`ssh-service__status`},Fp=[`title`],Ip={key:1,class:`ssh-stats`},Lp={class:`ssh-stats__summary`},Rp={class:`ssh-stats__breakdown`},zp={class:`ssh-period__label`},Bp={class:`ssh-period__bar`},Vp={class:`ssh-period__numbers`},Hp={class:`text-primary`},Up={class:`text-error`},Wp=Z(M({__name:`index`,props:{loading:{type:Boolean},status:{type:Boolean},statusText:{},loginInfo:{}},emits:[`selectLogin`,`updateStatus`],setup(e,{emit:t}){let n=e,i=t,{t:o}=V(),c=B(()=>[{key:`today`,label:o(`Public.Search.Today`),success:n.loginInfo.today_success,error:n.loginInfo.today_error},{key:`yesterday`,label:o(`Public.Search.Yesterday`),success:n.loginInfo.yesterday_success,error:n.loginInfo.yesterday_error},{key:`seven-days`,label:`7 ${o(`Security.ServerSafe.days`)}`,success:n.loginInfo.sevenday_success,error:n.loginInfo.sevenday_error}]),l=(e,t)=>{if(t<=0)return`0%`;let n=Math.round(e/t*100);return`${e>0&&n===0?1:n}%`};return(t,n)=>{let o=Oe,d=je,f=Be,p=G;return u(),r(`div`,jp,[a(p,{class:`ssh-overview__card px-24px`},{default:T(()=>[e.loading?(u(),z(o,{key:0,height:88,sharp:!1})):(u(),r(`div`,Mp,[C(`div`,Np,[C(`strong`,null,D(t.$t(`Security.SSH.overview_service`)),1),a(d,{value:e.status,"onUpdate:value":n[0]||(n[0]=e=>i(`updateStatus`,e))},null,8,[`value`])]),a(f,{size:`small`,bordered:!1,type:e.status?`success`:`error`},{default:T(()=>[s(D(e.status?t.$t(`Security.SSH.overview_enabled`):t.$t(`Security.SSH.overview_disabled`)),1)]),_:1},8,[`type`]),C(`div`,Pp,[C(`span`,null,D(t.$t(`Security.SSH.overview_current_status`)),1),C(`span`,{class:`ssh-service__status-text`,title:e.statusText||`--`},D(e.statusText||`--`),9,Fp)])]))]),_:1}),a(p,{class:`ssh-overview__card px-24px`},{default:T(()=>[e.loading?(u(),z(o,{key:0,height:88,sharp:!1})):(u(),r(`div`,Ip,[C(`div`,Lp,[C(`button`,{type:`button`,class:`ssh-stat ssh-stat--success`,onClick:n[1]||(n[1]=e=>i(`selectLogin`,`Accepted`))},[C(`strong`,null,D(e.loginInfo.success),1),C(`span`,null,D(t.$t(`Security.ServerSafe.sshLoginSuccessful`)),1)]),C(`button`,{type:`button`,class:`ssh-stat ssh-stat--error`,onClick:n[2]||(n[2]=e=>i(`selectLogin`,`Failed`))},[C(`strong`,null,D(e.loginInfo.error),1),C(`span`,null,D(t.$t(`Security.ServerSafe.sshLoginFailed`)),1)])]),C(`div`,Rp,[(u(!0),r(P,null,v(m(c),(e,t)=>(u(),r(`div`,{key:e.key,class:y([`ssh-period`,{"ssh-period--primary":t===0}])},[C(`span`,zp,D(e.label),1),C(`div`,Bp,[e.success+e.error>0?(u(),r(P,{key:0},[C(`span`,{class:`ssh-period__success`,style:x({width:l(e.success,e.success+e.error)})},null,4),C(`span`,{class:`ssh-period__error`,style:x({width:l(e.error,e.success+e.error)})},null,4)],64)):_(``,!0)]),C(`div`,Vp,[C(`span`,Hp,D(e.success),1),C(`span`,Up,D(e.error),1)])],2))),128))])]))]),_:1})])}}}),[[`__scopeId`,`data-v-15d70036`]]);F();var Gp={class:`pt-40px pb-40px`},Kp={class:`mb-24px text-center text-22px font-bold`},qp={class:`mb-16px`},Jp={class:`ul-style`},Yp={class:`ml-4px`},Xp={class:`text-center my-24px`},Zp={class:`flex justify-center`},Qp={class:`w-76%`},$p=Z(M({__name:`free`,setup(e){let t=()=>{Ct({source:100})};return(e,n)=>{let i=W,o=Ne;return u(),r(`div`,Gp,[C(`div`,Kp,D(e.$t(`Security.SSH.Logs.free_1`)),1),C(`div`,qp,[C(`ul`,Jp,[C(`li`,null,[C(`span`,Yp,D(e.$t(`Security.SSH.Logs.free_2`)),1)])])]),C(`div`,Xp,[a(i,{type:`primary`,class:`h-36px text-14px`,onClick:t},{default:T(()=>[s(D(e.$t(`WP.Transition.index_7`)),1)]),_:1})]),C(`div`,Zp,[C(`div`,Qp,[a(o,{class:`flex justify-center w-full`,src:m(On)},null,8,[`src`])])])])}}}),[[`__scopeId`,`data-v-5fbcb119`]]);F();var em={class:`p-20px pb-12px`},tm={class:`whitespace-nowrap`},nm=M({__name:`ban-form`,props:{mode:{},onTask:{type:Function},onSuccess:{type:Function}},setup(e,{expose:t}){let n=e,{t:i}=V(),o=S(`formRef`),c=L({hour:2,fail_count:5,ban_hour:24}),l={hour:{required:!0,type:`number`,min:1,message:i(`Security.SSH.Logs.positive_integer`),trigger:[`blur`,`change`]},fail_count:{required:!0,type:`number`,min:1,message:i(`Security.SSH.Logs.positive_integer`),trigger:[`blur`,`change`]},ban_hour:{required:!0,type:`number`,min:1,message:i(`Security.SSH.Logs.positive_integer`),trigger:[`blur`,`change`]}},d=B(()=>{let e={hour:c.hour,count:c.fail_count,banHour:c.ban_hour};return n.mode===`manual`?i(`Security.SSH.Logs.manual_ban_desc`,e):i(`Security.SSH.Logs.auto_ban_desc`,e)}),f=B(()=>n.mode===`manual`?i(`Security.SSH.Logs.period`):i(`Security.SSH.Logs.schedule`));return t({onConfirm:async()=>{var e,t;if(await((e=o.value)==null?void 0:e.validate()),n.mode===`manual`){var r;let{message:e}=await jr(R(c));return q.success(e.message),(r=n.onTask)==null||r.call(n,e.task_id),!0}return await dr({cron_hour:c.hour,fail_count:c.fail_count,ban_hour:c.ban_hour}),await((t=n.onSuccess)==null?void 0:t.call(n)),!0}}),(e,t)=>{let n=de,i=ke,p=Ve,h=he,g=en,_=Rt;return u(),r(`div`,em,[a(g,{ref_key:`formRef`,ref:o,model:m(c),rules:l,"label-placement":`left`},{default:T(()=>[a(h,{label:m(f),path:`hour`},{default:T(()=>[a(p,{class:`w-260px`},{default:T(()=>[a(n,{value:m(c).hour,"onUpdate:value":t[0]||(t[0]=e=>m(c).hour=e),min:1,precision:0,"show-button":!1},null,8,[`value`]),a(i,null,{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.hours`)),1)]),_:1})]),_:1})]),_:1},8,[`label`]),a(h,{label:e.$t(`Security.SSH.Logs.failure_count`),path:`fail_count`},{default:T(()=>[a(p,{class:`w-260px`},{default:T(()=>[a(n,{value:m(c).fail_count,"onUpdate:value":t[1]||(t[1]=e=>m(c).fail_count=e),min:1,precision:0,"show-button":!1},null,8,[`value`]),a(i,null,{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.times`)),1)]),_:1})]),_:1})]),_:1},8,[`label`]),a(h,{label:e.$t(`Security.SSH.Logs.ban_duration`),path:`ban_hour`},{default:T(()=>[a(p,{class:`w-260px`},{default:T(()=>[a(n,{value:m(c).ban_hour,"onUpdate:value":t[2]||(t[2]=e=>m(c).ban_hour=e),min:1,precision:0,"show-button":!1},null,8,[`value`]),a(i,null,{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.hours`)),1)]),_:1})]),_:1})]),_:1},8,[`label`])]),_:1},8,[`model`]),a(_,null,{default:T(()=>[C(`li`,tm,D(m(d)),1),C(`li`,null,D(e.$t(`Security.SSH.Logs.ban_rule_tip`)),1)]),_:1})])}}});F();var rm={class:`p-20px`},im={class:`w-240px`},am=M({__name:`export-form`,setup(e,{expose:t}){let{t:n}=V(),i=S(`formRef`),o=L({type:`all`,count:100}),s=[{label:n(`Security.SSH.Logs.all_logs`),value:`all`},{label:n(`Security.SSH.Logs.success_logs`),value:`Accepted`},{label:n(`Security.SSH.Logs.failed_logs`),value:`Failed`}],c={count:{required:!0,type:`number`,min:1,message:n(`Security.SSH.Logs.positive_integer`),trigger:[`blur`,`change`]}};return t({onConfirm:async()=>{var e;await((e=i.value)==null?void 0:e.validate());let t={count:o.count};o.type!==`all`&&(t.select=o.type);let{message:r}=await zr(t);return!X(r)||!r.output_file?(q.error(n(`Security.SSH.Logs.operation_failed`)),!1):(wt(r.output_file),!0)}}),(e,t)=>{let n=Le,l=he,d=de,f=en;return u(),r(`div`,rm,[a(f,{ref_key:`formRef`,ref:i,model:m(o),rules:c,"label-placement":`left`},{default:T(()=>[a(l,{label:e.$t(`Security.SSH.Logs.export_type`)},{default:T(()=>[C(`div`,im,[a(n,{value:m(o).type,"onUpdate:value":t[0]||(t[0]=e=>m(o).type=e),options:s},null,8,[`value`])])]),_:1},8,[`label`]),a(l,{label:e.$t(`Security.SSH.Logs.export_count`),path:`count`},{default:T(()=>[a(d,{value:m(o).count,"onUpdate:value":t[1]||(t[1]=e=>m(o).count=e),class:`w-140px`,min:1,precision:0},null,8,[`value`])]),_:1},8,[`label`])]),_:1},8,[`model`])])}}});F();var om={class:`h-360px`},sm=Z(M({__name:`task-log`,props:{taskId:{},onFinished:{type:Function}},setup(e,{expose:t}){let n=e,{t:o}=V(),s=i(o(`Security.SSH.Logs.waiting_task_log`)),c=null,d=!1,f=()=>{d=!0,c&&(clearTimeout(c),c=null)},p=()=>{d||(c=setTimeout(()=>{c=null,h()},1e3))},h=async()=>{if(d||!n.taskId)return;let e=n.taskId;try{var t;let{message:r}=await Ar({num:10,filename:`/www/server/panel/tmp/${e}.log`});if(d||n.taskId!==e)return;let i=``;if(X(r)?i=r.result||r.msg||``:Tt(r)&&(i=r),!i){p();return}s.value=i,f(),await((t=n.onFinished)==null?void 0:t.call(n))}catch(t){n.taskId===e&&p()}};return ne(()=>n.taskId,()=>{f(),d=!1,s.value=o(`Security.SSH.Logs.waiting_task_log`),p()},{immediate:!0}),l(f),t({onPublicClose:()=>(f(),!0)}),(e,t)=>{let n=Qr;return u(),r(`div`,om,[a(n,{class:`task-log`,log:m(s)},null,8,[`log`])])}}}),[[`__scopeId`,`data-v-9b074f1f`]]);F();var cm=M({__name:`index`,setup(e,{expose:t}){let{t:n}=V(),{isPro:o}=H(Ft()),l=i(!1),d=L({p:1,limit:20,select:`ALL`,search:``,historyType:`7`}),{table:f,columns:p,setLoading:h}=K([{key:`address`,title:n(`Security.SSH.Logs.index_5`),render:e=>a(`div`,{class:e.deny_status?`line-through text-#999`:``},[a(W,{text:!0,type:e.deny_status?`default`:`primary`,onClick:()=>S(e)},{default:()=>[e.address]}),a(`span`,null,[s(`:`),e.port])])},{key:`area`,title:n(`Security.SSH.Logs.index_6`),render:e=>{var t;return((t=e.area)==null?void 0:t.info)||`--`}},{key:`user`,title:n(`Security.SSH.Logs.index_7`)},{key:`status`,title:n(`Security.SSH.Logs.index_8`),render:e=>a(`span`,{class:e.status?`text-primary`:`text-error`},[e.status?n(`Security.SSH.Logs.index_14`):n(`Security.SSH.Logs.index_15`)])},{key:`time`,align:`right`,title:n(`Security.SSH.Logs.index_9`)}]),g=e=>{ct({title:n(`Security.SSH.Logs.task_log`),width:640,component:sm,data:{taskId:e,onFinished:()=>w()}})},_=e=>{ct({title:n(e===`manual`?`Security.SSH.Logs.manual_ban_title`:`Security.SSH.Logs.auto_ban_title`),width:520,footer:!0,component:nm,data:{mode:e,onTask:g,onSuccess:()=>y()}})},v=()=>{ct({title:n(`Security.SSH.Logs.export_logs`),width:420,footer:!0,component:am})},y=async()=>{if(!o.value)return;let{message:e}=await Nr();X(e)&&(l.value=!!e.ban_cron_job)},b=e=>{if(e){_(`auto`);return}J({title:n(`Security.SSH.Logs.disable_scheduled_title`),content:n(`Security.SSH.Logs.disable_scheduled_content`),onConfirm:async()=>{await Pr(),await y()}})},x=()=>{J({title:n(`Security.SSH.Logs.clear_title`),content:n(`Security.SSH.Logs.clear_content`),onConfirm:async()=>{await pr(),await w()}})},S=e=>{J({title:n(`Security.SSH.Logs.index_10`),content:e.deny_status?n(`Security.SSH.Logs.index_13`):n(`Security.SSH.Logs.index_11`),onConfirm:async()=>{if(e.deny_status){let{message:t}=await xr({address:e.address});Mt(t)&&t.length>0&&q.success(t[0].msg)}else{let{message:t}=await Jn({address:e.address,types:`drop`,brief:n(`Security.SSH.Logs.index_12`),domain:``,choose:`address`});Mt(t)&&t.length>0&&q.success(t[0].msg)}await E()}})},w=async()=>{o.value&&(d.p=1,await E())},E=async()=>{try{h(!0);let{message:e}=await _r(R(d));X(e)&&(f.data=Mt(e.data)?e.data:[],f.total=typeof e.total==`number`?e.total:e.page?Wt(e.page):f.data.length)}finally{h(!1)}};return c(()=>{Promise.all([w(),y()])}),t({init:async(e,t=`7`)=>{d.select=e||`ALL`,d.historyType=t,await Promise.all([w(),y()])}}),(e,t)=>{let n=je,i=U,c=be,h=De,g=Yr,y=ut,S=Q,O=cn,k=on;return u(),r(`div`,null,[m(o)?(u(),z(k,{key:0},{toolsLeft:T(()=>[a(i,{align:`center`,wrap:!0},{default:T(()=>[a(m(W),{type:`primary`,onClick:t[0]||(t[0]=e=>_(`manual`))},{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.ban_brute_force`)),1)]),_:1}),a(m(W),{onClick:v},{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.export_logs`)),1)]),_:1}),a(m(W),{onClick:x},{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.clear_logs`)),1)]),_:1}),a(i,{align:`center`,size:8},{default:T(()=>[C(`span`,null,D(e.$t(`Security.SSH.Logs.scheduled_ban`)),1),a(n,{value:m(l),"onUpdate:value":b},null,8,[`value`])]),_:1})]),_:1})]),toolsRight:T(()=>[a(i,{align:`center`,wrap:!0},{default:T(()=>[a(h,{value:m(d).select,"onUpdate:value":[t[1]||(t[1]=e=>m(d).select=e),w]},{default:T(()=>[a(c,{value:`ALL`},{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.index_1`)),1)]),_:1}),a(c,{value:`Accepted`},{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.index_2`)),1)]),_:1}),a(c,{value:`Failed`},{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.index_3`)),1)]),_:1})]),_:1},8,[`value`]),a(h,{value:m(d).historyType,"onUpdate:value":[t[2]||(t[2]=e=>m(d).historyType=e),w]},{default:T(()=>[a(c,{value:`ALL`},{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.history_all`)),1)]),_:1}),a(c,{value:`7`},{default:T(()=>[s(D(e.$t(`Security.SSH.Logs.history_7_days`)),1)]),_:1})]),_:1},8,[`value`]),a(g,{value:m(d).search,"onUpdate:value":t[3]||(t[3]=e=>m(d).search=e),width:`280`,placeholder:e.$t(`Security.SSH.Logs.index_4`),onSearch:w},null,8,[`value`,`placeholder`]),a(m(W),{class:`px-8px`,title:e.$t(`Public.Btn.Refresh`),"aria-label":e.$t(`Public.Btn.Refresh`),onClick:w},{default:T(()=>[a(y,{name:`refresh`,size:`14`})]),_:1},8,[`title`,`aria-label`])]),_:1})]),table:T(()=>[a(S,{loading:m(f).loading,data:m(f).data,columns:m(p)},null,8,[`loading`,`data`,`columns`])]),pageRight:T(()=>[a(O,{page:m(d).p,"onUpdate:page":t[4]||(t[4]=e=>m(d).p=e),"page-size":m(d).limit,"onUpdate:pageSize":t[5]||(t[5]=e=>m(d).limit=e),"store-key":`security-ssh-logs`,"item-count":m(f).total,onRefresh:E},null,8,[`page`,`page-size`,`item-count`])]),_:1})):(u(),z($p,{key:1}))])}}});F();var lm={class:`p-20px`},um={class:`w-220px`},dm={class:`w-220px`},fm=M({inheritAttrs:!1,__name:`form`,props:{mode:{},username:{},onRefresh:{type:Function}},setup(e,{expose:t}){let n=e,{t:i}=V(),o=S(`formRef`),s=L({username:n.username||``,password:``}),c=()=>{var e;s.username=n.mode===`reset`&&n.username||``,s.password=``,(e=o.value)==null||e.restoreValidation()};ne(()=>[n.mode,n.username],c);let l={username:{trigger:[`blur`,`input`],validator:()=>/^[A-Za-z0-9]{2,20}$/.test(s.username)?!0:Error(i(`Security.SSH.Account.username_invalid`))},password:{trigger:[`blur`,`input`],validator:()=>s.password.length<8?Error(i(`Security.SSH.Account.password_min`)):!0}};return t({onConfirm:async()=>{var e,t;await((e=o.value)==null?void 0:e.validate()),n.mode===`create`?await cr({username:s.username,password:s.password}):await Sr({username:n.username||``,password:s.password}),c(),await((t=n.onRefresh)==null?void 0:t.call(n))},onPublicClose:c}),(e,t)=>{let i=xe,c=he,d=en;return u(),r(`div`,lm,[a(d,{ref_key:`formRef`,ref:o,model:m(s),rules:l},{default:T(()=>[n.mode===`create`?(u(),z(c,{key:0,label:e.$t(`Security.SSH.Account.username`),path:`username`},{default:T(()=>[C(`div`,um,[a(i,{value:m(s).username,"onUpdate:value":t[0]||(t[0]=e=>m(s).username=e),placeholder:e.$t(`Security.SSH.Account.username_placeholder`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`])):_(``,!0),a(c,{label:n.mode===`create`?e.$t(`Security.SSH.Account.password`):e.$t(`Security.SSH.Account.new_password`),path:`password`},{default:T(()=>[C(`div`,dm,[a(i,{value:m(s).password,"onUpdate:value":t[1]||(t[1]=e=>m(s).password=e),placeholder:e.$t(`Security.SSH.Account.password_placeholder`)},null,8,[`value`,`placeholder`])])]),_:1},8,[`label`])]),_:1},8,[`model`])])}}});F();var pm={class:`system-account-conversion`},mm={class:`system-account-conversion__header`},hm={class:`system-account-conversion__title`},gm={class:`system-account-conversion__description`},_m={class:`system-account-conversion__features`},vm={class:`system-account-conversion__preview`},ym={class:`system-account-conversion__nav`},bm={class:`active`},xm={class:`system-account-conversion__image`},Sm=Z(M({__name:`conversion`,props:{isPro:{type:Boolean}},emits:[`installed`],setup(e,{emit:t}){let n=e,i=t,{t:o}=V(),{theme:c}=H(Je()),l=B(()=>c.value===`dark`?or:nr),d=B(()=>[o(`Security.SSH.Account.create`),o(`Security.SSH.Account.feature_modify_password`),o(`Security.SSH.Account.feature_delete_user`),o(`Security.SSH.Account.log`),o(`Security.SSH.Account.feature_anti_intrusion`)]),f=B(()=>n.isPro?o(`Security.SSH.Account.install_plugin`):o(`Security.SSH.Account.upgrade`)),p=()=>{if(!n.isPro){Ct({source:305});return}pt(`bt_security`,()=>i(`installed`))};return(e,t)=>{let n=W,i=Ne;return u(),r(`div`,pm,[C(`div`,mm,[C(`div`,hm,D(e.$t(`Security.SSH.Account.conversion_title`)),1),C(`div`,gm,D(e.$t(`Security.SSH.Account.professional_desc`)),1),a(n,{type:`primary`,class:`h-36px text-14px`,onClick:p},{default:T(()=>[s(D(m(f)),1)]),_:1})]),t[1]||(t[1]=C(`div`,{class:`system-account-conversion__divider`},null,-1)),C(`ul`,_m,[(u(!0),r(P,null,v(m(d),e=>(u(),r(`li`,{key:e},[t[0]||(t[0]=C(`span`,{class:`system-account-conversion__check`},null,-1)),C(`span`,null,D(e),1)]))),128))]),C(`div`,vm,[C(`ul`,ym,[C(`li`,bm,D(e.$t(`Security.SSH.Account.overview`)),1)]),C(`div`,xm,[a(i,{width:`100%`,src:m(l)},null,8,[`src`])])])])}}}),[[`__scopeId`,`data-v-5adef4da`]]);F();var Cm=M({__name:`index`,setup(e,{expose:t}){let{t:n}=V(),{isPro:o}=H(Ft()),c=i(!1),l=async()=>{let{message:e}=await At({sName:`bt_security`});if(X(e)){if(!e.setup){pt(`bt_security`,l);return}await ht(e)}},d=()=>{ct({title:n(`Security.SSH.Account.create_title`),width:440,footer:!0,component:fm,data:{mode:`create`,username:``,onRefresh:x}})},f=e=>{ct({title:n(`Security.SSH.Account.reset_title`,[e.user]),width:440,footer:!0,component:fm,data:{mode:`reset`,username:e.user,onRefresh:x}})},p=async e=>{let{message:t}=await Dn({user:e.user});if(!Mt(t)||t.length===0){q.error(n(`Security.SSH.Account.no_logs`));return}ct({title:`[${e.user}] - ${n(`Security.SSH.Account.command_log`)}`,width:750,minHeight:268,footer:!1,component:ai,data:{date:t,name:e.user}})},h=e=>{et({text:n(`Security.SSH.Account.confirm_delete`),title:n(`Security.SSH.Account.delete_title`,[e.user]),content:n(`Security.SSH.Account.delete_content`),onConfirm:async()=>{await br({username:e.user}),await x()}})},{table:g,columns:_}=K([{key:`user`,title:n(`Security.SSH.Account.username`)},Dt({key:`protection`,title:n(`Security.SSH.Account.protection`),minWidth:90,onClick:async(e,t)=>{let n=e===!0||e===`true`;try{n?await fr({user:t.user}):await yr({user:t.user})}finally{await x()}}}),Dt({key:`log`,title:n(`Security.SSH.Account.log`),minWidth:90,onClick:async(e,t)=>{let n=e===!0||e===`true`;try{n?await sr({uid:t.uid}):await pn({uid:t.uid})}finally{await x()}}}),{key:`remark`,title:n(`Security.SSH.Account.remark`)},xt({width:300,minWidth:300,options:e=>[{label:n(`Security.SSH.Account.command_log`),onClick:()=>p(e)},{label:n(`Security.SSH.Account.reset_password`),onClick:()=>f(e)},{label:n(`Public.Btn.Del`),onClick:()=>h(e)}]})]),{loading:v,setLoading:y}=ot(),b=async()=>{let{message:e}=await At({sName:`bt_security`});return c.value=X(e)&&e.setup,c.value},x=async()=>{if(o.value)try{if(y(!0),!await b())return;let{message:e}=await ar();if(!X(e)){g.data=[];return}g.data=e.system_user.map(e=>({user:e[0],uid:e[1],total:e[4].totla,today:e[4].day_totla,protection:e[3],log:e[5],remark:e[6]}))}finally{y(!1)}};return x(),t({init:x}),(e,t)=>{let n=W,i=Q,f=on,p=Rt,h=ze,y=G;return m(o)&&m(c)?(u(),r(P,{key:0},[a(f,{feedback:!1},{toolsLeft:T(()=>[a(n,{type:`primary`,onClick:d},{default:T(()=>[s(D(e.$t(`Security.SSH.Account.create`)),1)]),_:1}),a(n,{onClick:l},{default:T(()=>[...t[0]||(t[0]=[s(` Anti-intrusion `,-1)])]),_:1})]),toolsRight:T(()=>[a(n,{onClick:x},{default:T(()=>[s(D(e.$t(`Public.Btn.Refresh`)),1)]),_:1})]),table:T(()=>[a(i,{"row-key":`uid`,loading:m(v),data:m(g).data,columns:m(_)},null,8,[`loading`,`data`,`columns`])]),_:1}),a(p,{class:`mt-16px`},{default:T(()=>[C(`li`,null,D(e.$t(`Security.SSH.Account.tip_1`)),1),C(`li`,null,D(e.$t(`Security.SSH.Account.tip_2`)),1),C(`li`,null,D(e.$t(`Security.SSH.Account.tip_3`)),1)]),_:1})],64)):m(v)?(u(),z(y,{key:1,class:`py-50px text-center`},{default:T(()=>[a(h)]),_:1})):(u(),z(Sm,{key:2,"is-pro":m(o),onInstalled:x},null,8,[`is-pro`]))}}});F();var wm=M({__name:`index`,setup(e){let t=le(),{t:n}=V(),o=L({status:!1,statusText:``}),s=L({error:0,success:0,today_error:0,today_success:0,yesterday_success:0,yesterday_error:0,sevenday_success:0,sevenday_error:0}),l=i(),d=i(`basic`),f=[{key:`basic`,label:n(`Security.SSH.index_5`),component:Ap},{key:`account`,label:n(`Security.SSH.index_10`),isLazy:!0,component:Cm},{key:`logs`,label:n(`Security.SSH.index_6`),data:{type:`ALL`},component:cm}],p=e=>{var t;(t=l.value)==null||t.setValue(`logs`),se(()=>{var t;let n=(t=l.value)==null?void 0:t.getCompRef(`logs`);n==null||n.init(e,`7`)})},h=async()=>{let{message:e}=await Nr();X(e)&&(o.status=e.status,o.statusText=e.status_text||``)},g=async()=>{let{message:e}=await Br();X(e)&&Object.assign(s,e)},_=()=>Promise.all([h(),g()]),v=e=>{J({title:n(`Security.SSH.index_7`),content:n(e?`Security.SSH.index_8`:`Security.SSH.index_9`),onConfirm:async()=>{await Gr({status:+!e}),await _()}})},y=t.currentRoute.value.query;y.menu&&(d.value=y.menu);let{loading:b,setLoading:x}=ot();return c(async()=>{x(!0);try{await _()}finally{x(!1)}}),(e,t)=>{let n=Xr,i=G;return u(),r(P,null,[a(Wp,{loading:m(b),status:m(o).status,"status-text":m(o).statusText,"login-info":m(s),onUpdateStatus:v,onSelectLogin:p},null,8,[`loading`,`status`,`status-text`,`login-info`]),a(i,{class:`p-16px`},{default:T(()=>[a(n,{ref_key:`tabsRef`,ref:l,value:m(d),"onUpdate:value":t[0]||(t[0]=e=>A(d)?d.value=e:null),options:f},null,8,[`value`])]),_:1})],64)}}}),Tm=e({default:()=>Em}),Em=wm;F();var Dm={class:`p-20px`},Om=M({__name:`form`,props:{data:{}},setup(e,{expose:t}){let{t:n}=V(),i=[{label:n(`Security.Anti.Index_28`),value:`i`},{label:n(`Security.Anti.Index_29`),value:`a`}],o=e,{getList:s}=o.data,{row:c}=o.data,l=w(null),d=L({path:``,chattr:`i`,d_mode:``}),f={path:{required:!0,message:n(`Security.Conf.Index_28`),trigger:[`blur`,`input`]},d_mode:{required:!0,message:n(`Security.Conf.Index_28`),trigger:[`blur`,`input`]}};return t({onConfirm:async({hide:e})=>{var t;await((t=l.value)==null?void 0:t.validate()),await gn({...d,s_key:c.key}),s==null||s(),e()}}),(e,t)=>{let n=ni,o=he,s=Le,c=xe,p=en;return u(),r(`div`,Dm,[a(p,{ref_key:`formRef`,ref:l,model:m(d),rules:f},{default:T(()=>[a(o,{label:e.$t(`Site.DelSite.index_2`),path:`path`},{default:T(()=>[a(n,{class:`w-280px`,value:m(d).path,"onUpdate:value":t[0]||(t[0]=e=>m(d).path=e),placeholder:e.$t(`Security.Anti.Index_26`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),a(o,{label:e.$t(`Security.Hardening.Index_8`)},{default:T(()=>[a(s,{class:`w-280px`,value:m(d).chattr,"onUpdate:value":t[1]||(t[1]=e=>m(d).chattr=e),options:i},null,8,[`value`])]),_:1},8,[`label`]),a(o,{label:e.$t(`Security.Hardening.Index_9`),path:`d_mode`},{default:T(()=>[a(c,{class:`w-280px!`,value:m(d).d_mode,"onUpdate:value":t[2]||(t[2]=e=>m(d).d_mode=e),type:`text`,placeholder:e.$t(`Security.Anti.Index_27`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`])])}}});F();var km={class:`p-20px`},Am=M({__name:`index`,props:{data:{}},setup(e){let{t}=V(),{data:n}=e,{keys:i,table:o,columns:c}=K([{key:`path`,title:t(`Site.DelSite.index_2`)},{key:`chattr`,title:t(`Security.Hardening.Index_8`),render:e=>e.chattr==`i`?t(`Security.Anti.Index_28`):t(`Security.Anti.Index_29`)},{key:`s_mode`,title:t(`Security.Hardening.Index_9`),render:e=>e.s_mode===e.d_mode?e.d_mode:`${e.s_mode} >> ${e.d_mode}`},{key:`state`,title:t(`Config.Safe.index_156`),render:e=>a(`span`,{style:{color:e.state?`#20a53a`:`#ff0029`}},[e.state?t(`Security.Anti.Index_35`):t(`Security.Anti.Index_36`)])},xt({width:130,title:t(`Public.Table.Operation`),options:e=>[{label:t(`Public.Btn.Del`),onClick:async()=>{await Vn({s_key:n.key,path:e.path}),await p()}}]})]),l=async()=>{h.data.row=n,h.show=!0},{loading:d,setLoading:f}=ot(),p=async()=>{try{f(!0);let{message:e}=await Ln({s_key:n.key});X(e)&&(o.data=e.paths)}finally{i.value=[],f(!1)}};p();let h=Xe(t(`Security.Anti.Index_30`),{getList:p});return(e,t)=>{let n=W,f=Q,p=Rt,g=on,_=qt;return u(),r(`div`,km,[a(g,null,{toolsLeft:T(()=>[a(n,{type:`primary`,onClick:l},{default:T(()=>[s(D(e.$t(`Security.Anti.Index_30`)),1)]),_:1})]),table:T(()=>[a(f,{"checked-row-keys":m(i),"onUpdate:checkedRowKeys":t[0]||(t[0]=e=>A(i)?i.value=e:null),loading:m(d),"loading-num":3,"max-height":340,data:m(o).data,columns:m(c)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),pageLeft:T(()=>[a(p,null,{default:T(()=>[C(`li`,null,D(e.$t(`Security.Anti.Index_31`)),1),C(`li`,null,D(e.$t(`Security.Anti.Index_32`)),1),C(`li`,null,D(e.$t(`Security.Anti.Index_33`)),1),C(`li`,null,D(e.$t(`Security.Anti.Index_34`)),1)]),_:1})]),_:1}),a(_,{show:m(h).show,"onUpdate:show":t[1]||(t[1]=e=>m(h).show=e),title:m(h).title,data:m(h).data,width:500,footer:!0,component:Om},null,8,[`show`,`title`,`data`])])}}});F();var jm={class:`p-20px`},Mm={class:`leading-32px`},Nm=Z(M({__name:`index`,setup(e){let{t}=V(),n=w(null),i=L({cycle:120,limit_count:3,limit:3600}),o={cycle:{required:!0,type:`number`,message:t(`Security.Conf.Index_28`),trigger:[`blur`,`input`]},limit_count:{required:!0,type:`number`,message:t(`Security.Conf.Index_28`),trigger:[`blur`,`input`]},limit:{required:!0,type:`number`,message:t(`Security.Conf.Index_28`),trigger:[`blur`,`input`]}},c=async()=>{var e;await((e=n.value)==null?void 0:e.validate()),await ir(R(i))};return(async()=>{let{message:e}=await qr();X(e)&&(i.cycle=e.cycle,i.limit=e.limit,i.limit_count=e.limit_count)})(),(e,t)=>{let l=de,d=he,f=W,p=en,h=fe,g=Rt;return u(),r(`div`,jm,[a(p,{ref_key:`formRef`,ref:n,model:m(i),rules:o,inline:``,"label-width":`auto`,class:`form`},{default:T(()=>[a(d,{label:e.$t(`Security.Anti.Index_37`),path:`cycle`},{default:T(()=>[a(l,{"show-button":!1,value:m(i).cycle,"onUpdate:value":t[0]||(t[0]=e=>m(i).cycle=e),class:`w-100px!`},null,8,[`value`])]),_:1},8,[`label`]),a(d,{label:e.$t(`Security.Anti.Index_38`),path:`limit_count`},{default:T(()=>[a(l,{"show-button":!1,value:m(i).limit_count,"onUpdate:value":t[1]||(t[1]=e=>m(i).limit_count=e),class:`w-100px!`},null,8,[`value`])]),_:1},8,[`label`]),a(d,{label:e.$t(`Security.Anti.Index_39`),path:`limit`},{default:T(()=>[a(l,{"show-button":!1,value:m(i).limit,"onUpdate:value":t[2]||(t[2]=e=>m(i).limit=e),class:`w-100px!`},null,8,[`value`])]),_:1},8,[`label`]),C(`span`,Mm,D(e.$t(`Security.Anti.Index_40`)),1),a(f,{type:`primary`,class:`ml-auto`,onClick:c},{default:T(()=>[s(D(e.$t(`Site.Cert.index_60`)),1)]),_:1})]),_:1},8,[`model`]),a(h,{class:`mb-15px!`}),a(g,null,{default:T(()=>[C(`li`,null,D(e.$t(`Security.Anti.Index_41`)),1),C(`li`,null,D(e.$t(`Security.Anti.Index_42`)),1),C(`li`,null,D(e.$t(`Security.Anti.Index_43`)),1)]),_:1})])}}}),[[`__scopeId`,`data-v-61e3f65a`]]);F();var Pm={class:`p-20px`},Fm=M({__name:`form`,props:{data:{}},setup(e,{expose:t}){let{t:n}=V(),{getList:i}=e.data,o=w(null),s=L({process_name:``}),c={process_name:{required:!0,message:n(`Security.Conf.Index_28`),trigger:[`blur`,`input`]}};return t({onConfirm:async({hide:e})=>{var t;await((t=o.value)==null?void 0:t.validate()),await Un(R(s)),i==null||i(),e()}}),(e,t)=>{let n=xe,i=he,l=en;return u(),r(`div`,Pm,[a(l,{ref_key:`formRef`,ref:o,model:m(s),rules:c},{default:T(()=>[a(i,{label:e.$t(`Home.index_24`),path:`process_name`},{default:T(()=>[a(n,{class:`w-280px!`,value:m(s).process_name,"onUpdate:value":t[0]||(t[0]=e=>m(s).process_name=e),type:`text`,placeholder:e.$t(`Security.Anti.Index_22`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`])])}}});F();var Im={class:`p-20px`},Lm=M({__name:`index`,setup(e){let{t}=V(),{keys:n,table:i,columns:o}=K([{key:`name`,title:t(`Home.index_24`)},xt({width:130,title:t(`Public.Table.Operation`),options:e=>[{label:t(`Public.Btn.Del`),onClick:async()=>{await Dr({process_name:e.name}),await f()}}]})]),c=async()=>{p.show=!0},{loading:l,setLoading:d}=ot(),f=async()=>{try{d(!0);let{message:e}=await En();Mt(e)&&(i.data=e.map(e=>({name:e})))}finally{n.value=[],d(!1)}};f();let p=Xe(t(`Security.Anti.Index_23`),{getList:f});return(e,t)=>{let d=W,f=Q,h=Rt,g=on,_=qt;return u(),r(`div`,Im,[a(g,null,{toolsLeft:T(()=>[a(d,{type:`primary`,onClick:c},{default:T(()=>[s(D(e.$t(`Security.Anti.Index_23`)),1)]),_:1})]),table:T(()=>[a(f,{"checked-row-keys":m(n),"onUpdate:checkedRowKeys":t[0]||(t[0]=e=>A(n)?n.value=e:null),loading:m(l),"loading-num":3,"max-height":340,data:m(i).data,columns:m(o)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),pageLeft:T(()=>[a(h,null,{default:T(()=>[C(`li`,null,D(e.$t(`Security.Anti.Index_24`)),1),C(`li`,null,D(e.$t(`Security.Anti.Index_25`)),1)]),_:1})]),_:1}),a(_,{show:m(p).show,"onUpdate:show":t[1]||(t[1]=e=>m(p).show=e),title:m(p).title,data:m(p).data,width:500,footer:!0,component:Fm},null,8,[`show`,`title`,`data`])])}}});F();var Rm={class:`color-#ff3333`},zm=M({__name:`index`,setup(e,{expose:t}){let{t:n}=V(),i=Gt(),{systemHardening:o}=H(i),s=Xe(),c=Xe(),l=Xe(),{keys:d,table:f,columns:p}=K([{key:`name`,width:`10%`,title:n(`Site.TableRow.index_2`)},{key:`ps`,title:n(`Security.Hardening.Index_5`),ellipsis:{tooltip:{width:`trigger`}}},Dt({key:`open`,title:n(`Site.TableRow.index_14`),onClick:async(e,t)=>{if(!o.value){q.error(n(`Security.Hardening.Index_6`)),_();return}await An({s_key:t.key})}}),xt({width:130,title:n(`Site.TableRow.index_30`),options:e=>[{label:n(`Site.TableOP.index_3`),onClick:()=>{if(e.key===`ssh`){c.title=`${n(`Security.Hardening.Index_7`)} [${e.name}]`,c.show=!0;return}if(e.key===`process`){l.title=`${n(`Security.Hardening.Index_7`)} [${e.name}]`,l.show=!0;return}s.title=`${n(`Security.Hardening.Index_7`)} [${e.name}]`,s.data=e,s.show=!0}}]})]);ne(()=>i.isRefresh,e=>{e&&(i.setRefresh(!1),_())});let{loading:h,setLoading:g}=ot(),_=async()=>{try{g(!0);let{message:e}=await Gn();X(e)&&(o.value=e.open,f.data=e.list)}finally{d.value=[],g(!1)}};return _(),t({init:_}),(e,t)=>{let n=Q,i=on,o=Rt,g=qt;return u(),r(P,null,[a(i,{feedback:!0},{table:T(()=>[a(n,{"checked-row-keys":m(d),"onUpdate:checkedRowKeys":t[0]||(t[0]=e=>A(d)?d.value=e:null),"row-key":`title`,loading:m(h),data:m(f).data,columns:m(p)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),_:1}),a(o,{class:`mt-16px`},{default:T(()=>[C(`li`,null,D(e.$t(`Security.Hardening.Index_1`)),1),C(`li`,null,D(e.$t(`Security.Hardening.Index_2`)),1),C(`li`,null,D(e.$t(`Security.Hardening.Index_3`)),1),C(`li`,Rm,D(e.$t(`Security.Hardening.Index_4`)),1)]),_:1}),a(g,{show:m(s).show,"onUpdate:show":t[1]||(t[1]=e=>m(s).show=e),title:m(s).title,data:m(s).data,width:700,"min-height":500,footer:!1,component:Am},null,8,[`show`,`title`,`data`]),a(g,{show:m(c).show,"onUpdate:show":t[2]||(t[2]=e=>m(c).show=e),title:m(c).title,data:m(c).data,width:800,footer:!1,component:Nm},null,8,[`show`,`title`,`data`]),a(g,{show:m(l).show,"onUpdate:show":t[3]||(t[3]=e=>m(l).show=e),title:m(l).title,data:m(l).data,width:700,"min-height":580,footer:!1,component:Lm},null,8,[`show`,`title`,`data`])],64)}}});F();var Bm=M({__name:`index`,setup(e,{expose:t}){let{t:n}=V(),{loading:i,setLoading:o}=ot(),c=w(``),l=/^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$/,{keys:d,table:f,columns:p}=K([{key:`address`,title:n(`Security.Anti.Index_15`),width:`70%`},{key:`end`,title:n(`Security.History.Index_12`),render:e=>e.end==0?n(`Security.Anti.Index_18`):e.end},xt({width:130,title:n(`Site.TableRow.index_30`),options:e=>[{label:n(`Security.Anti.Index_19`),onClick:async()=>{await zn({ip:e.address}),g()}}]})]),h=async()=>{if(!l.test(c.value)){q.error(n(`Security.Anti.Index_20`));return}await kr({ip:c.value}),g(),c.value=``},g=async()=>{try{o(!0);let{message:e}=await Mn();Mt(e)&&(f.data=e)}finally{d.value=[],o(!1)}};return g(),t({init:g}),(e,t)=>{let n=xe,o=W,l=U,g=Q,_=on,v=Rt;return u(),r(`div`,null,[a(_,null,{toolsLeft:T(()=>[a(l,{class:`flex-nowrap!`},{default:T(()=>[a(n,{value:m(c),"onUpdate:value":t[0]||(t[0]=e=>A(c)?c.value=e:null),type:`text`,placeholder:e.$t(`Security.Anti.Index_15`),class:`w-280px!`},null,8,[`value`,`placeholder`]),a(o,{type:`primary`,onClick:h},{default:T(()=>[s(D(e.$t(`Public.Btn.Add`)),1)]),_:1})]),_:1})]),table:T(()=>[a(g,{"checked-row-keys":m(d),"onUpdate:checkedRowKeys":t[1]||(t[1]=e=>A(d)?d.value=e:null),"row-key":`address`,loading:m(i),"max-height":440,data:m(f).data,columns:m(p)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),_:1}),a(v,{class:`mt-16px`},{default:T(()=>[C(`li`,null,D(e.$t(`Security.Anti.Index_16`)),1),C(`li`,null,D(e.$t(`Security.Anti.Index_17`)),1)]),_:1})])}}});F();var Vm=M({__name:`index`,setup(e,{expose:t}){let{t:n}=V(),{keys:r,table:i,columns:o}=K([{key:`addtime`,title:n(`Site.Cert.index_68`),width:`20%`},{key:`log`,title:n(`Security.Anti.Index_21`)}]),s=L({p:1,limit:10,search:`System hardening`}),{loading:c,setLoading:l}=ot(),d=async()=>{try{l(!0);let{message:e}=await Xn(R(s));X(e)&&(i.data=e.data,i.total=Wt(e.page))}finally{r.value=[],l(!1)}};return d(),t({init:d}),(e,t)=>{let n=Q,l=cn,f=on;return u(),z(f,{feedback:!0},{table:T(()=>[a(n,{"checked-row-keys":m(r),"onUpdate:checkedRowKeys":t[0]||(t[0]=e=>A(r)?r.value=e:null),"row-key":`addtime`,loading:m(c),data:m(i).data,columns:m(o)},null,8,[`checked-row-keys`,`loading`,`data`,`columns`])]),pageRight:T(()=>[a(l,{page:m(s).p,"onUpdate:page":t[1]||(t[1]=e=>m(s).p=e),"page-size":m(s).limit,"onUpdate:pageSize":t[2]||(t[2]=e=>m(s).limit=e),"item-count":m(i).total,"store-key":`security-log`,onRefresh:d},null,8,[`page`,`page-size`,`item-count`])]),_:1})}}});F();var Hm=M({__name:`index`,setup(e){let{t}=V(),n=w(`protection`),r=[{key:`protection`,label:t(`Security.Tabs.Index_8`),component:zm},{key:`block`,label:t(`Security.Tabs.Index_9`),component:Bm},{key:`operation`,label:t(`Security.Tabs.Index_10`),component:Vm}];return(e,t)=>{let i=Xr;return u(),z(i,{value:m(n),"onUpdate:value":t[0]||(t[0]=e=>A(n)?n.value=e:null),options:r},null,8,[`value`])}}});F();var Um={class:`pt-40px pb-40px`},Wm={class:`mb-16px`},Gm={class:`ul-style`},Km={class:`text-center my-24px`},qm={class:`flex justify-center`},Jm={class:`item`},Ym=[`onClick`],Xm=Z(M({__name:`conversion`,setup(e){let t=w(0),n=[`Protection`,`Block IP`,`Operation logs`],i=()=>{Ct({source:102})};return(e,o)=>{let c=ut,l=W,d=Ne,f=G;return u(),z(f,null,{default:T(()=>[C(`div`,Um,[o[2]||(o[2]=C(`div`,{class:`mb-24px text-center text-22px font-bold`},` System Hardening prevention features `,-1)),C(`div`,Wm,[C(`ul`,Gm,[C(`li`,null,[a(c,{name:`security-system`,size:`18`}),o[0]||(o[0]=C(`span`,{class:`ml-8px`},`Prevents the system from being implanted with a Trojan`,-1))]),C(`li`,null,[a(c,{name:`security-surety`,size:`30`}),o[1]||(o[1]=C(`span`,null,`Harden the system security configuration`,-1))])])]),C(`div`,Km,[a(l,{type:`primary`,class:`h-36px text-14px`,onClick:i},{default:T(()=>[s(D(e.$t(`WP.Transition.index_7`)),1)]),_:1})]),C(`div`,qm,[C(`div`,Jm,[C(`ul`,null,[(u(),r(P,null,v(n,(e,n)=>C(`li`,{class:y({active:m(t)==n}),key:n,onClick:e=>t.value=n},D(e),11,Ym)),64))])]),N(a(d,{width:`100%`,src:m(Sn)},null,8,[`src`]),[[I,m(t)==0]]),N(a(d,{width:`100%`,src:m(wn)},null,8,[`src`]),[[I,m(t)==1]]),N(a(d,{width:`100%`,src:m($n)},null,8,[`src`]),[[I,m(t)==2]])])])]),_:1})}}}),[[`__scopeId`,`data-v-4c8df26f`]]);F();var Zm={key:0},Qm=M({__name:`index`,setup(e){let{isPro:t}=H(Ft()),n=Gt(),{systemHardening:i}=H(n),o=w(i.value);ne(B(()=>i.value),e=>{o.value=e});let s=async()=>{await vn(),await n.setRefresh(!0)};return(async()=>{t.value&&await Vt(`syssafe`)})(),(e,n)=>{let i=je,c=U,l=G;return m(t)?(u(),r(`div`,Zm,[a(l,{class:`my-15px`},{default:T(()=>[a(c,{class:`p-15px items-center`},{default:T(()=>[C(`span`,null,D(e.$t(`Security.Anti.Index_14`)),1),a(i,{value:m(o),"onUpdate:value":[n[0]||(n[0]=e=>A(o)?o.value=e:null),s],"rubber-band":!1,size:`small`},null,8,[`value`])]),_:1})]),_:1}),a(l,{class:`p-15px`},{default:T(()=>[a(Hm)]),_:1})])):(u(),z(Xm,{key:1}))}}}),$m=e({default:()=>eh}),eh=Qm;export{mu as a,Ra as c,wi as d,zd as i,qi as l,Tm as n,Os as o,Gf as r,Eo as s,$m as t,Vi as u};