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/setting2.js
import{k as b,w as k,f as E,X as P,dp as B,_ as x}from"./utils-lib.js?v=1777008528";import{proxyTcpAction as c}from"./site.js?v=1777008528";import{r as s,H as D,e,x as l,F as L,c as h,g as O,o as $,a8 as M,j,C as I,p as N}from"./base-lib.js?v=1777008528";import{e as S,g as q}from"./index3.js?v=1777008528";import{u as z}from"./useStore2.js?v=1777008528";import{l as U,F as _,f as W}from"./form-item.js?v=1777008528";import{l as H}from"./useController29.js?v=1777008528";const R=E();z();const a=s({}),u=s("proxy"),F=async()=>{try{const t=await c({handle:"port",listen_port:a.value.listen_port,protocol:a.value.protocol});if(!t.status){R.error(t.msg);return}a.value={...t.data,listen_port:String(t.data.listen_port).replace(" udp","")}}catch(t){}},st='一行一条配置,请以;结尾,例如:\nproxy_set_header Cookie "cookie_name=cookie_value";\nallow 192.168.1.0/24;\naccess_log /www/wwwlogs/xxx.log;',p=D({config:""}),nt=[{content:"注意:一行一条配置,请以;结尾"},{content:()=>e(L,null,[l("案例:"),e("br",null,null),l("重定向请求:return 301 /new-page;"),e("br",null,null),l("重写URL:rewrite ^/blog/(.*)$ /$1 break;"),e("br",null,null),l("文件上传限制:client_max_body_size 10M;"),e("br",null,null),l("处理特定http方法:"),e("br",null,null),l("limit_except POST "),"{",l(" "),e("br",null,null),l("    allow 192.168.1.0/24;"),e("br",null,null),l("    deny all;"),e("br",null,null),"}",e("br",null,null),l("限制请求速率:limit_rate 100k;"),e("br",null,null)])},{content:"保存配置前请核对配置是否正确,错误的配置可能会导致反向代理无法正常访问"}],ut=async t=>{try{let r={handle:"update",protocol:a.value.protocol,listen_port:a.value.listen_port,proxy_pass:a.value.proxy_pass,custom:p.config?p.config:" "};(await b({loading:"正在保存,请稍后...",request:c(r),message:!0})).status&&t()}catch(r){}},it=()=>{p.config=a.value.custom||""};s();s();const g=D({loading:!1,type:"black",white:[],black:[]}),V=()=>s([S({key:"ip"}),{label:"IP",prop:"ip",minWidth:120},q([{title:"删除",onClick:t=>{X(t)}}])]),X=async t=>{const r=!!Array.isArray(t);await k({title:"".concat(r?"批量删除":"删除").concat(u.value==="ipWhiteList"?"白":"黑","名单"),content:"".concat(r?"批量删除选中的ip,是否继续操作?":"删除".concat(u.value==="ipWhiteList"?"白":"黑","名单【").concat(t.ip,"】,是否继续操作?"))});let o={listen_port:a.value.listen_port,protocol:a.value.protocol,handle:u.value==="ipWhiteList"?"delete_allow":"delete_deny",...r?{ip:t.map(n=>n.ip).join(" ")}:{ip:t.ip}};u.value==="ipWhiteList"?(o.allow=o.ip,delete o.ip):(o.deny=o.ip,delete o.ip),(await b({loading:"正在删除,请稍后...",request:c(o),message:!0})).status&&F()};V();const G=s({types:g.type,address:""});s();const A=s(""),J=async()=>{try{const t=await b({request:c({handle:"log",listen_port:a.value.listen_port,protocol:a.value.protocol}),loading:"正在获取日志内容,请稍后..."});t.status&&(A.value=t.data.data||"暂无日志内容")}catch(t){}},K=()=>{A.value="",u.value="proxy",a.value={},p.config="",g.white=[],g.black=[],G.value.address=""},Q=h({name:"AddProxyTcp",props:{compData:{type:Object,default:()=>({})}},setup(t,{expose:r}){var n,m,f,y;const{BtForm:o,submit:i}=P({data:{isEdit:t.compData.isEdit||!1,ps:((n=t.compData.row)==null?void 0:n.ps)||"",listen_port:((m=t.compData.row)==null?void 0:m.listen_port)||"",protocol:((f=t.compData.row)==null?void 0:f.protocol)||"tcp",proxy_pass:((y=t.compData.row)==null?void 0:y.proxy_pass)||""},options:v=>O(()=>[U("协议","protocol",[{label:"TCP",value:"tcp"},{label:"UDP",value:"udp"},{label:"TCP/UDP",value:"tcp/udp"}],{attrs:{disabled:t.compData.isEdit}}),_("代理端口","listen_port",{attrs:{placeholder:"请输入代理端口,例如:8764",width:"27rem",disabled:t.compData.isEdit},rules:[{required:!0,message:"请输入代理端口",trigger:"blur"},{trigger:["blur"],validator:(C,T,w)=>{const d=Number(T);Number.isNaN(d)||d<0||d>65535?w(new Error("请输入正确的端口")):w()}}]}),_("代理地址","proxy_pass",{attrs:{placeholder:"请输入代理地址,例如:192.168.100.20:22",width:"27rem"},rules:[{required:!0,message:"请输入代理地址",trigger:"blur"}]}),_("备注","ps",{attrs:{placeholder:"请输入备注",width:"27rem"}}),...t.compData.isEdit?[W("保存",{attrs:{type:"primary",class:"!ml-[10rem]",onClick:()=>{i()}}})]:[]]),submit:H});return r({onConfirm:async v=>{await i()&&v("close")}}),()=>e(o,{class:"p-[2rem]"},null)}}),Y=h({__name:"setting",props:{compData:{type:Object,default:()=>({})}},setup(t){const r=t,{BtTabs:o}=B({type:"left-bg-card",value:u,options:[{label:"TCP/UDP代理",name:"proxy",lazy:!0,render:()=>e(Q,{compData:{isEdit:!0,row:r.compData.row}},null)},{label:"自定义配置",name:"custom",lazy:!0,render:()=>x(()=>import("./setting-custom.js?v=1777008528"),__vite__mapDeps([]),import.meta.url)},{label:"日志",name:"siteLogs",lazy:!0,render:()=>x(()=>import("./setting-log.js?v=1777008528"),__vite__mapDeps([]),import.meta.url)}]});$(()=>{a.value=r.compData.row});const i=n=>{n!=="siteLogs"?F():J()};return M(()=>{K()}),(n,m)=>(j(),I(N(o),{onChange:i}))}}),pt=Object.freeze(Object.defineProperty({__proto__:null,default:Y},Symbol.toStringTag,{value:"Module"}));export{st as a,nt as b,p as c,it as i,A as l,ut as o,a as r,pt as s};
function __vite__mapDeps(indexes) {
  if (!__vite__mapDeps.viteFileDeps) {
    __vite__mapDeps.viteFileDeps = []
  }
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}