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/index549.js
import{S as c,t as d,J as l,B as v,f as P,w,aa as A}from"./utils-lib.js?v=1777008528";import{r as a,o as h,c as z,w as C,x as R,O as T,z as q}from"./base-lib.js?v=1777008528";import{proxyGetGlobal as B,proxyGlobalCompress as O,proxyGlobalAddLimit as G,proxyGlobalSetLogs as S,proxyGlobalSetWebsocket as $,proxyGlobalDelBasic as V,proxyGlobalEditBasic as H,proxyGlobalAddBasic as F,proxyGlobalBatchDelLimit as j,proxyGlobalDelLimit as L}from"./site.js?v=1777008528";import{a as M,u as k,c as N}from"./column.js?v=1777008528";import{f as W}from"./validator.js?v=1777008528";import{u as J}from"./useStore3.js?v=1777008528";const U=P(),{siteInfo:i}=J(),p=a("compress"),b=a({site_name:"",domain_list:[],site_port:[],port_conf:"",ssl_port_conf:"",site_path:"",ssl_info:{},err_age_404:"",err_age_502:"",ip_limit:{ip_black:[],ip_white:[]},basic_auth:[],proxy_cache:{},gzip:{},sub_filter:{},websocket:{},security:{},redirect:{},proxy_log:{},http_block:"",server_block:"",remark:"",proxy_info:[]}),n=async()=>{const e=await B({site_name:i.value.name});if(!e.status){U.error(e.msg);return}b.value=e.data},me=a(!1),f=a(!1);a();h({status:!1,time:"",unit:"m"});const K=a(),o=h({status:!1,type:"",level:1,minLength:"",unit:"m"}),_e=[{label:"k",value:"k"},{label:"m",value:"m"}],ge=[{content:"用于对 HTTP 响应的内容进行压缩,以减少数据传输量,提高网站性能和加载速度"},{content:"压缩级别1-9,例如:1为压缩速度最快,但压缩率较低;9为压缩速度最慢,但压缩率最高,建议默认"},{content:"如果开启gzip后影响网站正常访问,请关闭此功能 和请求参数组成"}],he={type:[{required:!0,message:"请输入压缩类型",trigger:["blur","change"]}],minLength:[{required:!0,message:"请输入正确的压缩最小长度",trigger:"blur",validator:(e,t,s)=>{t?isNaN(Number(t))?s(new Error("请输入数字")):Number(t)<1?s(new Error("请输入正确数字")):s():s(new Error("压缩最小长度不能为空"))}},{}]},fe=e=>{o.status=e.gzip_status,o.type=e.gzip_types,o.level=e.gzip_comp_level;let t="",s="m";e.gzip_min_length&&e.gzip_min_length.length>1&&(t=e.gzip_min_length.slice(0,-1),s=e.gzip_min_length.slice(-1)),o.minLength=t,o.unit=s},ye=async()=>{const e={site_name:i.value.name,gzip_status:o.status?1:0,gzip_min_length:"".concat(o.minLength).concat(o.unit),gzip_comp_level:o.level,gzip_types:o.type};return await K.value.validate(),(await c({loading:f,request:O(e),message:!0})).status},g=h({loading:!1,type:"black",white:[],black:[]}),be=a(),de=a(),Q=()=>a([M({key:"ip"}),{label:"IP",prop:"ip",minWidth:120},k([{title:"删除",onClick:e=>{X(e)}}])]),ve=e=>{g.type=p.value==="ipBlackList"?"black":"white",g.white=e.ip_white.map(t=>({ip:t,type:"white"})),g.black=e.ip_black.map(t=>({ip:t,type:"black"}))},X=async e=>{const t=!!Array.isArray(e);await w({title:"".concat(t?"批量删除IP":"删除".concat(e.type==="white"?"白名单":"黑名单","【").concat(e.ip,"】")),content:t?"批量删除选中的IP,是否继续操作?":"删除".concat(e.type==="white"?"白名单":"黑名单","【").concat(e.ip,"】,是否继续操作?")});let s={site_name:i.value.name};t?(s.ip_type=p.value==="ipBlackList"?"black":"white",s.ips=e.map(y=>y.ip).join("\n")):(s.ip_type=e.type,s.ip=e.ip),(await c({loading:"正在删除,请稍后...",request:(t?j:L)(s),message:!0})).status&&n()},Y=()=>[{label:"删除IP",value:"delete",event:async(e,t,s,u,_)=>{const y=async I=>await L({site_name:i.value.name,ip:I.ip,ip_type:p.value==="ipBlackList"?"black":"white"});await e({title:"批量删除",content:"批量删除选中的ip,是否继续操作?",column:[{prop:"ip",label:"IP"},N()],onConfirm:async()=>(await t(y),n(),!1)})}}],we=Q(),Le=Y(),ke=()=>{D.value.address="",d({isAsync:!0,title:"添加IP".concat(p.value==="ipBlackList"?"黑":"白","名单"),area:40,btn:"确认",component:()=>l(()=>import("./add-ip2.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{listType:g.type,refreshEvent:()=>{n()}}})},D=a({types:g.type,address:""}),De=[{content:"一行一条配置,多个IP请换行"}],Ee=a(),xe={address:[{validator:(e,t,s)=>{t.length>0?s():s(new Error("请输入IP地址"))},trigger:["blur","change"]}]},Ie=async()=>{const{address:e}=D.value,t={site_name:i.value.name,ip_type:p.value==="ipBlackList"?"black":"white",ips:e},s=await c({loading:f,request:G(t),message:!0});return s.status&&n(),s.status},Z=a([]),ee=()=>a([{label:"名称",prop:"auth_name"},{label:"路径",prop:"auth_path"},k([{onClick:te,title:"编辑"},{onClick:se,title:"删除"}])]),te=e=>{m.value=e||!1,d({isAsync:!0,title:"".concat(e?"编辑":"添加","http认证").concat(e?"【".concat(e.auth_name,"】"):""),area:48,btn:"确认",component:()=>l(()=>import("./http-auth-add2.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{refreshEvent:n,proxy_info:b.value.proxy_info,isEdit:!!e,row:e}})},se=async e=>{await w({title:"删除http认证【".concat(e.auth_name,"】"),content:"删除http认证【".concat(e.auth_name,"】,是否继续操作?")}),(await c({loading:"正在删除http认证,请稍候...",request:V({site_name:i.value.name,auth_path:e.auth_path,name:e.auth_name}),message:!0})).status&&n()},Pe=ee(),Ae=e=>{Z.value=e||[]},m=a(),E=a({name:v(5),path:"",user:"",password:""}),ze=[{content:"例如我设置了加密访问/test/,那我访问http://aaa.com/test/时就要输入账号密码才能访问"}],ae=a(),Ce={name:[{required:!0,message:"请输入名称",trigger:["blur","change"]}],path:[{required:!0,message:"请输入路径",trigger:["blur","change"]}],user:[{required:!0,message:"请输入用户名",trigger:["blur","change"]}],password:[{required:!0,message:"请输入密码",trigger:["blur","change"]}]},Re=(e,t)=>{const s=b.value.proxy_info.map(_=>({value:_.proxy_path})),u=e?s.filter(_=>_.value.includes(e)):s;t(u)},Te=async()=>{let e=E.value;await ae.value.validate();const t={site_name:i.value.name,auth_path:e.path,username:e.user,password:e.password,name:e.name},s=m.value?H:F,u=await c({loading:f,request:s(t)});return u.status&&n(),u.status},qe=()=>{Object.assign(E.value,{name:m.value?m.value.auth_name:v(5),path:m.value?m.value.auth_path:"",user:"",password:""})},re=a(),r=h({type:"default",accessLog:"",address:"",port:"514"}),Be={accessLog:[{validator:(e,t,s)=>{r.type==="file"&&!t?s(new Error("请选择日志目录")):s()},trigger:["blur","change"]}],address:[{validator:(e,t,s)=>{r.type==="rsyslog"&&!t?s(new Error("请输入接收地址")):s()},trigger:["blur","change"]}]},Oe=[{content:"指定目录可选择自定义的日志存储目录,请注意此目录必须www用户可写"},{content:"发送到远程服务器设置之后本地不会保存日志内容,填写前请确保日志接收端可正常访问"}],Ge=[{label:"默认",value:"default"},{label:"不记录日志",value:"off"},{label:"指定目录",value:"file"},{label:"发送到远程服务器",value:"rsyslog"}],Se=e=>{W({type:"dir",path:"/www/wwwroot",change:t=>{r.accessLog=t}})},$e=e=>{e?(r.type=e.log_type,r.accessLog=e.log_path,r.address=e.rsyslog_host):r.type="default"},Ve=async()=>{await re.value.validate();const e={site_name:i.value.name,log_type:r.type,log_path:r.type=="file"?r.accessLog:r.address};return(await c({loading:f,request:S(e),message:!0})).status},x=h({websocket:!1}),He=async e=>{(await c({loading:f,request:$({site_name:i.value.name,websocket_status:e?1:0}),message:!0})).status||(x.websocket=!e)},Fe=e=>{x.websocket=e?e.websocket_status:!1},oe=z({__name:"index",setup(e){const{BtTabs:t}=A({type:"card",value:p,options:[{label:"内容压缩",name:"compress",lazy:!0,render:()=>l(()=>import("./content-compression.js?v=1777008528"),__vite__mapDeps([]),import.meta.url)},{label:"IP黑名单",name:"ipBlackList",lazy:!0,render:()=>l(()=>import("./ip-list.js?v=1777008528"),__vite__mapDeps([]),import.meta.url)},{label:"IP白名单",name:"ipWhiteList",lazy:!0,render:()=>l(()=>import("./ip-list.js?v=1777008528"),__vite__mapDeps([]),import.meta.url)},{label:"http认证",name:"basicauth",lazy:!0,render:()=>l(()=>import("./http-auth.js?v=1777008528"),__vite__mapDeps([]),import.meta.url)},{label:"日志",name:"siteLogs",lazy:!0,render:()=>l(()=>import("./log.js?v=1777008528"),__vite__mapDeps([]),import.meta.url)},{label:"websocket",name:"websocket",lazy:!0,render:()=>l(()=>import("./websocket.js?v=1777008528"),__vite__mapDeps([]),import.meta.url)}]});return C(()=>p.value,s=>{n()}),n(),(s,u)=>(R(),T(q(t)))}}),je=Object.freeze(Object.defineProperty({__proto__:null,default:oe},Symbol.toStringTag,{value:"Module"}));export{re as A,Be as B,Oe as C,Fe as D,x as E,He as F,Ie as G,D as H,De as I,Ee as J,xe as K,qe as L,Te as M,E as N,m as O,Re as P,ze as Q,ae as R,Ce as S,Le as T,je as U,K as a,he as b,o as c,f as d,ge as e,me as f,b as g,be as h,de as i,ke as j,ve as k,_e as l,g as m,we as n,ye as o,Ae as p,Z as q,Pe as r,fe as s,p as t,te as u,$e as v,Ve as w,r as x,Ge as y,Se as z};
function __vite__mapDeps(indexes) {
  if (!__vite__mapDeps.viteFileDeps) {
    __vite__mapDeps.viteFileDeps = []
  }
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}