mirror of
https://github.com/snltty/linker.git
synced 2025-12-20 02:16:44 +08:00
1 line
70 KiB
JavaScript
1 line
70 KiB
JavaScript
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[255],{9232:function(e,a,l){l.d(a,{W4:function(){return o},q:function(){return n},uQ:function(){return r}});var t=l(4);const n=e=>(0,t.zG)("relay/SetServers",e),o=()=>(0,t.zG)("relay/Subscribe"),r=e=>(0,t.zG)("relay/Connect",e)},743:function(e,a,l){l.d(a,{Ap:function(){return n},Co:function(){return o},DY:function(){return u},Qs:function(){return i},a9:function(){return s},eX:function(){return c},gz:function(){return d},pY:function(){return r}});var t=l(4);const n=()=>(0,t.zG)("sforwardclient/GetSecretKey"),o=e=>(0,t.zG)("sforwardclient/SetSecretKey",e),r=e=>(0,t.zG)("sforwardclient/get",e),s=()=>(0,t.zG)("sforwardclient/refresh"),d=(e="0")=>(0,t.zG)("sforwardclient/getcount",e),u=e=>(0,t.zG)("sforwardclient/remove",e),i=e=>(0,t.zG)("sforwardclient/add",e),c=e=>(0,t.zG)("sforwardclient/TestLocal",e)},83:function(e,a,l){l.d(a,{$M:function(){return s},KW:function(){return r},gM:function(){return o},r7:function(){return n}});var t=l(4);const n=(e="0")=>(0,t.zG)("tunnel/get",e),o=()=>(0,t.zG)("tunnel/refresh"),r=e=>(0,t.zG)("tunnel/SetRouteLevel",e),s=e=>(0,t.zG)("tunnel/SetTransports",e)},4046:function(e,a,l){l.r(a),l.d(a,{default:function(){return ql}});var t=l(6768);const n={class:"home-list-wrap absolute"},o={class:"page t-c"},r={class:"page-wrap"};function s(e,a,l,s,d,u){const i=(0,t.g2)("Sort"),c=(0,t.g2)("Device"),h=(0,t.g2)("Tunnel"),m=(0,t.g2)("Tuntap"),p=(0,t.g2)("Socks5"),w=(0,t.g2)("Forward"),g=(0,t.g2)("Oper"),f=(0,t.g2)("el-table"),k=(0,t.g2)("el-pagination"),v=(0,t.g2)("DeviceEdit"),b=(0,t.g2)("AccessEdit"),F=(0,t.g2)("TunnelEdit"),C=(0,t.g2)("ConnectionsEdit"),L=(0,t.g2)("TuntapEdit"),_=(0,t.g2)("Socks5Edit"),E=(0,t.g2)("TuntapLease"),S=(0,t.g2)("ForwardEdit"),V=(0,t.g2)("SForwardEdit");return(0,t.uX)(),(0,t.CE)("div",n,[(0,t.bF)(i,{onSort:s.handleSortChange},null,8,["onSort"]),(0,t.bF)(f,{data:s.devices.page.List,stripe:"",border:"",style:{width:"100%"},height:`${s.state.height}px`,size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(c,{onEdit:s.handleDeviceEdit,onRefresh:s.handlePageRefresh},null,8,["onEdit","onRefresh"]),(0,t.bF)(h,{onEdit:s.handleTunnelEdit,onRefresh:s.handleTunnelRefresh,onConnections:s.handleTunnelConnections},null,8,["onEdit","onRefresh","onConnections"]),s.tuntap.show?((0,t.uX)(),(0,t.Wv)(m,{key:0,onEdit:s.handleTuntapEdit,onRefresh:s.handleTuntapRefresh},null,8,["onEdit","onRefresh"])):(0,t.Q3)("",!0),s.socks5.show?((0,t.uX)(),(0,t.Wv)(p,{key:1,onEdit:s.handleSocks5Edit,onRefresh:s.handleSocks5Refresh},null,8,["onEdit","onRefresh"])):(0,t.Q3)("",!0),s.forward.show?((0,t.uX)(),(0,t.Wv)(w,{key:2,onEdit:s.handleForwardEdit,onSedit:s.handleSForwardEdit},null,8,["onEdit","onSedit"])):(0,t.Q3)("",!0),(0,t.bF)(g,{onRefresh:s.handlePageRefresh,onAccess:s.handleAccessEdit},null,8,["onRefresh","onAccess"])])),_:1},8,["data","height"]),(0,t.Lk)("div",o,[(0,t.Lk)("div",r,[(0,t.bF)(k,{small:"",background:"",layout:"total,sizes,prev,pager, next",total:s.devices.page.Count,"page-size":s.devices.page.Request.Size,"current-page":s.devices.page.Request.Page,onCurrentChange:s.handlePageChange,onSizeChange:s.handlePageSizeChange,"page-sizes":[10,20,50,100,255]},null,8,["total","page-size","current-page","onCurrentChange","onSizeChange"])])]),s.devices.showDeviceEdit?((0,t.uX)(),(0,t.Wv)(v,{key:0,modelValue:s.devices.showDeviceEdit,"onUpdate:modelValue":a[0]||(a[0]=e=>s.devices.showDeviceEdit=e),onChange:s.handlePageChange,data:s.devices.deviceInfo},null,8,["modelValue","onChange","data"])):(0,t.Q3)("",!0),s.devices.showAccessEdit?((0,t.uX)(),(0,t.Wv)(b,{key:1,modelValue:s.devices.showAccessEdit,"onUpdate:modelValue":a[1]||(a[1]=e=>s.devices.showAccessEdit=e),onChange:s.handlePageChange,data:s.devices.deviceInfo},null,8,["modelValue","onChange","data"])):(0,t.Q3)("",!0),s.tunnel.showEdit?((0,t.uX)(),(0,t.Wv)(F,{key:2,modelValue:s.tunnel.showEdit,"onUpdate:modelValue":a[2]||(a[2]=e=>s.tunnel.showEdit=e),onChange:s.handleTunnelRefresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.connections.showEdit?((0,t.uX)(),(0,t.Wv)(C,{key:3,modelValue:s.connections.showEdit,"onUpdate:modelValue":a[3]||(a[3]=e=>s.connections.showEdit=e)},null,8,["modelValue"])):(0,t.Q3)("",!0),s.tuntap.showEdit?((0,t.uX)(),(0,t.Wv)(L,{key:4,modelValue:s.tuntap.showEdit,"onUpdate:modelValue":a[4]||(a[4]=e=>s.tuntap.showEdit=e),onChange:s.handleTuntapRefresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.socks5.showEdit?((0,t.uX)(),(0,t.Wv)(_,{key:5,modelValue:s.socks5.showEdit,"onUpdate:modelValue":a[5]||(a[5]=e=>s.socks5.showEdit=e),onChange:s.handleSocks5Refresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.tuntap.showLease?((0,t.uX)(),(0,t.Wv)(E,{key:6,modelValue:s.tuntap.showLease,"onUpdate:modelValue":a[6]||(a[6]=e=>s.tuntap.showLease=e),onChange:s.handleTuntapRefresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.forward.showEdit?((0,t.uX)(),(0,t.Wv)(S,{key:7,modelValue:s.forward.showEdit,"onUpdate:modelValue":a[7]||(a[7]=e=>s.forward.showEdit=e)},null,8,["modelValue"])):(0,t.Q3)("",!0),s.sforward.showEdit?((0,t.uX)(),(0,t.Wv)(V,{key:8,modelValue:s.sforward.showEdit,"onUpdate:modelValue":a[8]||(a[8]=e=>s.sforward.showEdit=e)},null,8,["modelValue"])):(0,t.Q3)("",!0)])}l(4114);var d=l(3830),u=l(144),i=l(1219);function c(e,a,l,n,o,r){const s=(0,t.g2)("el-table-column"),d=(0,t.g2)("el-checkbox"),u=(0,t.g2)("el-table");return(0,t.uX)(),(0,t.Wv)(u,{border:"",style:{width:"100%"},height:"32px",size:"small",onSortChange:n.handleSortChange,class:"table-sort"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"MachineId",label:"设备名",width:"110",sortable:"custom"}),(0,t.bF)(s,{prop:"Version",label:"版本",width:"110",sortable:"custom"}),(0,t.bF)(s,{prop:"tunnel",label:"网关",width:"70",sortable:"custom"}),n.tuntap.show?((0,t.uX)(),(0,t.Wv)(s,{key:0,prop:"tuntap",label:"网卡IP",width:"160",sortable:"custom"})):(0,t.Q3)("",!0),n.socks5.show?((0,t.uX)(),(0,t.Wv)(s,{key:1,prop:"socks5",label:"代理转发",width:"160",sortable:"custom"})):(0,t.Q3)("",!0),(0,t.bF)(s,{label:"columns",fixed:"right"},{header:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.tuntap.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.tuntap.show=e),onChange:n.handleTuntapShow,size:"small",style:{"margin-right":"1rem"}},{default:(0,t.k6)((()=>[(0,t.eW)("网卡")])),_:1},8,["modelValue","onChange"]),(0,t.bF)(d,{modelValue:n.socks5.show,"onUpdate:modelValue":a[1]||(a[1]=e=>n.socks5.show=e),onChange:n.handleSocks5Show,size:"small",style:{"margin-right":"1rem"}},{default:(0,t.k6)((()=>[(0,t.eW)("代理")])),_:1},8,["modelValue","onChange"]),(0,t.bF)(d,{modelValue:n.forward.show,"onUpdate:modelValue":a[2]||(a[2]=e=>n.forward.show=e),onChange:n.handleForwardShow,size:"small",style:{"margin-right":"0rem"}},{default:(0,t.k6)((()=>[(0,t.eW)("转发")])),_:1},8,["modelValue","onChange"])])),_:1})])),_:1},8,["onSortChange"])}var h=l(4);const m=(e="0")=>(0,h.zG)("forwardclient/connections",e),p=e=>(0,h.zG)("forwardclient/removeconnection",e),w=(e="0")=>(0,h.zG)("forwardclient/getcount",e),g=(e="0")=>(0,h.zG)("forwardclient/get",e),f=()=>(0,h.zG)("forwardclient/bindips"),k=e=>(0,h.zG)("forwardclient/remove",e),v=e=>(0,h.zG)("forwardclient/add",e),b=()=>(0,h.zG)("forwardclient/refresh"),F=Symbol(),C=()=>{(0,d.B)();const e=(0,u.KR)({show:!0,timer:0,showEdit:!1,machineId:null,list:{},hashcode:0});(0,t.Gt)(F,e);const a=()=>{b()},l=()=>{w(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(l,1020)})).catch((()=>{e.value.timer=setTimeout(l,1020)}))},n=a=>{e.value.machineId=a[0],e.value.machineName=a[1],e.value.showEdit=!0},o=()=>{clearTimeout(e.value.timer)};return{forward:e,_getForwardCountInfo:l,handleForwardEdit:n,clearForwardTimeout:o,handleForwardRefresh:a}},L=()=>(0,t.WQ)(F),_=(e="0")=>(0,h.zG)("socks5client/connections",e),E=e=>(0,h.zG)("socks5client/removeconnection",e),S=(e="0")=>(0,h.zG)("socks5client/get",e),V=e=>(0,h.zG)("socks5client/run",e),y=e=>(0,h.zG)("socks5client/stop",e),I=e=>(0,h.zG)("socks5client/update",e),P=()=>(0,h.zG)("socks5client/refresh"),T=Symbol(),R=()=>{const e=(0,u.KR)({show:!0,timer:0,showEdit:!1,current:null,list:{},hashcode:0});(0,t.Gt)(T,e);const a=()=>{clearTimeout(e.value.timer),S(e.value.hashcode.toString()).then((l=>{if(e.value.hashcode=l.HashCode,l.List){for(let e in l.List)Object.assign(l.List[e],{running:2==l.List[e].Status,loading:1==l.List[e].Status});e.value.list=l.List}e.value.timer=setTimeout(a,1100)})).catch((l=>{e.value.timer=setTimeout(a,1100)}))},l=a=>{e.value.current=a,e.value.showEdit=!0},n=()=>{P()},o=()=>{clearTimeout(e.value.timer),e.value.timer=0},r=a=>Object.values(e.value.list).filter((e=>e.Port.toString().indexOf(a)>=0||e.Lans.filter((e=>e.IP.indexOf(a)>=0)).length>0)).map((e=>e.MachineId)),s=a=>{const l=Object.values(e.value.list).sort(((e,a)=>e.Port-a.Port));return l.map((e=>e.MachineId))};return{socks5:e,_getSocks5Info:a,handleSocks5Edit:l,handleSocks5Refresh:n,clearSocks5Timeout:o,getSocks5Machines:r,sortSocks5:s}},M=()=>(0,t.WQ)(T);var W=l(8104),B={emits:["sort"],setup(e,{emit:a}){const l=(0,W.W)();l.value.show="false"!=localStorage.getItem("tuntap.show");const t=M();t.value.show="false"!=localStorage.getItem("socks5.show");const n=L();n.value.show="false"!=localStorage.getItem("forward.show");const o=e=>{a("sort",e)},r=()=>{localStorage.setItem("tuntap.show",l.value.show)},s=()=>{localStorage.setItem("socks5.show",t.value.show)},d=()=>{localStorage.setItem("forward.show",n.value.show)};return{tuntap:l,socks5:t,forward:n,handleSortChange:o,handleTuntapShow:r,handleSocks5Show:s,handleForwardShow:d}}},N=l(1241);const x=(0,N.A)(B,[["render",c],["__scopeId","data-v-76d64500"]]);var z=x;const X=e=>((0,t.Qi)("data-v-6638f97d"),e=e(),(0,t.jt)(),e),A={class:"dropdown"},U=X((()=>(0,t.Lk)("span",null,"操作",-1)));function D(e,a,l,n,o,r){const s=(0,t.g2)("ArrowDown"),d=(0,t.g2)("el-icon"),u=(0,t.g2)("SwitchButton"),i=(0,t.g2)("el-dropdown-item"),c=(0,t.g2)("Delete"),h=(0,t.g2)("Flag"),m=(0,t.g2)("el-dropdown-menu"),p=(0,t.g2)("el-dropdown"),w=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(w,{label:"操作",fixed:"right"},{default:(0,t.k6)((e=>[(0,t.bF)(p,{size:"small"},{dropdown:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[e.row.showReboot&&n.hasReboot?((0,t.uX)(),(0,t.Wv)(i,{key:0,onClick:a=>n.handleExit(e.row.MachineId,e.row.MachineName)},{default:(0,t.k6)((()=>[(0,t.bF)(d,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1}),(0,t.eW)(" 重启")])),_:2},1032,["onClick"])):(0,t.Q3)("",!0),e.row.showDel&&n.hasRemove?((0,t.uX)(),(0,t.Wv)(i,{key:1,onClick:a=>n.handleDel(e.row.MachineId,e.row.MachineName)},{default:(0,t.k6)((()=>[(0,t.bF)(d,null,{default:(0,t.k6)((()=>[(0,t.bF)(c)])),_:1}),(0,t.eW)(" 删除")])),_:2},1032,["onClick"])):(0,t.Q3)("",!0),n.handleShowAccess(e.row,n.accessList[e.row.MachineId]||0)?((0,t.uX)(),(0,t.Wv)(i,{key:2,onClick:a=>n.handleAccess(e.row)},{default:(0,t.k6)((()=>[(0,t.bF)(d,null,{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1}),(0,t.eW)(" 权限")])),_:2},1032,["onClick"])):(0,t.Q3)("",!0)])),_:2},1024)])),default:(0,t.k6)((()=>[(0,t.Lk)("div",A,[U,(0,t.bF)(d,{class:"el-icon--right"},{default:(0,t.k6)((()=>[(0,t.bF)(s)])),_:1})])])),_:2},1024)])),_:1})}var K=l(9299),G=l(920),Q=l(7477),O=l(2933),q=l(5962),$={emits:["refresh","access"],components:{Delete:Q.epd,SwitchButton:Q.L$q,ArrowDown:Q.yd$,Flag:Q.lNU},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,q.q)(),o=(0,t.EW)((()=>l.value.config.Client.Access)),r=(0,t.EW)((()=>l.value.hasAccess("Access"))),s=(0,t.EW)((()=>n.value.list)),u=(0,t.EW)((()=>l.value.hasAccess("Reboot"))),i=(0,t.EW)((()=>l.value.hasAccess("Remove"))),c=(e,l)=>{O.s.confirm(`确认删除[${l}]?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,K.Se)(e).then((()=>{a("refresh")}))})).catch((()=>{}))},h=(e,l)=>{O.s.confirm(`确认关闭[${l}]?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,G.NS)(e).then((()=>{a("refresh")}))})).catch((()=>{}))},m=(e,a)=>e.showAccess&&r.value&&a>=0&&0==+(~BigInt(o.value)&BigInt(a)).toString(),p=e=>{a("access",e)};return{accessList:s,handleDel:c,handleExit:h,hasReboot:u,hasRemove:i,hasAccess:r,handleShowAccess:m,handleAccess:p}}};const j=(0,N.A)($,[["render",D],["__scopeId","data-v-6638f97d"]]);var H=j,J=l(4232);const Y=e=>((0,t.Qi)("data-v-5db71b03"),e=e(),(0,t.jt)(),e),Z={class:"flex"},ee=Y((()=>(0,t.Lk)("span",{class:"flex-1"},"设备",-1))),ae={class:"flex"},le=["onClick"],te=["onClick"],ne=Y((()=>(0,t.Lk)("span",null,"😴㊙.㊙.㊙.㊙",-1))),oe=[ne],re=Y((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1)));function se(e,a,l,n,o,r){const s=(0,t.g2)("el-input"),d=(0,t.g2)("Search"),u=(0,t.g2)("el-icon"),i=(0,t.g2)("el-button"),c=(0,t.g2)("DeviceName"),h=(0,t.g2)("UpdaterBtn"),m=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(m,{prop:"MachineId",label:"设备",width:"220"},{header:(0,t.k6)((()=>[(0,t.Lk)("div",Z,[ee,(0,t.Lk)("span",null,[(0,t.bF)(s,{size:"small",modelValue:n.name,"onUpdate:modelValue":a[0]||(a[0]=e=>n.name=e),clearable:"",onInput:n.handleRefresh,placeholder:"设备/虚拟网卡/端口转发"},null,8,["modelValue","onInput"])]),(0,t.Lk)("span",null,[(0,t.bF)(i,{size:"small",onClick:n.handleRefresh},{default:(0,t.k6)((()=>[(0,t.bF)(u,null,{default:(0,t.k6)((()=>[(0,t.bF)(d)])),_:1})])),_:1},8,["onClick"])])])])),default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("p",null,[(0,t.bF)(c,{onEdit:n.handleEdit,config:!0,item:e.row},null,8,["onEdit","item"])]),(0,t.Lk)("p",ae,[e.row.showip?((0,t.uX)(),(0,t.CE)("span",{key:0,title:"此设备的外网IP",class:"ipaddress",onClick:a=>n.handleExternal(e.row)},[(0,t.Lk)("span",null,"😀"+(0,J.v_)(e.row.IP),1)],8,le)):((0,t.uX)(),(0,t.CE)("span",{key:1,title:"此设备的外网IP",class:"ipaddress",onClick:a=>n.handleExternal(e.row)},oe,8,te)),re,0==e.row.showip?((0,t.uX)(),(0,t.Wv)(h,{key:2,config:!0,item:e.row},null,8,["item"])):(0,t.Q3)("",!0)])])])),_:1})}var de=l(167),ue=l(8695),ie={emits:["edit","refresh"],components:{Search:Q.vji,UpdaterBtn:de.A,DeviceName:ue.A},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.hasAccess("ExternalShow"))),o=(0,u.KR)(sessionStorage.getItem("search-name")||""),r=e=>{n.value&&(e.showip=!e.showip)},s=e=>{a("edit",e)},i=()=>{sessionStorage.setItem("search-name",o.value),a("refresh",o.value)};return{handleEdit:s,handleRefresh:i,name:o,handleExternal:r}}};const ce=(0,N.A)(ie,[["render",se],["__scopeId","data-v-5db71b03"]]);var he=ce;const me=(0,t.Lk)("div",null,"修改后最好能重启一次客户端",-1),pe={class:"t-c w-100"};function we(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-button"),i=(0,t.g2)("el-form"),c=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(c,{modelValue:n.state.show,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.ruleForm.MachineName}]设备`,width:"300"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(i,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"auto"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:""},{default:(0,t.k6)((()=>[me])),_:1}),(0,t.bF)(s,{label:"设备名",prop:"MachineName"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{maxlength:"12","show-word-limit":"",modelValue:n.state.ruleForm.MachineName,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.MachineName=e)},null,8,["modelValue"])])),_:1}),(0,t.bF)(s,{label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",pe,[(0,t.bF)(u,{onClick:a[1]||(a[1]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(u,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var ge={props:["data","modelValue"],emits:["change","update:modelValue"],setup(e,{emit:a}){const l=(0,u.KR)(null),n=(0,u.Kh)({show:!0,ruleForm:{MachineName1:e.data.MachineName,MachineName:e.data.MachineName},rules:{}});(0,t.wB)((()=>n.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const o=()=>{e.data.MachineName!=n.ruleForm.MachineName&&(0,K.gC)({Id:e.data.MachineId,newName:n.ruleForm.MachineName}).then((()=>{n.show=!1,i.nk.success("已操作!"),a("change")})).catch((()=>{i.nk.error("操作失败!")}))};return{state:n,ruleFormRef:l,handleSave:o}}};const fe=(0,N.A)(ge,[["render",we]]);var ke=fe,ve=l(7985);function be(e,a,l,n,o,r){const s=(0,t.g2)("Access"),d=(0,t.g2)("el-button"),u=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(u,{modelValue:n.state.show,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.show=e),"close-on-click-modal":!1,center:"","append-to":".app-wrap",title:`设置[${n.machineName}]的权限`,width:"580",top:"1vh"},{footer:(0,t.k6)((()=>[(0,t.bF)(d,{plain:"",onClick:a[0]||(a[0]=e=>n.state.show=!1),loading:n.state.loading},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1},8,["loading"]),(0,t.bF)(d,{type:"success",plain:"",onClick:n.handleSave,loading:n.state.loading},{default:(0,t.k6)((()=>[(0,t.eW)("确定保存")])),_:1},8,["onClick","loading"])])),default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(s,{machineid:n.machineid,ref:"accessDom"},null,8,["machineid"])])])),_:1},8,["modelValue","title"])}var Fe=l(3363),Ce=l(9593),Le={props:["data","modelValue"],emits:["change","update:modelValue"],components:{Access:Ce.A},setup(e,{emit:a}){const l=(0,u.Kh)({show:!0,loading:!1});(0,t.wB)((()=>l.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const n=(0,u.KR)(null),o=()=>{l.loading=!0,(0,Fe.ZK)({ToMachineId:e.data.MachineId,Access:n.value.getValue()}).then((()=>{l.loading=!1,l.show=!1,i.nk.success("已操作!"),a("change")})).catch((()=>{l.loading=!1,i.nk.error("操作失败!")}))};return{machineName:e.data.MachineName,machineid:e.data.MachineId,state:l,accessDom:n,handleSave:o}}};const _e=(0,N.A)(Le,[["render",be]]);var Ee=_e;const Se={key:0};function Ve(e,a,l,n,o,r){const s=(0,t.g2)("TuntapShow"),d=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(d,{prop:"tuntap",label:"虚拟网卡",width:"160"},{header:(0,t.k6)((()=>[(0,t.Lk)("a",{href:"javascript:;",class:"a-line",onClick:a[0]||(a[0]=(...e)=>n.handleShowLease&&n.handleShowLease(...e))},"虚拟网卡")])),default:(0,t.k6)((e=>[n.tuntap.list[e.row.MachineId]?((0,t.uX)(),(0,t.CE)("div",Se,[(0,t.bF)(s,{config:!0,item:e.row,onEdit:n.handleTuntapIP,onRefresh:n.handleTuntapRefresh},null,8,["item","onEdit","onRefresh"])])):(0,t.Q3)("",!0)])),_:1})}var ye=l(3460),Ie={emits:["edit","refresh"],components:{TuntapShow:ye.A},setup(e,{emit:a}){const l=(0,W.W)(),t=e=>{a("edit",e)},n=()=>{a("refresh")},o=()=>{l.value.showLease=!0};return{tuntap:l,handleTuntapIP:t,handleTuntapRefresh:n,handleShowLease:o}}};const Pe=(0,N.A)(Ie,[["render",Ve]]);var Te=Pe;const Re=e=>((0,t.Qi)("data-v-29cf1b30"),e=e(),(0,t.jt)(),e),Me=Re((()=>(0,t.Lk)("span",null,"/",-1))),We=Re((()=>(0,t.Lk)("span",{style:{width:"2rem"}},null,-1))),Be={key:0,class:"upgrade-wrap"},Ne=Re((()=>(0,t.Lk)("span",{class:"yellow"},"此设备能使用NAT转发,只需局域网IP,剩下的交给NAT(linux、macos、win10+)",-1))),xe={class:"flex-1"},ze=Re((()=>(0,t.Lk)("span",null,"/",-1))),Xe={class:"pdl-10"},Ae={class:"pdl-10"},Ue=Re((()=>(0,t.Lk)("span",{class:"yellow"},"此设备无法使用NAT转发,或只想使用端口转发",-1))),De={class:"flex-1"},Ke={class:"pdl-10"};function Ge(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-checkbox"),i=(0,t.g2)("Delete"),c=(0,t.g2)("el-icon"),h=(0,t.g2)("el-button"),m=(0,t.g2)("Plus"),p=(0,t.g2)("el-form"),w=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(w,{modelValue:n.state.show,"onUpdate:modelValue":a[7]||(a[7]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]组网`,top:"1vh",width:"700"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(p,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"140"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"gateway",style:{"margin-bottom":"0"}},{default:(0,t.k6)((()=>[(0,t.eW)(" 赐予此设备IP,其它设备可通过此IP访问 ")])),_:1}),(0,t.bF)(s,{label:"此设备的虚拟网卡IP",prop:"IP"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.state.ruleForm.IP,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.IP=e),style:{width:"14rem"}},null,8,["modelValue"]),Me,(0,t.bF)(d,{onChange:n.handlePrefixLengthChange,modelValue:n.state.ruleForm.PrefixLength,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.ruleForm.PrefixLength=e),style:{width:"4rem"}},null,8,["onChange","modelValue"]),We,(0,t.bF)(u,{modelValue:n.state.ruleForm.ShowDelay,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.ruleForm.ShowDelay=e),label:"显示延迟",size:"large",style:{"margin-right":"1rem"}},null,8,["modelValue"]),(0,t.bF)(u,{modelValue:n.state.ruleForm.AutoConnect,"onUpdate:modelValue":a[3]||(a[3]=e=>n.state.ruleForm.AutoConnect=e),label:"自动连接",size:"large",style:{"margin-right":"1rem"}},null,8,["modelValue"]),(0,t.bF)(u,{modelValue:n.state.ruleForm.Multicast,"onUpdate:modelValue":a[4]||(a[4]=e=>n.state.ruleForm.Multicast=e),label:"禁用UDP广播",size:"large"},null,8,["modelValue"])])),_:1}),(0,t.bF)(s,{prop:"upgrade",style:{"margin-bottom":"0"}},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:n.state.ruleForm.Upgrade,"onUpdate:modelValue":a[5]||(a[5]=e=>n.state.ruleForm.Upgrade=e),label:"我很懂,我要使用高级功能(点对网和网对网)",size:"large"},null,8,["modelValue"])])),_:1}),n.state.ruleForm.Upgrade?((0,t.uX)(),(0,t.CE)("div",Be,[(0,t.bF)(s,{prop:"nat",style:{"margin-bottom":"0"}},{default:(0,t.k6)((()=>[Ne])),_:1}),(0,t.bF)(s,{label:"此设备局域网IP",prop:"LanIP",style:{"border-bottom":"1px solid #ddd","margin-bottom":"0"}},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.ruleForm.Lans,((e,a)=>((0,t.uX)(),(0,t.CE)("div",{key:a,class:"flex",style:{"margin-bottom":".6rem"}},[(0,t.Lk)("div",xe,[(0,t.bF)(d,{modelValue:e.IP,"onUpdate:modelValue":a=>e.IP=a,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),ze,(0,t.bF)(d,{onChange:e=>n.handleMaskChange(a),modelValue:e.PrefixLength,"onUpdate:modelValue":a=>e.PrefixLength=a,style:{width:"4rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",Xe,[(0,t.bF)(u,{modelValue:e.Disabled,"onUpdate:modelValue":a=>e.Disabled=a,label:"禁用记录",size:"large"},null,8,["modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",Ae,[(0,t.bF)(h,{type:"danger",onClick:e=>n.handleDel(a)},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})])),_:2},1032,["onClick"]),(0,t.bF)(h,{type:"primary",onClick:e=>n.handleAdd(a)},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])))),128))])),_:1}),(0,t.bF)(s,{prop:"forward",style:{"margin-bottom":"0"}},{default:(0,t.k6)((()=>[Ue])),_:1}),(0,t.bF)(s,{label:"端口转发",prop:"forwards"},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.ruleForm.Forwards,((e,a)=>((0,t.uX)(),(0,t.CE)("div",{key:a,class:"flex",style:{"margin-bottom":".6rem"}},[(0,t.Lk)("div",De,[(0,t.bF)(d,{onChange:e=>n.handleForwardChange(a),modelValue:e.ListenPort,"onUpdate:modelValue":a=>e.ListenPort=a,style:{width:"6rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"]),(0,t.eW)(" -> "),(0,t.bF)(d,{modelValue:e.ConnectAddr,"onUpdate:modelValue":a=>e.ConnectAddr=a,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),(0,t.eW)(" : "),(0,t.bF)(d,{onChange:e=>n.handleForwardChange(a),modelValue:e.ConnectPort,"onUpdate:modelValue":a=>e.ConnectPort=a,style:{width:"6rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"]),(0,t.eW)(" "),(0,t.bF)(d,{modelValue:e.Remark,"onUpdate:modelValue":a=>e.Remark=a,style:{width:"10rem"},placeholder:"备注"},null,8,["modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",Ke,[(0,t.bF)(h,{type:"danger",onClick:e=>n.handleDelForward(a)},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})])),_:2},1032,["onClick"]),(0,t.bF)(h,{type:"primary",onClick:e=>n.handleAddForward(a)},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])))),128))])),_:1})])):(0,t.Q3)("",!0),(0,t.bF)(s,{label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{onClick:a[6]||(a[6]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var Qe=l(5241),Oe={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:Q.epd,Plus:Q.FWt},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,W.W)(),o=(0,u.KR)(null),r=(0,u.Kh)({show:!0,machineName:n.value.current.device.MachineName,bufferSize:l.value.bufferSize,ruleForm:{IP:n.value.current.IP,Lans:n.value.current.Lans.slice(0),PrefixLength:n.value.current.PrefixLength||24,Gateway:n.value.current.Gateway,ShowDelay:n.value.current.ShowDelay,AutoConnect:n.value.current.AutoConnect,Upgrade:n.value.current.Upgrade,Multicast:n.value.current.Multicast,Forwards:0==n.value.current.Forwards.length?[{ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0,Remark:""}]:n.value.current.Forwards.slice(0)},rules:{}});0==r.ruleForm.Lans.length&&r.ruleForm.Lans.push({IP:"0.0.0.0",PrefixLength:24}),(0,t.wB)((()=>r.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const s=()=>{var e=+r.ruleForm.PrefixLength;(e>32||e<16||isNaN(e))&&(e=24),r.ruleForm.PrefixLength=e},c=e=>{var a=+r.ruleForm.Lans[e].PrefixLength;(a>32||a<16||isNaN(a))&&(a=24),r.ruleForm.Lans[e].PrefixLength=a},h=e=>{r.ruleForm.Lans.splice(e,1),0==r.ruleForm.Lans.length&&m(0)},m=e=>{r.ruleForm.Lans.splice(e+1,0,{IP:"0.0.0.0",PrefixLength:24})},p=()=>{const e=JSON.parse(JSON.stringify(n.value.current));e.IP=r.ruleForm.IP||"0.0.0.0",e.Lans=r.ruleForm.Lans.map((e=>(e.PrefixLength=+e.PrefixLength,e))),e.PrefixLength=+r.ruleForm.PrefixLength,e.Gateway=r.ruleForm.Gateway,e.ShowDelay=r.ruleForm.ShowDelay,e.AutoConnect=r.ruleForm.AutoConnect,e.Upgrade=r.ruleForm.Upgrade,e.Multicast=r.ruleForm.Multicast,e.Forwards=r.ruleForm.Forwards,e.Forwards.forEach((e=>{e.ListenPort=+e.ListenPort,e.ConnectPort=+e.ConnectPort})),(0,Qe.ac)(e).then((()=>{r.show=!1,i.nk.success("已操作!"),a("change")})).catch((()=>{i.nk.error("操作失败!")}))},w=e=>{r.ruleForm.Forwards.splice(e,1),0==r.ruleForm.Forwards.length&&g(0)},g=e=>{r.ruleForm.Forwards.splice(e+1,0,{ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0,Remark:""})},f=()=>{};return{state:r,ruleFormRef:o,handlePrefixLengthChange:s,handleMaskChange:c,handleDel:h,handleAdd:m,handleSave:p,handleForwardChange:f,handleDelForward:w,handleAddForward:g}}};const qe=(0,N.A)(Oe,[["render",Ge],["__scopeId","data-v-29cf1b30"]]);var $e=qe;const je=e=>((0,t.Qi)("data-v-60d5fe5c"),e=e(),(0,t.jt)(),e),He=je((()=>(0,t.Lk)("p",null,"网络租期30天、IP租期7天",-1))),Je=je((()=>(0,t.Lk)("span",null,"/",-1))),Ye=je((()=>(0,t.Lk)("span",{style:{width:"1rem"}},null,-1)));function Ze(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-button"),i=(0,t.g2)("el-form"),c=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(c,{modelValue:n.state.show,"onUpdate:modelValue":a[3]||(a[3]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:"配置本组的网络",top:"1vh",width:"400"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(i,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"100"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"gateway"},{default:(0,t.k6)((()=>[He])),_:1}),(0,t.bF)(s,{label:"网络和掩码",prop:"IP"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.state.ruleForm.IP,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.IP=e),style:{width:"14rem"}},null,8,["modelValue"]),Je,(0,t.bF)(d,{onChange:n.handlePrefixLengthChange,modelValue:n.state.ruleForm.PrefixLength,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.ruleForm.PrefixLength=e),style:{width:"4rem"}},null,8,["onChange","modelValue"]),Ye,(0,t.bF)(u,{onClick:n.handleClear},{default:(0,t.k6)((()=>[(0,t.eW)("清除")])),_:1},8,["onClick"])])),_:1}),n.hasLease?((0,t.uX)(),(0,t.Wv)(s,{key:0,label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(u,{onClick:a[2]||(a[2]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(u,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})):(0,t.Q3)("",!0)])),_:1},8,["model","rules"])])])),_:1},8,["modelValue"])}var ea={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:Q.epd,Plus:Q.FWt},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.hasAccess("Lease"))),o=(0,u.KR)(null),r=(0,u.Kh)({show:!0,ruleForm:{IP:"0.0.0.0",PrefixLength:24},rules:{}});(0,t.wB)((()=>r.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const s=()=>{(0,Qe.Nj)().then((e=>{r.ruleForm.IP=e.IP,r.ruleForm.PrefixLength=e.PrefixLength}))},c=()=>{var e=+r.ruleForm.PrefixLength;(e>32||e<16||isNaN(e))&&(e=24),r.ruleForm.PrefixLength=e},h=()=>{(0,Qe.AE)(r.ruleForm).then((()=>{i.nk.success("已操作"),r.show=!1})).catch((()=>{i.nk.error("操作失败")}))},m=()=>{(0,Qe.AE)({IP:"0.0.0.0",PrefixLength:24}).then((()=>{i.nk.success("已操作"),s()})).catch((()=>{i.nk.error("操作失败")}))};return(0,t.sV)((()=>{s()})),{state:r,hasLease:n,ruleFormRef:o,handleSave:h,handlePrefixLengthChange:c,handleClear:m}}};const aa=(0,N.A)(ea,[["render",Ze],["__scopeId","data-v-60d5fe5c"]]);var la=aa;const ta={key:0};function na(e,a,l,n,o,r){const s=(0,t.g2)("Socks5Show"),d=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(d,{prop:"socks5",label:"代理转发",width:"160"},{default:(0,t.k6)((e=>[n.socks5.list[e.row.MachineId]?((0,t.uX)(),(0,t.CE)("div",ta,[(0,t.bF)(s,{config:!0,item:e.row,onEdit:n.handleSocks5,onRefresh:n.handleSocks5Refresh},null,8,["item","onEdit","onRefresh"])])):(0,t.Q3)("",!0)])),_:1})}const oa={class:"flex"},ra={class:"flex-1"},sa=["title"],da={key:0,class:"green gateway"},ua={key:1},ia={key:0},ca={key:0,class:"flex yellow",title:"已禁用"},ha={key:1,class:"flex red",title:"与其它设备填写IP、或本机局域网IP有冲突"};function ma(e,a,l,n,o,r){const s=(0,t.g2)("Loading"),d=(0,t.g2)("el-icon"),u=(0,t.g2)("el-switch");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.Lk)("div",oa,[(0,t.Lk)("div",ra,[(0,t.Lk)("a",{href:"javascript:;",class:"a-line",onClick:a[0]||(a[0]=e=>n.handleSocks5Port(n.socks5.list[n.item.MachineId])),title:"此设备的socks5代理"},[n.socks5.list[n.item.MachineId].SetupError?((0,t.uX)(),(0,t.CE)("strong",{key:0,class:"red",title:n.socks5.list[n.item.MachineId].SetupError}," socks5://*:"+(0,J.v_)(n.socks5.list[n.item.MachineId].Port),9,sa)):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[n.socks5.list[n.item.MachineId].running?((0,t.uX)(),(0,t.CE)("strong",da,"socks5://*:"+(0,J.v_)(n.socks5.list[n.item.MachineId].Port),1)):((0,t.uX)(),(0,t.CE)("span",ua,"socks5://*:"+(0,J.v_)(n.socks5.list[n.item.MachineId].Port),1))],64))])]),n.socks5.list[n.item.MachineId].loading?((0,t.uX)(),(0,t.CE)("div",ia,[(0,t.bF)(d,{size:"14",class:"loading"},{default:(0,t.k6)((()=>[(0,t.bF)(s)])),_:1})])):((0,t.uX)(),(0,t.Wv)(u,{key:1,modelValue:n.socks5.list[n.item.MachineId].running,"onUpdate:modelValue":a[1]||(a[1]=e=>n.socks5.list[n.item.MachineId].running=e),loading:n.socks5.list[n.item.MachineId].loading,disabled:"",onClick:a[2]||(a[2]=e=>n.handleSocks5(n.socks5.list[n.item.MachineId])),size:"small","inline-prompt":"","active-text":"😀","inactive-text":"😣"},null,8,["modelValue","loading"]))]),(0,t.Lk)("div",null,[(0,t.Lk)("div",null,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.socks5.list[n.item.MachineId].Lans,((e,a)=>((0,t.uX)(),(0,t.CE)(t.FK,{key:a},[e.Disabled?((0,t.uX)(),(0,t.CE)("div",ca,(0,J.v_)(e.IP)+" / "+(0,J.v_)(e.PrefixLength),1)):e.Exists?((0,t.uX)(),(0,t.CE)("div",ha,(0,J.v_)(e.IP)+" / "+(0,J.v_)(e.PrefixLength),1)):((0,t.uX)(),(0,t.CE)("div",{key:2,class:(0,J.C4)(["flex",{green:n.socks5.list[n.item.MachineId].running}]),title:"正常使用"},(0,J.v_)(e.IP)+" / "+(0,J.v_)(e.PrefixLength),3))],64)))),128))])])])}var pa={props:["item","config"],emits:["edit","refresh"],components:{Loading:Q.Rhj},setup(e,{emit:a}){const l=M(),n=(0,d.B)(),o=(0,t.EW)((()=>n.value.config.Client.Id)),r=(0,t.EW)((()=>n.value.hasAccess("Socks5ChangeSelf"))),s=(0,t.EW)((()=>n.value.hasAccess("Socks5ChangeOther"))),u=(0,t.EW)((()=>n.value.hasAccess("Socks5StatusSelf"))),c=(0,t.EW)((()=>n.value.hasAccess("Socks5StatusOther"))),h=a=>{if(!e.config)return;if(o.value===a.MachineId){if(!u.value)return}else if(!c.value)return;const l=a.running?y(a.MachineId):V(a.MachineId);a.loading=!0,l.then((()=>{i.nk.success("操作成功!")})).catch((()=>{i.nk.error("操作失败!")}))},m=l=>{if(e.config||o.value==l.MachineId){if(o.value===l.MachineId){if(!r.value)return}else if(!s.value)return;l.device=e.item,a("edit",l)}},p=()=>{a("refresh")};return{item:(0,t.EW)((()=>e.item)),socks5:l,handleSocks5:h,handleSocks5Port:m,handleSocks5Refresh:p}}};const wa=(0,N.A)(pa,[["render",ma],["__scopeId","data-v-3a10697e"]]);var ga=wa,fa={emits:["edit","refresh"],components:{Socks5Show:ga},setup(e,{emit:a}){const l=M(),t=e=>{a("edit",e)},n=()=>{a("refresh")};return{socks5:l,handleSocks5:t,handleSocks5Refresh:n}}};const ka=(0,N.A)(fa,[["render",na]]);var va=ka;const ba=e=>((0,t.Qi)("data-v-5abfef9c"),e=e(),(0,t.jt)(),e),Fa={class:"upgrade-wrap"},Ca={class:"flex-1"},La=ba((()=>(0,t.Lk)("span",null,"/",-1))),_a={class:"pdl-10"},Ea={class:"pdl-10"};function Sa(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-checkbox"),i=(0,t.g2)("Delete"),c=(0,t.g2)("el-icon"),h=(0,t.g2)("el-button"),m=(0,t.g2)("Plus"),p=(0,t.g2)("el-form"),w=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(w,{modelValue:n.state.show,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]代理`,top:"1vh",width:"600"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(p,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"140"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"gateway",style:{"margin-bottom":"0"}},{default:(0,t.k6)((()=>[(0,t.eW)(" 配置代理,通过代理访问其它设备 ")])),_:1}),(0,t.bF)(s,{label:"代理端口",prop:"Port"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.state.ruleForm.Port,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.Port=e),style:{width:"14rem"}},null,8,["modelValue"])])),_:1}),(0,t.Lk)("div",Fa,[(0,t.bF)(s,{label:"此设备局域网IP",prop:"LanIP",class:"lan-item"},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.ruleForm.Lans,((e,a)=>((0,t.uX)(),(0,t.CE)("div",{key:a,class:"flex",style:{"margin-bottom":".6rem"}},[(0,t.Lk)("div",Ca,[(0,t.bF)(d,{modelValue:e.IP,"onUpdate:modelValue":a=>e.IP=a,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),La,(0,t.bF)(d,{onChange:e=>n.handleMaskChange(a),modelValue:e.PrefixLength,"onUpdate:modelValue":a=>e.PrefixLength=a,style:{width:"4rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",_a,[(0,t.bF)(u,{modelValue:e.Disabled,"onUpdate:modelValue":a=>e.Disabled=a,label:"禁用记录",size:"large"},null,8,["modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",Ea,[(0,t.bF)(h,{type:"danger",onClick:e=>n.handleDel(a)},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})])),_:2},1032,["onClick"]),(0,t.bF)(h,{type:"primary",onClick:e=>n.handleAdd(a)},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])))),128))])),_:1})]),(0,t.bF)(s,{label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{onClick:a[1]||(a[1]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var Va={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:Q.epd,Plus:Q.FWt},setup(e,{emit:a}){const l=(0,d.B)(),n=M(),o=(0,u.KR)(null),r=(0,u.Kh)({show:!0,machineName:n.value.current.device.MachineName,bufferSize:l.value.bufferSize,ruleForm:{Port:n.value.current.Port,Lans:n.value.current.Lans.slice(0)},rules:{}});0==r.ruleForm.Lans.length&&r.ruleForm.Lans.push({IP:"0.0.0.0",PrefixLength:24}),(0,t.wB)((()=>r.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const s=e=>{var a=+r.ruleForm.Lans[e].PrefixLength;(a>32||a<16||isNaN(a))&&(a=24),r.ruleForm.Lans[e].PrefixLength=a},c=e=>{r.ruleForm.Lans.splice(e,1),0==r.ruleForm.Lans.length&&h(0)},h=e=>{r.ruleForm.Lans.splice(e+1,0,{IP:"0.0.0.0",PrefixLength:24})},m=()=>{const e=JSON.parse(JSON.stringify(n.value.current));e.Port=+(r.ruleForm.Port||"1805"),e.Lans=r.ruleForm.Lans.map((e=>(e.PrefixLength=+e.PrefixLength,e))),I(e).then((()=>{r.show=!1,i.nk.success("已操作!"),a("change")})).catch((()=>{i.nk.error("操作失败!")}))};return{state:r,ruleFormRef:o,handleMaskChange:s,handleDel:c,handleAdd:h,handleSave:m}}};const ya=(0,N.A)(Va,[["render",Sa],["__scopeId","data-v-5abfef9c"]]);var Ia=ya;const Pa={key:0},Ta=["title","onClick"],Ra=["onClick"];function Ma(e,a,l,n,o,r){const s=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(s,{prop:"tunnel",label:"隧道",width:"70"},{default:(0,t.k6)((e=>[n.tunnel.list[e.row.MachineId]?((0,t.uX)(),(0,t.CE)("div",Pa,[(0,t.Lk)("a",{href:"javascript:;",class:(0,J.C4)(["a-line",{yellow:n.tunnel.list[e.row.MachineId].NeedReboot}]),title:n.tunnel.list[e.row.MachineId].NeedReboot?"需要重启":"调整网关层级有助于打洞成功",onClick:a=>n.handleTunnel(n.tunnel.list[e.row.MachineId],e.row)},[(0,t.Lk)("span",null,"网关:"+(0,J.v_)(n.tunnel.list[e.row.MachineId].RouteLevel)+"+"+(0,J.v_)(n.tunnel.list[e.row.MachineId].RouteLevelPlus),1)],10,Ta)])):(0,t.Q3)("",!0),(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"与此设备的隧道连接",class:(0,J.C4)(["a-line",{green:n.connectionCount(e.row.MachineId)>0}]),onClick:a=>n.handleConnections(e.row)},[(0,t.Lk)("span",{class:(0,J.C4)({gateway:n.connectionCount(e.row.MachineId)>0})},[(0,t.eW)("连接:"),(0,t.Lk)("span",null,(0,J.v_)(n.connectionCount(e.row.MachineId)),1)],2)],10,Ra)])])),_:1})}var Wa=l(83);const Ba=Symbol(),Na=()=>{(0,d.B)();const e=(0,u.KR)({timer:0,showEdit:!1,current:null,list:{},hashcode:0});(0,t.Gt)(Ba,e);const a=()=>{(0,Wa.r7)(e.value.hashcode.toString()).then((l=>{e.value.hashcode=l.HashCode,l.List&&(e.value.list=l.List),e.value.timer=setTimeout(a,1060)})).catch((()=>{e.value.timer=setTimeout(a,1060)}))},l=a=>{e.value.current=a,e.value.showEdit=!0},n=()=>{(0,Wa.gM)()},o=()=>{clearTimeout(e.value.timer)},r=a=>Object.values(e.value.list).sort(((e,a)=>e.RouteLevel+e.RouteLevelPlus-a.RouteLevel+a.RouteLevelPlus)).map((e=>e.MachineId));return{tunnel:e,_getTunnelInfo:a,handleTunnelEdit:l,handleTunnelRefresh:n,clearTunnelTimeout:o,sortTunnel:r}},xa=()=>(0,t.WQ)(Ba),za=Symbol(),Xa=Symbol(),Aa=Symbol(),Ua=Symbol(),Da=()=>{const e=(0,u.KR)({showEdit:!1,speedCache:{},current:"",currentName:"",hashcode:0,hashcode1:0,_updateRealTime:!1,updateRealTime:a=>{e.value.hashcode=0,e.value.hashcode1=0,e.value._updateRealTime=a}});(0,t.Gt)(za,e);const a=(0,u.KR)({timer:0,list:{}});(0,t.Gt)(Xa,a);const l=()=>{m(e.value.hashcode.toString()).then((t=>{0==e.value._updateRealTime&&(e.value.hashcode=t.HashCode),t.List&&(d(t.List,p),a.value.list=t.List),a.value.timer=setTimeout(l,1e3)})).catch((e=>{a.value.timer=setTimeout(l,1e3)}))},n=(0,u.KR)({timer:0,list:{}});(0,t.Gt)(Aa,n);const o=()=>{(0,Qe.kl)(e.value.hashcode1.toString()).then((a=>{0==e.value._updateRealTime&&(e.value.hashcode1=a.HashCode),a.List&&(d(a.List,Qe.vB),n.value.list=a.List),n.value.timer=setTimeout(o,1e3)})).catch((e=>{n.value.timer=setTimeout(o,1e3)}))},r=(0,u.KR)({timer:0,list:{}});(0,t.Gt)(Ua,r);const s=()=>{_(e.value.hashcode1.toString()).then((a=>{0==e.value._updateRealTime&&(e.value.hashcode1=a.HashCode),a.List&&(d(a.List,E),r.value.list=a.List),r.value.timer=setTimeout(s,1e3)})).catch((e=>{r.value.timer=setTimeout(s,1e3)}))},d=(a,l)=>{const t=e.value.speedCache;for(let e in a){const n=a[e];n.removeFunc=l;const o=`${n.RemoteMachineId}-${n.TransactionId}`,r=t[o]||{SendBytes:0,ReceiveBytes:0};n.SendBytesText=i(n.SendBytes-r.SendBytes),n.ReceiveBytesText=i(n.ReceiveBytes-r.ReceiveBytes),r.SendBytes=n.SendBytes,r.ReceiveBytes=n.ReceiveBytes,t[o]=r}},i=e=>{let a=0;while(e>=1024)e/=1024,a++;return`${e.toFixed(2)}${["B/s","KB/s","MB/s","GB/s","TB/s"][a]}`},c=a=>{e.value.current=a.MachineId,e.value.currentName=a.MachineName,e.value.showEdit=!0},h=()=>{clearTimeout(a.value.timer),clearTimeout(n.value.timer),clearTimeout(r.value.timer)};return{connections:e,forwardConnections:a,_getForwardConnections:l,tuntapConnections:n,_getTuntapConnections:o,socks5Connections:r,_getSocks5Connections:s,handleTunnelConnections:c,clearConnectionsTimeout:h}},Ka=()=>(0,t.WQ)(za),Ga=()=>(0,t.WQ)(Xa),Qa=()=>(0,t.WQ)(Aa),Oa=()=>(0,t.WQ)(Ua);var qa={emits:["edit","refresh"],setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.config.Client.Id)),o=(0,t.EW)((()=>l.value.hasAccess("TunnelChangeSelf"))),r=(0,t.EW)((()=>l.value.hasAccess("TunnelChangeOther"))),s=xa(),u=(Ka(),Ga()),i=Qa(),c=Oa(),h=e=>[u.value.list[e],i.value.list[e],c.value.list[e]].filter((e=>!!e&&e.Connected)).length,m=(e,l)=>{if(n.value===e.MachineId){if(!o.value)return}else if(!r.value)return;e.device=l,a("edit",e)},p=()=>{a("refresh")},w=e=>{a("connections",e)};return{tunnel:s,handleTunnel:m,handleTunnelRefresh:p,connectionCount:h,handleConnections:w}}};const $a=(0,N.A)(qa,[["render",Ma],["__scopeId","data-v-463c1a22"]]);var ja=$a;const Ha=e=>((0,t.Qi)("data-v-1f7f67a4"),e=e(),(0,t.jt)(),e),Ja=Ha((()=>(0,t.Lk)("div",null,"网关层级为你的设备与外网的距离,你可以手动调整数值",-1))),Ya=Ha((()=>(0,t.Lk)("div",null,"光猫映射了端口后,可以直接连接,把TcpPortMap调到第一",-1))),Za={class:"t-c w-100"};function el(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-col"),i=(0,t.g2)("el-input-number"),c=(0,t.g2)("el-row"),h=(0,t.g2)("el-button"),m=(0,t.g2)("el-form"),p=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":a[5]||(a[5]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]网关`,width:"400"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(m,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"auto"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"",prop:"alert"},{default:(0,t.k6)((()=>[Ja])),_:1}),(0,t.bF)(s,{label:""},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"网关层级",prop:"RouteLevel"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{readonly:"",modelValue:n.state.ruleForm.RouteLevel,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.RouteLevel=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"调整层级",prop:"RouteLevelPlus"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:n.state.ruleForm.RouteLevelPlus,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.ruleForm.RouteLevelPlus=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"",prop:"alert"},{default:(0,t.k6)((()=>[Ya])),_:1}),(0,t.bF)(s,{label:""},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"外网端口",prop:"PortMapWan"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:n.state.ruleForm.PortMapWan,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.ruleForm.PortMapWan=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"内网端口",prop:"PortMapLan"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:n.state.ruleForm.PortMapLan,"onUpdate:modelValue":a[3]||(a[3]=e=>n.state.ruleForm.PortMapLan=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",Za,[(0,t.bF)(h,{onClick:a[4]||(a[4]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var al={props:["modelValue"],emits:["change","update:modelValue"],setup(e,{emit:a}){const l=xa(),n=(0,u.KR)(null),o=(0,u.Kh)({show:!0,machineName:l.value.current.device.MachineName,ruleForm:{RouteLevel:l.value.current.RouteLevel,RouteLevelPlus:l.value.current.RouteLevelPlus,PortMapWan:l.value.current.PortMapWan,PortMapLan:l.value.current.PortMapLan},rules:{}});(0,t.wB)((()=>o.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const r=()=>{const e=JSON.parse(JSON.stringify(l.value.current));e.RouteLevel=+o.ruleForm.RouteLevel,e.RouteLevelPlus=+o.ruleForm.RouteLevelPlus,e.PortMapWan=+o.ruleForm.PortMapWan,e.PortMapLan=+o.ruleForm.PortMapLan,(0,Wa.KW)(e).then((()=>{o.show=!1,i.nk.success("已操作!"),a("change")})).catch((()=>{i.nk.error("操作失败!")}))};return{state:o,ruleFormRef:n,handleSave:r}}};const ll=(0,N.A)(al,[["render",el],["__scopeId","data-v-1f7f67a4"]]);var tl=ll;const nl=["onClick"],ol=["onClick"],rl=["onClick"],sl=["onClick"];function dl(e,a,l,n,o,r){const s=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(s,{prop:"forward",label:"转发/穿透"},{default:(0,t.k6)((a=>[a.row.Connected?((0,t.uX)(),(0,t.CE)(t.FK,{key:0},[a.row.isSelf&&(n.hasForwardShowSelf||e.hasForwardSelf)?((0,t.uX)(),(0,t.CE)(t.FK,{key:0},[(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的端口转发",class:(0,J.C4)({green:n.forward.list[a.row.MachineId]>0}),onClick:e=>n.handleEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,J.C4)({gateway:n.forward.list[a.row.MachineId]>0})},"端口转发("+(0,J.v_)(n.forward.list[a.row.MachineId]>99?"99+":n.forward.list[a.row.MachineId])+")",3)],10,nl)]),(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的内网穿透",class:(0,J.C4)({green:n.sforward.list[a.row.MachineId]>0}),onClick:e=>n.handleSEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,J.C4)({gateway:n.sforward.list[a.row.MachineId]>0})},"内网穿透("+(0,J.v_)(n.sforward.list[a.row.MachineId]>99?"99+":n.sforward.list[a.row.MachineId])+")",3)],10,ol)])],64)):n.hasForwardShowOther||e.hasForwardOther?((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的端口转发",class:(0,J.C4)({green:n.forward.list[a.row.MachineId]>0}),onClick:e=>n.handleEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,J.C4)({gateway:n.forward.list[a.row.MachineId]>0})},"端口转发("+(0,J.v_)(n.forward.list[a.row.MachineId]>99?"99+":n.forward.list[a.row.MachineId])+")",3)],10,rl)]),(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的内网穿透",class:(0,J.C4)({green:n.sforward.list[a.row.MachineId]>0}),onClick:e=>n.handleSEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,J.C4)({gateway:n.sforward.list[a.row.MachineId]>0})},"内网穿透("+(0,J.v_)(n.sforward.list[a.row.MachineId]>99?"99+":n.sforward.list[a.row.MachineId])+")",3)],10,sl)])],64)):(0,t.Q3)("",!0)],64)):(0,t.Q3)("",!0)])),_:1})}var ul=l(743);const il=Symbol(),cl=()=>{const e=(0,d.B)(),a=((0,t.EW)((()=>e.value.config.Client.Id)),(0,u.KR)({timer:0,showEdit:!1,showCopy:!1,list:{},testTimer:0,hashcode:0,machineid:"",machineName:""}));(0,t.Gt)(il,a);const l=()=>{(0,ul.a9)()},n=()=>{(0,ul.gz)(a.value.hashcode.toString()).then((e=>{a.value.hashcode=e.HashCode,e.List&&(a.value.list=e.List),a.value.timer=setTimeout(n,1020)})).catch((()=>{a.value.timer=setTimeout(n,1020)}))},o=e=>{a.value.machineid=e[0],a.value.machineName=e[1],a.value.showEdit=!0},r=()=>{clearTimeout(a.value.timer),clearTimeout(a.value.testTimer)};return{sforward:a,_getSForwardCountInfo:n,handleSForwardEdit:o,clearSForwardTimeout:r,handleSForwardRefresh:l}},hl=()=>(0,t.WQ)(il);var ml={emits:["edit","sedit"],setup(e,{emit:a}){const l=L(),n=hl(),o=(0,d.B)(),r=(0,t.EW)((()=>o.value.config.Client.Id)),s=(0,t.EW)((()=>o.value.hasAccess("ForwardShowSelf"))),u=(0,t.EW)((()=>o.value.hasAccess("ForwardShowOther"))),i=(0,t.EW)((()=>o.value.hasAccess("ForwardSelf"))),c=(0,t.EW)((()=>o.value.hasAccess("ForwardOther"))),h=(e,l)=>{if(r.value===e){if(!i.value)return}else if(!c.value)return;a("edit",[e,l])},m=(e,l)=>{if(r.value===e){if(!i.value)return}else if(!c.value)return;a("sedit",[e,l])},p=()=>{a("refresh")};return{forward:l,sforward:n,hasForwardShowSelf:s,hasForwardShowOther:u,handleEdit:h,handleSEdit:m,handleForwardRefresh:p}}};const pl=(0,N.A)(ml,[["render",dl],["__scopeId","data-v-bc0b64b8"]]);var wl=pl;const gl={class:"t-c head"},fl=["title"],kl={class:"t-c"},vl={class:"page-wrap"},bl=["title"];function Fl(e,a,l,n,o,r){const s=(0,t.g2)("el-button"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-table-column"),i=(0,t.g2)("el-option"),c=(0,t.g2)("el-select"),h=(0,t.g2)("WarnTriangleFilled"),m=(0,t.g2)("el-icon"),p=(0,t.g2)("el-pagination"),w=(0,t.g2)("el-switch"),g=(0,t.g2)("Delete"),f=(0,t.g2)("el-popconfirm"),k=(0,t.g2)("el-table"),v=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(v,{modelValue:n.state.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:`【${n.state.machineName}】的端口转发`,top:"1vh",width:"780"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.Lk)("div",gl,[(0,t.bF)(s,{type:"success",size:"small",onClick:n.handleAdd},{default:(0,t.k6)((()=>[(0,t.eW)("添加")])),_:1},8,["onClick"]),(0,t.bF)(s,{size:"small",onClick:n.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)("刷新")])),_:1},8,["onClick"])]),(0,t.bF)(k,{data:n.state.data,size:"small",border:"",height:"500",onCellDblclick:n.handleCellClick},{default:(0,t.k6)((()=>[(0,t.bF)(u,{property:"Name",label:"名称",width:"100"},{default:(0,t.k6)((e=>[e.row.NameEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":a=>e.row.Name=a,onBlur:a=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,J.v_)(e.row.Name),1)],64))])),_:1}),(0,t.bF)(u,{prop:"BufferSize",label:"缓冲区",width:"80"},{default:(0,t.k6)((e=>[e.row.BufferSizeEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(c,{key:0,modelValue:e.row.BufferSize,"onUpdate:modelValue":a=>e.row.BufferSize=a,placeholder:"Select",size:"small",disabled:e.row.Started,onChange:a=>n.handleEditBlur(e.row,"BufferSize")},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.bufferSize,((e,a)=>((0,t.uX)(),(0,t.Wv)(i,{key:a,label:e,value:a},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,J.v_)(n.state.bufferSize[e.row.BufferSize]),1)],64))])),_:1}),(0,t.bF)(u,{property:"BindIPAddress",label:"监听IP",width:"140"},{default:(0,t.k6)((e=>[e.row.BindIPAddressEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(c,{key:0,modelValue:e.row.BindIPAddress,"onUpdate:modelValue":a=>e.row.BindIPAddress=a,size:"small",disabled:e.row.Started,onChange:a=>n.handleEditBlur(e.row,"BindIPAddress")},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.ips,(e=>((0,t.uX)(),(0,t.Wv)(i,{key:e,label:e,value:e},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,J.v_)(e.row.BindIPAddress),1)],64))])),_:1}),(0,t.bF)(u,{property:"Port",label:"监听端口",width:"80"},{default:(0,t.k6)((e=>[e.row.PortEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,type:"number",autofocus:"",size:"small",modelValue:e.row.Port,"onUpdate:modelValue":a=>e.row.Port=a,onBlur:a=>n.handleEditBlur(e.row,"Port")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Msg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.Msg},[(0,t.Lk)("span",null,(0,J.v_)(e.row.Port),1),(0,t.bF)(m,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1})],8,fl)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,J.C4)({green:e.row.Started})},(0,J.v_)(e.row.Port),3))],64))])),_:1}),(0,t.bF)(u,{property:"MachineId",label:"目标"},{default:(0,t.k6)((e=>[e.row.MachineIdEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(c,{key:0,modelValue:e.row.MachineId,"onUpdate:modelValue":a=>e.row.MachineId=a,onChange:a=>n.handleEditBlur(e.row,"MachineId"),filterable:"",remote:"",loading:n.state.loading,"remote-method":n.handleSearch},{header:(0,t.k6)((()=>[(0,t.Lk)("div",kl,[(0,t.Lk)("div",vl,[(0,t.bF)(p,{small:"",background:"",layout:"prev, pager, next","page-size":n.state.machineIds.Request.Size,total:n.state.machineIds.Count,"pager-count":5,"current-page":n.state.machineIds.Request.Page,onCurrentChange:n.handlePageChange},null,8,["page-size","total","current-page","onCurrentChange"])])])])),default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.machineIds.List,((e,a)=>((0,t.uX)(),(0,t.Wv)(i,{key:a,label:e.MachineName,value:e.MachineId},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","onChange","loading","remote-method"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,J.v_)(e.row.MachineName),1)],64))])),_:1}),(0,t.bF)(u,{property:"TargetEP",label:"目标服务",width:"140"},{default:(0,t.k6)((e=>[e.row.TargetEPEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.TargetEP,"onUpdate:modelValue":a=>e.row.TargetEP=a,onBlur:a=>n.handleEditBlur(e.row,"TargetEP")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.TargetMsg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.TargetMsg},[(0,t.Lk)("span",null,(0,J.v_)(e.row.TargetEP),1),(0,t.bF)(m,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1})],8,bl)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,J.C4)({green:e.row.Started})},(0,J.v_)(e.row.TargetEP),3))],64))])),_:1}),(0,t.bF)(u,{property:"Started",label:"状态",width:"60"},{default:(0,t.k6)((e=>[(0,t.bF)(w,{modelValue:e.row.Started,"onUpdate:modelValue":a=>e.row.Started=a,onChange:a=>n.handleStartChange(e.row),"inline-prompt":"","active-text":"开","inactive-text":"关"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,t.bF)(u,{label:"操作",width:"54"},{default:(0,t.k6)((e=>[(0,t.bF)(f,{"confirm-button-text":"确认","cancel-button-text":"取消",title:"删除不可逆,是否确认?",onConfirm:a=>n.handleDel(e.row.Id)},{reference:(0,t.k6)((()=>[(0,t.bF)(s,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(g)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onCellDblclick"])])])),_:1},8,["modelValue","onOpen","title"])}var Cl={props:["data","modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:Q.DtC,Delete:Q.epd},setup(e,{emit:a}){const l=(0,d.B)(),n=L(),o=(0,u.Kh)({show:!0,machineId:n.value.machineId,machineName:n.value.machineName,data:[],ips:[],bufferSize:l.value.bufferSize,loading:!1,machineIds:{Request:{Page:1,Size:10,Name:""},Count:0,List:[]}});(0,t.wB)((()=>o.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const r=()=>{f().then((e=>{e.splice(0,0,"127.0.0.1"),e.splice(0,0,"0.0.0.0"),o.ips=e})).catch((()=>{}))},s=()=>{g(o.machineId).then((e=>{o.data=e})).catch((()=>{}))},c=e=>{o.machineIds.Request.Name=e,h()},h=()=>{o.loading=!0,(0,K.BS)(o.machineIds.Request).then((e=>{o.loading=!1,o.machineIds.Request=e.Request,o.machineIds.Count=e.Count,o.machineIds.List=e.List})).catch((e=>{o.loading=!1}))},m=e=>{o.machineIds.Request.Page=e,h()},p=()=>{s(),h()},w=(e,a)=>{C(e,a.property)},b=()=>{s(),i.nk.success("已刷新")},F=()=>{V({ID:0,Name:"",Port:0,TargetEP:"127.0.0.1:80",machineId:""})},C=(e,a)=>{e.Started?i.nk.error("请先停止"):(o.data.forEach((e=>{e["NameEditing"]=!1,e["PortEditing"]=!1,e["TargetEPEditing"]=!1,e["BindIPAddressEditing"]=!1,e["BufferSizeEditing"]=!1,e["MachineIdEditing"]=!1})),e[`${a}Editing`]=!0)},_=(e,a)=>{if(e.Started)return void i.nk.error("请先停止");e[`${a}Editing`]=!1;const l=o.machineIds.List.find((a=>a.MachineId==e.MachineId));l&&(e.MachineName=l.MachineName),V(e)},E=e=>{k({machineId:o.machineId,Id:e}).then((()=>{s()}))},S=e=>{V(e)},V=e=>{e.Port=parseInt(e.Port),v({machineId:o.machineId,data:e}).then((()=>{s()})).catch((e=>{i.nk.error(e)}))};return(0,t.sV)((()=>{s(),r()})),{state:o,handleOnShowList:p,handleCellClick:w,handleRefresh:b,handleAdd:F,handleEdit:C,handleEditBlur:_,handleDel:E,handleStartChange:S,handleSearch:c,handlePageChange:m}}};const Ll=(0,N.A)(Cl,[["render",Fl],["__scopeId","data-v-15b05a01"]]);var _l=Ll;const El={class:"t-c head"},Sl=["title"],Vl=["title"];function yl(e,a,l,n,o,r){const s=(0,t.g2)("el-button"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-table-column"),i=(0,t.g2)("WarnTriangleFilled"),c=(0,t.g2)("el-icon"),h=(0,t.g2)("el-switch"),m=(0,t.g2)("Delete"),p=(0,t.g2)("el-popconfirm"),w=(0,t.g2)("el-table"),g=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(g,{modelValue:n.state.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:`【${n.machineName}】的内网穿透`,top:"1vh",width:"700"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.Lk)("div",El,[(0,t.bF)(s,{type:"success",size:"small",onClick:n.handleAdd},{default:(0,t.k6)((()=>[(0,t.eW)("添加")])),_:1},8,["onClick"]),(0,t.bF)(s,{size:"small",onClick:n.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)("刷新")])),_:1},8,["onClick"])]),(0,t.bF)(w,{data:n.state.data,size:"small",border:"",height:"500",onCellDblclick:n.handleCellClick},{default:(0,t.k6)((()=>[(0,t.bF)(u,{property:"Name",label:"名称"},{default:(0,t.k6)((e=>[e.row.NameEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":a=>e.row.Name=a,onBlur:a=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,J.v_)(e.row.Name),1)],64))])),_:1}),(0,t.bF)(u,{prop:"BufferSize",label:"缓冲区",width:"100"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,J.v_)(1<<e.row.BufferSize)+"KB",1)])),_:1}),(0,t.bF)(u,{property:"Temp",label:"远程端口/域名",width:"160"},{default:(0,t.k6)((e=>[e.row.TempEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.Temp,"onUpdate:modelValue":a=>e.row.Temp=a,onBlur:a=>n.handleEditBlur(e.row,"Temp")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Msg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.Msg},[(0,t.Lk)("span",null,(0,J.v_)(e.row.Temp),1),(0,t.bF)(c,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})],8,Sl)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,J.C4)({green:e.row.Started})},(0,J.v_)(e.row.Temp),3))],64))])),_:1}),(0,t.bF)(u,{property:"LocalEP",label:"本机服务",width:"140"},{default:(0,t.k6)((e=>[e.row.LocalEPEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.LocalEP,"onUpdate:modelValue":a=>e.row.LocalEP=a,onBlur:a=>n.handleEditBlur(e.row,"LocalEP")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.LocalMsg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.LocalMsg},[(0,t.Lk)("span",null,(0,J.v_)(e.row.LocalEP),1),(0,t.bF)(c,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})],8,Vl)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,J.C4)({green:e.row.Started})},(0,J.v_)(e.row.LocalEP),3))],64))])),_:1}),(0,t.bF)(u,{property:"Started",label:"状态",width:"60"},{default:(0,t.k6)((e=>[(0,t.bF)(h,{modelValue:e.row.Started,"onUpdate:modelValue":a=>e.row.Started=a,onChange:a=>n.handleStartChange(e.row),"inline-prompt":"","active-text":"是","inactive-text":"否"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,t.bF)(u,{label:"操作",width:"54"},{default:(0,t.k6)((e=>[(0,t.bF)(p,{"confirm-button-text":"确认","cancel-button-text":"取消",title:"删除不可逆,是否确认?",onConfirm:a=>n.handleDel(e.row.Id)},{reference:(0,t.k6)((()=>[(0,t.bF)(s,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onCellDblclick"])])])),_:1},8,["modelValue","onOpen","title"])}var Il={props:["data","modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:Q.DtC,Delete:Q.epd},setup(e,{emit:a}){const l=(0,d.B)(),n=hl(),o=(0,u.Kh)({bufferSize:l.value.bufferSize,show:!0,data:[],timerTestLocal:0});(0,t.wB)((()=>o.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const r=()=>{console.log(n.value.machineid),(0,ul.eX)(n.value.machineid).then((e=>{o.timerTestLocal=setTimeout(r,1e3)})).catch((()=>{o.timerTestLocal=setTimeout(r,1e3)}))},s=()=>{(0,ul.pY)(n.value.machineid).then((e=>{e.forEach((e=>{e.Temp=(e.Domain||e.RemotePort).toString(),e.RemotePort=0,e.Domain=""})),o.data=e})).catch((()=>{}))},c=()=>{s()},h=(e,a)=>{w(e,a.property)},m=()=>{s(),i.nk.success("已刷新")},p=()=>{const e={Id:0,Name:"",RemotePort:0,LocalEP:"127.0.0.1:80",Domain:"",Temp:""};(0,ul.Qs)({machineid:n.value.machineid,data:e}).then((()=>{setTimeout((()=>{s()}),100)})).catch((e=>{i.nk.error(e)}))},w=(e,a)=>{e.Started?i.nk.error("请先停止运行"):(o.data.forEach((e=>{e["NameEditing"]=!1,e["RemotePortEditing"]=!1,e["LocalEPEditing"]=!1,e["DomainEditing"]=!1,e["TempEditing"]=!1})),e[`${a}Editing`]=!0)},g=(e,a)=>{e.Started?i.nk.error("请先停止运行"):(e[`${a}Editing`]=!1,v(e))},f=e=>{(0,ul.DY)({machineid:n.value.machineid,id:e}).then((()=>{s()}))},k=e=>{v(e)},v=e=>{e.Temp&&(/^\d+$/.test(e.Temp)?e.RemotePort=parseInt(e.Temp):e.Domain=e.Temp,(0,ul.Qs)({machineid:n.value.machineid,data:e}).then((()=>{setTimeout((()=>{s()}),100)})).catch((e=>{i.nk.error(e)})))};return(0,t.sV)((()=>{s(),r()})),(0,t.hi)((()=>{clearTimeout(o.timerTestLocal)})),{state:o,machineName:n.value.machineName,handleOnShowList:c,handleCellClick:h,handleRefresh:m,handleAdd:p,handleEdit:w,handleEditBlur:g,handleDel:f,handleStartChange:k}}};const Pl=(0,N.A)(Il,[["render",yl],["__scopeId","data-v-219c690c"]]);var Tl=Pl;const Rl=["onClick"],Ml={key:0},Wl={key:1},Bl={key:0},Nl={key:1},xl={key:0},zl={key:1};function Xl(e,a,l,n,o,r){const s=(0,t.g2)("el-table-column"),d=(0,t.g2)("Delete"),u=(0,t.g2)("el-icon"),i=(0,t.g2)("el-button"),c=(0,t.g2)("el-popconfirm"),h=(0,t.g2)("el-table"),m=(0,t.g2)("el-dialog"),p=(0,t.g2)("el-switch");return(0,t.uX)(),(0,t.CE)(t.FK,null,[(0,t.bF)(m,{modelValue:n.state.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.show=e),"append-to":".app-wrap",title:`与[${n.state.machineName}]的链接`,top:"1vh",width:"780"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{data:n.state.data,size:"small",border:"",height:"500"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{property:"RemoteMachineId",label:"目标/服务器"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",{class:(0,J.C4)({green:e.row.Connected})},[(0,t.Lk)("p",null,(0,J.v_)(e.row.IPEndPoint),1),(0,t.Lk)("p",null,"ssl : "+(0,J.v_)(e.row.SSL),1)],2)])),_:1}),(0,t.bF)(s,{property:"TransactionId",label:"事务",width:"80"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,J.v_)(n.state.transactions[e.row.TransactionId]),1)])),_:1}),(0,t.bF)(s,{property:"TransportName",label:"协议"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("p",null,(0,J.v_)(e.row.TransportName)+"("+(0,J.v_)(n.state.protocolTypes[e.row.ProtocolType])+")",1),(0,t.Lk)("p",null,(0,J.v_)(n.state.types[e.row.Type])+" - "+(0,J.v_)(1<<e.row.BufferSize)+"KB",1)])])),_:1}),(0,t.bF)(s,{property:"Delay",label:"延迟",width:"60"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,J.v_)(e.row.Delay)+"ms",1)])),_:1}),(0,t.bF)(s,{property:"Bytes",label:"通信"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("p",null,"up : "+(0,J.v_)(e.row.SendBytesText),1),(0,t.Lk)("p",null,"down : "+(0,J.v_)(e.row.ReceiveBytesText),1)])])),_:1}),(0,t.bF)(s,{property:"relay",label:"中继节点"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",class:"a-line",onClick:a=>n.handleNode(e.row)},(0,J.v_)(n.state.nodesDic[e.row.NodeId]||"选择节点"),9,Rl)])])),_:1}),(0,t.bF)(s,{label:"操作",width:"54"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[n.hasTunnelRemove?((0,t.uX)(),(0,t.Wv)(c,{key:0,"confirm-button-text":"确认","cancel-button-text":"取消",title:"确定关闭此连接?",onConfirm:a=>n.handleDel(e.row)},{reference:(0,t.k6)((()=>[(0,t.bF)(i,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(u,null,{default:(0,t.k6)((()=>[(0,t.bF)(d)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])):(0,t.Q3)("",!0)])])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue","title"]),(0,t.bF)(m,{modelValue:n.state.showNodes,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.showNodes=e),title:"中继节点",width:"760",top:"2vh"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{data:n.state.nodes,size:"small",border:"",height:"600"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{property:"Name",label:"名称"}),(0,t.bF)(s,{property:"MaxGbTotal",label:"月流量",width:"160"},{default:(0,t.k6)((e=>[0==e.row.MaxGbTotal?((0,t.uX)(),(0,t.CE)("span",Ml,"无限制")):((0,t.uX)(),(0,t.CE)("span",Wl,(0,J.v_)((e.row.MaxGbTotalLastBytes/1024/1024/1024).toFixed(2))+"GB / "+(0,J.v_)(e.row.MaxGbTotal)+"GB ",1))])),_:1}),(0,t.bF)(s,{property:"MaxBandwidthTotal",label:"总带宽",width:"80"},{default:(0,t.k6)((e=>[0==e.row.MaxBandwidthTotal?((0,t.uX)(),(0,t.CE)("span",Bl,"无限制")):((0,t.uX)(),(0,t.CE)("span",Nl,(0,J.v_)(e.row.MaxBandwidthTotal)+"Mbps",1))])),_:1}),(0,t.bF)(s,{property:"MaxBandwidth",label:"连接带宽",width:"80"},{default:(0,t.k6)((e=>[0==e.row.MaxBandwidth?((0,t.uX)(),(0,t.CE)("span",xl,"无限制")):((0,t.uX)(),(0,t.CE)("span",zl,(0,J.v_)(e.row.MaxBandwidth)+"Mbps",1))])),_:1}),(0,t.bF)(s,{property:"ConnectionRatio",label:"连接数",width:"60"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,J.v_)(100*e.row.ConnectionRatio)+"%",1)])),_:1}),(0,t.bF)(s,{property:"Delay",label:"延迟",width:"60"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,J.v_)(e.row.Delay)+"ms",1)])),_:1}),(0,t.bF)(s,{property:"Public",label:"公开",width:"60"},{default:(0,t.k6)((e=>[(0,t.bF)(p,{disabled:"",modelValue:e.row.Public,"onUpdate:modelValue":a=>e.row.Public=a,size:"small"},null,8,["modelValue","onUpdate:modelValue"])])),_:1}),(0,t.bF)(s,{property:"Oper",label:"操作",width:"65"},{default:(0,t.k6)((e=>[(0,t.bF)(i,{type:"success",size:"small",onClick:a=>n.handleConnect(e.row.Id)},{default:(0,t.k6)((()=>[(0,t.eW)("使用")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue"])],64)}var Al=l(9232),Ul={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:Q.epd},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.hasAccess("TunnelRemove"))),o=Ka(),r=Ga(),s=Qa(),c=Oa(),h=(0,u.Kh)({show:!0,protocolTypes:{1:"tcp",2:"udp",4:"msquic"},types:{0:"打洞",1:"中继"},transactions:{forward:"端口转发",tuntap:"虚拟网卡",socks5:"代理转发"},machineName:o.value.currentName,currentRow:{},data:(0,t.EW)((()=>[r.value.list[o.value.current],s.value.list[o.value.current],c.value.list[o.value.current]].filter((e=>!!e)))),showNodes:!1,nodes:[],nodesDic:{},timer:0});(0,t.wB)((()=>h.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e),a("change")}),300)}));const m=e=>{n.value&&e.removeFunc(e.RemoteMachineId).then((()=>{i.nk.success("删除成功")})).catch((()=>{}))},p=()=>{(0,Al.W4)().then((e=>{h.nodes=e,h.nodesDic=e.reduce(((e,a)=>(e[a.Id]=a.Name,e)),{}),h.timer=setTimeout(p,1e3)})).catch((()=>{h.timer=setTimeout(p,1e3)}))},w=e=>{h.currentRow=e,h.showNodes=!0},g=e=>{const a={FromMachineId:l.value.config.Client.Id,TransactionId:h.currentRow.TransactionId,ToMachineId:h.currentRow.RemoteMachineId,NodeId:e};a.NodeId!=h.currentRow.NodeId&&((0,Al.uQ)(a).then((()=>{})).catch((()=>{})),h.showNodes=!1)};return(0,t.sV)((()=>{o.value.updateRealTime(!0),p()})),(0,t.hi)((()=>{o.value.updateRealTime(!1),clearTimeout(h.timer)})),{state:h,handleDel:m,hasTunnelRemove:n,handleNode:w,handleConnect:g}}};const Dl=(0,N.A)(Ul,[["render",Xl],["__scopeId","data-v-222ae82e"]]);var Kl=Dl,Gl=l(9383),Ql={components:{Sort:z,Oper:H,Device:he,DeviceEdit:ke,AccessEdit:Ee,Tunnel:ja,TunnelEdit:tl,ConnectionsEdit:Kl,Tuntap:Te,TuntapEdit:$e,TuntapLease:la,Socks5:va,Socks5Edit:Ia,Forward:wl,ForwardEdit:_l,SForwardEdit:Tl},setup(e){const a=(0,d.B)(),l=(0,u.Kh)({height:(0,t.EW)((()=>a.value.height-90))}),{devices:n,machineId:o,_getSignList:r,_getSignList1:s,handleDeviceEdit:c,handleAccessEdit:h,handlePageChange:m,handlePageSizeChange:p,handleDel:w,clearDevicesTimeout:g,setSort:f}=(0,ve.r)(),{tuntap:k,_getTuntapInfo:v,handleTuntapEdit:b,handleTuntapRefresh:F,clearTuntapTimeout:L,getTuntapMachines:_,sortTuntapIP:E}=(0,W.O)(),{socks5:S,_getSocks5Info:V,handleSocks5Edit:y,handleSocks5Refresh:I,clearSocks5Timeout:P,getSocks5Machines:T,sortSocks5:M}=R(),{tunnel:B,_getTunnelInfo:N,handleTunnelEdit:x,handleTunnelRefresh:z,clearTunnelTimeout:X,sortTunnel:A}=Na(),{forward:U,_getForwardCountInfo:D,handleForwardEdit:K,clearForwardTimeout:G,handleForwardRefresh:Q}=C(),{sforward:O,_getSForwardCountInfo:$,handleSForwardEdit:j,clearSForwardTimeout:H,handleSForwardRefresh:J}=cl(),{connections:Y,forwardConnections:Z,_getForwardConnections:ee,tuntapConnections:ae,_getTuntapConnections:le,socks5Connections:te,_getSocks5Connections:ne,handleTunnelConnections:oe,clearConnectionsTimeout:re}=Da(),{_getUpdater:se,_subscribeUpdater:de,clearUpdaterTimeout:ue}=(0,Gl.d)(),{_getAccessInfo:ie,clearAccessTimeout:ce,handleAccesssRefresh:he}=(0,q.Y)(),me=e=>{n.page.Request.Prop=e.prop,n.page.Request.Asc="ascending"==e.order;let a=new Promise(((e,a)=>{e()}));if("tunnel"==e.prop){const e=A(n.page.Request.Asc);e.length>0&&(a=f(e))}else if("tuntap"==e.prop){const e=E(n.page.Request.Asc);e.length>0&&(a=f(e))}else if("socks5"==e.prop){const e=M(n.page.Request.Asc);e.length>0&&(a=f(e))}a.then((()=>{m()})).catch((()=>{}))},pe=e=>{n.page.Request.Name=e||"",n.page.Request.Name?n.page.Request.Ids=_(n.page.Request.Name).concat(T(n.page.Request.Name)).reduce(((e,a)=>(-1==e.indexOf(a)&&e.push(a),e)),[]):n.page.Request.Ids=[],m(),z(),F(),I(),Q(),J(),he(),i.nk.success({message:"刷新成功",grouping:!0})},we=()=>{m(),z(),F(),I(),he(),i.nk.success({message:"刷新成功",grouping:!0})};return(0,t.sV)((()=>{m(),z(),F(),I(),Q(),J(),he(),r(),s(),v(),V(),N(),ee(),le(),ne(),D(),$(),se(),de(),ie()})),(0,t.hi)((()=>{g(),re(),L(),P(),X(),G(),H(),ue(),ce()})),{state:l,devices:n,machineId:o,handleSortChange:me,handleDeviceEdit:c,handleAccessEdit:h,handlePageRefresh:pe,handlePageSearch:we,handlePageChange:m,handlePageSizeChange:p,handleDel:w,tuntap:k,handleTuntapEdit:b,handleTuntapRefresh:F,socks5:S,handleSocks5Edit:y,handleSocks5Refresh:I,tunnel:B,connections:Y,handleTunnelEdit:x,handleTunnelRefresh:z,handleTunnelConnections:oe,forward:U,handleForwardEdit:K,sforward:O,handleSForwardEdit:j}}};const Ol=(0,N.A)(Ql,[["render",s],["__scopeId","data-v-3d1c480c"]]);var ql=Ol}}]); |