HEX
Server: nginx/1.28.3
System: Linux ip-172-31-12-242 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/panel/BTPanel/static/js/index-legacy377.js
!function(){function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i(t,n,r){return(n=function(t){var n=function(t,n){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var a=r.call(t,n||"default");if("object"!=e(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==e(n)?n:n+""}(n))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function i(n,r,a,i){var o=r&&r.prototype instanceof c?r:c,l=Object.create(o.prototype);return u(l,"_invoke",function(n,r,a){var i,o,u,c=0,l=a||[],f=!1,d={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return i=t,o=0,u=e,d.n=n,s}};function p(n,r){for(o=n,u=r,t=0;!f&&c&&!a&&t<l.length;t++){var a,i=l[t],p=d.p,v=i[2];n>3?(a=v===r)&&(u=i[(o=i[4])?5:(o=3,3)],i[4]=i[5]=e):i[0]<=p&&((a=n<2&&p<i[1])?(o=0,d.v=r,d.n=i[1]):p<v&&(a=n<3||i[0]>r||r>v)&&(i[4]=n,i[5]=r,d.n=v,o=0))}if(a||n>1)return s;throw f=!0,r}return function(a,l,v){if(c>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,v),o=l,u=v;(t=o<2?e:u)||!f;){i||(o?o<3?(o>1&&(d.n=-1),p(o,u)):d.n=u:d.v=u);try{if(c=2,i){if(o||(a="next"),t=i[a]){if(!(t=t.call(i,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,o<2&&(o=0)}else 1===o&&(t=i.return)&&t.call(i),o<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),o=1);i=e}else if((t=(f=d.n<0)?u:n.call(r,d))!==s)break}catch(t){i=e,o=1,u=t}finally{c=1}}return{value:t,done:f}}}(n,a,i),!0),l}var s={};function c(){}function l(){}function f(){}t=Object.getPrototypeOf;var d=[][r]?t(t([][r]())):(u(t={},r,function(){return this}),t),p=f.prototype=c.prototype=Object.create(d);function v(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,u(e,a,"GeneratorFunction")),e.prototype=Object.create(p),e}return l.prototype=f,u(p,"constructor",f),u(f,"constructor",l),l.displayName="GeneratorFunction",u(f,a,"GeneratorFunction"),u(p),u(p,a,"Generator"),u(p,r,function(){return this}),u(p,"toString",function(){return"[object Generator]"}),(o=function(){return{w:i,m:v}})()}function u(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}u=function(e,t,n,r){function i(t,n){u(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},u(e,t,n,r)}function s(e,t,n,r,a,i,o){try{var u=e[i](o),s=u.value}catch(e){return void n(e)}u.done?t(s):Promise.resolve(s).then(r,a)}function c(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var i=e.apply(t,n);function o(e){s(i,r,a,o,u,"next",e)}function u(e){s(i,r,a,o,u,"throw",e)}o(void 0)})}}System.register(["./utils-lib-legacy.js?v=1777008528","./base-lib-legacy.js?v=1777008528","./useStore-legacy15.js?v=1777008528","./index-legacy3.js?v=1777008528"],function(e,n){"use strict";var r,i,u,s,l,f,d,p,v,m,y,g,h,b,_,w,P,S,O,j,k,T,F,x,I,A,L,N,q,D,B,C,E,G,J,z,M,W,$,H,R,U;return{setters:[function(e){r=e.c,i=e.e,u=e._,s=e.k,l=e.w,f=e.M,d=e.m,p=e.d3,v=e.cZ},function(e){m=e.aI,y=e.aJ,g=e.r,h=e.H,b=e.e,_=e.bc,w=e.c,P=e.j,S=e.k,O=e.q,j=e.p,k=e.s,T=e.x,F=e.v,x=e.F,I=e.B,A=e.L,L=e.z},function(e){N=e.u,q=e.v,D=e.n,B=e.w,C=e.x,E=e.y,G=e.z,J=e.A,z=e.B,M=e.C,W=e.D,$=e.E,H=e.G},function(e){R=e.g,U=e.k}],execute:function(){var Y=y("FTP_LOGS_ANALYSIS",function(){var e=g(),t=g({scanStatus:!1,autoScanText:"定时自动扫描",btn:"立即扫描",data:[]}),n=g({login_error:!0,time:!0,area:!0,anonymous:!0,upload_shell:!0,day:7,otherDay:1,user:"all",userList:[],cycle:1,channel:[],option:{},config:{login_error:5,time:{start_time:0,end_time:24},area:{country:[],city:[]},upload_shell:[],login_error_des:"超过5次",time_des:"0点至24点范围外",area_des:"非地区",upload_shell_des:"未配置"},search:"",status:!0}),r=g([]),a=g(null),i=g([]),o=g(),u=g(!1),s=g(),c=g([]);return{ftpAnalysisList:t,ftpScanTable:e,ruleForm:n,whiteTableData:i,ip:o,setScanInfo:a,addFtpInfo:g(),isAutoScan:s,userOptions:c,isLoading:u,areaOptions:r}}),Z=e("u",function(){return m(Y())}),K=r().payment,Q=N().isRefreshFtpList,V=Z(),X=V.ftpAnalysisList,ee=V.ruleForm,te=V.whiteTableData,ne=V.ip,re=V.setScanInfo,ae=V.addFtpInfo,ie=V.isAutoScan,oe=V.userOptions,ue=V.isLoading,se=V.areaOptions,ce=function(){var e=c(o().m(function e(t){var n,r;return o().w(function(e){for(;;)switch(e.n){case 0:return n=t.ip,e.n=1,l({icon:"warning-filled",title:"IP封禁",content:"封禁【"+n+"】后,将不再允许此IP访问服务器,是否继续操作?"});case 1:return r=JSON.stringify({choose:"address",address:n,domain:"",types:"drop",brief:"FTP日志分析点击IP拉黑"}),e.n=2,s({loading:"正在封禁IP,请稍后...",request:B({data:r}),data:{status:Boolean},message:!0});case 2:e.v.status&&pe();case 3:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),le=function(){var e=c(o().m(function e(t){var n,r;return o().w(function(e){for(;;)switch(e.n){case 0:if(n=t.user,0!==(r=t.id)){e.n=1;break}return f.error("匿名用户不可删除"),e.a(2,!1);case 1:return e.n=2,l({icon:"warning-filled",title:"删除FTP用户",content:"删除选中的FTP用户后,该FTP用户将彻底失去访问和操作权限,是否继续操作?"});case 2:return e.n=3,s({loading:"正在删除FTP用户,请稍后...",request:C({id:r,username:n}),data:{status:Boolean},message:!0});case 3:e.v.status&&(pe(),Q.value=!0);case 4:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),fe=function(){var e=c(o().m(function e(t){var n,r,a;return o().w(function(e){for(;;)switch(e.n){case 0:if(n=t.user,0!==(r=t.id)){e.n=1;break}return e.a(2,f.error("匿名用户不可停用"));case 1:return e.n=2,l({icon:"warning-filled",title:"停用FTP用户",content:"停用【"+n+"】后,该FTP用户将失去访问权限,是否继续操作?"});case 2:return e.n=3,s({loading:"正在停用FTP用户,请稍后...",request:E({id:r,username:n,status:0}),data:{status:Boolean},message:!0});case 3:null!=(a=e.v)&&a.status&&(pe(),Q.value=!0);case 4:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),de=function(){var e=c(o().m(function e(t){var n;return o().w(function(e){for(;;)switch(e.n){case 0:return n=t.ip,e.n=1,l({icon:"warning-filled",title:"忽略IP",content:"忽略【"+n+"】后,该IP将加入白名单中,FTP日志分析将不在记录该IP的数据,是否继续操作?"});case 1:return e.n=2,s({loading:"正在忽略IP,请稍后...",request:G({ip:n,type:"add"}),data:{status:Boolean},message:!0});case 2:e.v.status&&pe();case 3:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),pe=function(){var e=c(o().m(function e(){var t,n,r,a,i=arguments;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{search:ee.value.search,day:"other"===ee.value.day?Number(ee.value.otherDay):Number(ee.value.day),user:"all"===ee.value.user?"[]":JSON.stringify(ee.value.userList)},e.p=1,e.n=2,J(t);case 2:if((n=e.v).status)for(r in X.value.data=[],n.data)a=n.data[r],X.value.data.push({time:a.exec_time,type:a.type,user:a.user,ip:r,id:a.id});e.n=4;break;case 3:e.p=3,e.v;case 4:return e.a(2)}},e,null,[[1,3]])}));return function(){return e.apply(this,arguments)}}(),ve=function(){X.value={scanStatus:!1,autoScanText:"定时自动扫描",btn:"立即扫描",data:[]},ee.value={login_error:!0,time:!0,area:!0,anonymous:!0,upload_shell:!0,day:7,otherDay:1,user:"all",userList:[],cycle:1,channel:[],option:{},config:{login_error:5,time:{start_time:0,end_time:24},area:{country:[],city:[]},upload_shell:[],login_error_des:"超过5次",time_des:"0点至24点范围外",area_des:"非地区",upload_shell_des:"未配置"},search:"",status:!0}},me=(e("r",h({login_error:[{validator:function(e,t,n){t>0?n():n("请输入大于0的整数")},trigger:["change"]}],se_time:[{validator:function(e,t,n){ee.value.config.start_time&&ee.value.config.end_time?n():n("开始时间和结束时间不能为空")},trigger:["blur"]}]})),e("s",function(e){ee.value.config.start_time=e}),e("e",function(e){ee.value.config.end_time=e}),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ee.value.config;return{time:JSON.stringify({start_time:Number(e.start_time.split(":")[0]),end_time:Number(e.end_time.split(":")[0])}),area:JSON.stringify({country:e.area.country,city:[]}),upload_shell:JSON.stringify(e.upload_shell_br.split("\n")),login_error:e.login_error}}),ye=(e("o",function(){var e=c(o().m(function e(t){var n;return o().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,re.value.validate();case 1:return n=me(),e.n=2,s({loading:"正在提交中数据,请稍候...",request:W(n),message:!0});case 2:e.v.status&&(be(),t&&t());case 3:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}()),function(){var e=c(o().m(function e(t){return o().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,s({loading:"正在删除白名单IP,请稍后...",request:G({ip:t,type:"del"}),data:{status:Boolean},message:!0});case 1:e.v.status&&(ge(),pe());case 2:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}()),ge=(e("w",[{label:"IP",render:function(e){return b("span",null,[e])}},R([{onClick:ye,title:"删除"}])]),e("a",c(o().m(function e(){var t,n=arguments;return o().w(function(e){for(;;)switch(e.n){case 0:if((t=n.length>0&&void 0!==n[0]?n[0]:{ip:ne.value,type:"add"}).ip){e.n=1;break}return f.error("请输入ip地址"),e.a(2);case 1:if(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.test(t.ip)){e.n=2;break}return f.error("请输入正确的ip地址"),e.a(2);case 2:return e.n=3,s({loading:"正在添加白名单IP,请稍后...",request:G(t),data:{status:Boolean},message:!0,success:function(e){e.status&&(ne.value="",ge(),pe())}});case 3:return e.a(2)}},e)}))),e("g",c(o().m(function e(){return o().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,s({loading:"正在获取白名单列表,请稍后...",request:z(),data:{ip:[Array,te]}});case 1:return e.a(2)}},e)})))),he=(e("t",_({otherDay:[{validator:function(e,t,n){"other"===ee.value.day&&(t<1||!Number.isInteger(parseFloat(t)))?n(new Error("天数必须大于0的整数")):n()},trigger:["change"]}],userList:[{validator:function(e,t,n){"other"===ee.value.user&&0===t.length?n("请选择指定用户"):n()},trigger:["change"]}],risk:[{validator:function(e,t,n){ee.value.login_error||ee.value.time||ee.value.area||ee.value.anonymous||ee.value.upload_shell?n():n("请至少选择一个安全风险")},trigger:["change"]}],channel:[{type:"array",required:!0,message:"请至少选择一个告警方式",trigger:"change"}]})),function(e){var t=e.country,n=e.city,r=d(t)?t.join(","):"",a=d(n)?n.join(","):"";return"非".concat(r).concat(r&&a?",":"").concat(a,"地区")}),be=function(){var e=c(o().m(function e(){var t,n,r,i,u,s,c,l,f,p,v;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return ue.value=!0,e.p=1,e.n=2,$();case 2:t=e.v,n=t.data,r=n.area,i=n.cron_task_status,u=n.time,s=n.login_error,c=n.upload_shell,l=n.cron_task,ee.value.config=a(a({},n),{},{login_error_des:"超过".concat(s,"次"),time_des:"".concat(u.start_time,"点至").concat(u.end_time,"点范围外"),area_des:he(r),upload_shell_des:d(c)?c.join(","):""}),ie.value&&i?(f=l.task_type,p=l.cycle,v=l.channel,Object.assign(ee.value,{anonymous:f.anonymous,area:f.area,login_error:f.login_error,time:f.time,upload_shell:f.upload_shell,cycle:p,channel:v?v.split(","):[],status:!!i})):Object.assign(ee.value,{anonymous:!0,area:!0,login_error:!0,time:!0,upload_shell:!0}),e.n=4;break;case 3:e.p=3,e.v;case 4:return e.p=4,ue.value=!1,e.f(4);case 5:return e.a(2)}},e,null,[[1,3,4,5]])}));return function(){return e.apply(this,arguments)}}(),_e=(e("d",function(){i({title:"扫描触发条件",area:[50,34],btn:["保存","取消"],component:function(){return u(function(){return n.import("./scan-legacy.js?v=1777008528")},void 0,n.meta.url)}})}),e("j",function(e){ee.value.user=e,"other"===e&&(ee.value.anonymous=!1)}),function(){var e=c(o().m(function e(){var t,n,r;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,H();case 1:t=e.v,n=t.data,d(n)&&(oe.value=[],n.forEach(function(e){oe.value.push({label:e,value:e})}),ee.value.userList=n.length>0?[n[0]]:[]),e.n=3;break;case 2:e.p=2,r=e.v,console.log(r);case 3:return e.a(2)}},e,null,[[0,2]])}));return function(){return e.apply(this,arguments)}}()),we=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ee.value,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ie.value,n=JSON.stringify({anonymous:e.anonymous,area:e.area,login_error:e.login_error,time:e.time,upload_shell:e.upload_shell});return t?{task_type:n,cycle:1,channel:e.channel.join(","),status:e.status?1:0}:{search:n,day:"other"===e.day?Number(e.otherDay):e.day,username:"all"===e.user?"[]":JSON.stringify(e.userList)}},Pe=(e("c",function(){var e=c(o().m(function e(t){var n,r,a,i,u,s,c;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.n=1,ae.value.validate();case 1:if(e.p=1,n=f.load("扫描中..."),r=we(),ee.value.search=(null==r?void 0:r.search)||(null==r?void 0:r.task_type),ie.value){e.n=3;break}return e.n=2,J(r);case 2:if(a=e.v,f.request({status:a.status,msg:a.status?"扫描成功":"扫描失败",time:500}),a.status){for(i in X.value.data=[],a.data)u=a.data[i],X.value.data.push({time:u.exec_time,type:u.type,user:u.user,ip:i,id:u.id}),X.value.data.sort(function(e,t){var n,r;return new Date(null===(n=t.time)||void 0===n?void 0:n.replace(/-/g,"/")).getTime()-new Date(null===(r=e.time)||void 0===r?void 0:r.replace(/-/g,"/")).getTime()});X.value.btn="重新扫描",X.value.scanStatus=!0,t()}e.n=5;break;case 3:return e.n=4,M(r);case 4:s=e.v,f.request(s),s.status&&be(),t();case 5:e.n=7;break;case 6:e.p=6,e.v;case 7:return e.p=7,null===(c=n)||void 0===c||c.close(),e.f(7);case 8:return e.a(2)}},e,null,[[1,6,7,8]])}));return function(t){return e.apply(this,arguments)}}()),e("b",function(){ee.value.config={login_error:5,time:{start_time:0,end_time:24},area:{country:[],city:[]},upload_shell:[],login_error_des:"超过5次",time_des:"0点至24点范围外",area_des:"非地区",upload_shell_des:"未配置"},_e(),be()}),e("i",function(){var e=ee.value.config;Object.assign(ee.value.config,a(a({},e),{},{start_time:e.time.start_time<10?"0".concat(e.time.start_time,":00"):"".concat(e.time.start_time,":00"),end_time:e.time.end_time<10?"0".concat(e.time.end_time,":00"):"".concat(e.time.end_time,":00"),upload_shell_br:e.upload_shell.join("\n")})),se.value=["美国","中国","印度","日本","德国","英国","法国","俄罗斯","巴西","加拿大","意大利","澳大利亚","韩国","墨西哥","印度尼西亚","沙特阿拉伯","南非","阿根廷","土耳其","西班牙"].map(function(e){return{label:e,value:e}})}),[{label:"类型",prop:"type",minWidth:100},{label:"用户名",prop:"user",minWidth:60},{label:"IP",prop:"ip"},{label:"操作时间",prop:"time"},R([{onClick:ce,title:"IP拉黑",width:50},{onClick:le,title:"删除账号",width:60},{onClick:fe,title:"停用账号",width:60},{onClick:de,title:"忽略"}])]),Se=function(){return i({title:"FTP日志白名单",area:[70,45],component:function(){return u(function(){return n.import("./whitelist-legacy.js?v=1777008528")},void 0,n.meta.url)}})},Oe=function(e){i({title:"FTP日志".concat(e?"分析条件":"自动分析推送"),area:e?[66,30]:[70],btn:e?"立即扫描":"保存配置",component:function(){return u(function(){return n.import("./timed-scan-legacy.js?v=1777008528")},void 0,n.meta.url)}})},je=function(){var e=c(o().m(function e(t){var n,r,a,i;return o().w(function(e){for(;;)switch(e.n){case 0:if(ie.value=!Boolean(t),"ltd"!==K.value.authType){e.n=5;break}return e.n=1,s({loading:"正在获取日志服务状态,请稍后...",request:q({exec_name:"getlog"}),data:{status:Boolean,msg:String}});case 1:if(n=e.v,r=n.status,a=n.msg,r&&"stop"!==a){e.n=4;break}return e.n=2,l({icon:"warning-filled",title:"开启FTP日志服务",content:"FTP日志服务未启动,无法记录访问日志,是否启动日志服务?"});case 2:return e.n=3,s({loading:"正在开启FTP日志服务,请稍后...",request:q({exec_name:"start"}),data:{status:Boolean},message:!0});case 3:null!=(i=e.v)&&i.status&&Oe(t);case 4:Oe(t),e.n=6;break;case 5:return f.error("企业版专享功能!"),e.n=6,U({sourceId:D.value?260:220});case 6:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),ke=[{icon:"user",title:"多次登录失败"},{icon:"login-address",title:"登录地区异常"},{icon:"shell-file",title:"上传脚本文件"},{icon:"anonymous",title:"匿名用户登录"},{icon:"login-time",title:"登录时间异常"}],Te=(e("f",[{label:"7天",value:7},{label:"30天",value:30},{label:"自定义",value:"other"}]),e("h",[{label:"全部",value:"all"},{label:"指定用户",value:"other"}]),{class:"ftp-log-scan"}),Fe={class:"scan-header"},xe={class:"scan-header-left"},Ie={class:"scan-header-title"},Ae={key:0},Le={key:1},Ne={class:"scan-content"},qe={key:0,class:"scan-content-preview"},De={class:"scan-content-preview-list"},Be={class:"text-small"},Ce={key:1},Ee=w({__name:"index",setup:function(e,n){var r=n.expose,a=Z(),i=a.ftpAnalysisList,o=a.ftpScanTable;return r(ve),function(e,n){var r=L,a=p;return P(),S("div",Te,[O("div",Fe,[O("div",xe,[n[4]||(n[4]=O("i",{class:"svgtofont-icon-ftp-log !text-large54 text-tertiary mr-16px"},null,-1)),O("div",Ie,[j(i).scanStatus?(P(),S("div",Le,"扫描完成,"+k(j(i).data.length?"共扫描出"+j(i).data.length+"条风险记录":"未扫描出风险记录"),1)):(P(),S("div",Ae,"FTP日志扫描,快速扫描当前FTP的安全详情")),O("p",null,[n[2]||(n[2]=T(" 推荐定期自动扫描功能,定期扫描生成分析结果并发送通知【 ",-1)),O("span",{class:"bt-link",onClick:n[0]||(n[0]=function(e){return j(je)(0)})},k(j(i).autoScanText),1),n[3]||(n[3]=T(" 】 ",-1))])])]),b(r,{class:"scan-header-btn",type:"primary",title:j(i).btn,onClick:n[1]||(n[1]=function(e){return j(je)(1)})},{default:F(function(){return[T(k(j(i).btn),1)]}),_:1},8,["title"])]),O("div",Ne,[j(i).scanStatus?(P(),S("div",Ce,[b(r,{class:"!mb-[1rem]",onClick:j(Se)},{default:F(function(){return t(n[6]||(n[6]=[T(" 白名单 ",-1)]))}),_:1},8,["onClick"]),b(a,{ref_key:"ftpScanTable",ref:o,"max-height":"310",column:j(Pe),data:j(i).data,description:"扫描列表为空"},null,8,["column","data"])])):(P(),S("div",qe,[n[5]||(n[5]=O("div",null,"支持以下FTP日志安全风险扫描:",-1)),O("div",De,[(P(!0),S(x,null,I(j(ke),function(e,t){return P(),S("div",{class:"preview-list-item",key:t},[O("i",{class:A("svgtofont-icon-".concat(e.icon," text-extraLarge mr-4px text-tertiary"))},null,2),O("span",Be,k(e.title),1)])}),128))])]))])])}}}),Ge=v(Ee,[["__scopeId","data-v-f6e94919"]]),Je=Object.freeze(Object.defineProperty({__proto__:null,default:Ge},Symbol.toStringTag,{value:"Module"}));e("k",Je)}}})}();