J;g0PpKWBezbPu(hVbnRV3od_fk*P$AnrR)uf(|Y
z^m+Ifn;%?Y6PKR30Noj7@)_gR+PbxL>UU}5qoUd-XS?`gXiLRc_#~7`k&hvl#cMU~
zRnh|k?vrIp>30X!TdG3n?K&LtX<~fxXGm|%{b3oM=^sv#SE+5(y)`$FY;9`upx5lB
z<9%%0U7b&fw5dhES?~4v%=p)Fx3+*M7dExtY_WKCCL@+lxHsh|4Gjj5K)d3{9TRR<
z%5u;%Xz_>^3!a*AS5>4e4PL>Z8#MXUiGFcljauuCqH4ljD*bc9U6OmV>`BiXb;)nN
znfme)^t{<IoamKGq@>~k;6U|Vpf9@g#M|Dc;_Bif0zL{-$JY>I*AQL7tu}J
zN^B&0h)u+1VhhnL?SHUueIskaPhRgc=SEZielbz0@{PW71r5``b`B}_X5ZC$;mEl@
HUGe__Kmd((
diff --git a/linker.tray.win/web/css/244.22a4124f.css b/linker.tray.win/web/css/388.50c71cf1.css
similarity index 97%
rename from linker.tray.win/web/css/244.22a4124f.css
rename to linker.tray.win/web/css/388.50c71cf1.css
index 6b5e8948..1ab496d4 100644
--- a/linker.tray.win/web/css/244.22a4124f.css
+++ b/linker.tray.win/web/css/388.50c71cf1.css
@@ -1 +1 @@
-#file-input[data-v-4892cd3c]{opacity:0;position:absolute;z-index:-1}.el-icon[data-v-4892cd3c]{font-size:1.6rem;vertical-align:middle;color:#555}#file-input[data-v-1b5cc276]{opacity:0;position:absolute;z-index:-1}.head[data-v-1b5cc276]{background-color:#f6f8fa;border-bottom:1px solid #d0d7de;box-shadow:1px 1px 4px rgba(0,0,0,.05);height:5rem;line-height:5rem}.head .logo[data-v-1b5cc276]{padding:.5rem 0 0 1rem}.head .logo img[data-v-1b5cc276]{vertical-align:top;height:4rem}.head .menu[data-v-1b5cc276]{padding-left:1rem;font-size:1.4rem}.head .menu li[data-v-1b5cc276]{box-sizing:border-box;padding:.5rem 0;margin-right:.5rem}.head .menu a[data-v-1b5cc276]{display:block;color:#333;padding:0 1rem;line-height:4rem}.head .menu a.router-link-active[data-v-1b5cc276],.head .menu a[data-v-1b5cc276]:hover{background-color:rgba(0,0,0,.1);font-weight:700}.head .menu a .el-icon[data-v-1b5cc276]{vertical-align:sub}.head .image[data-v-1b5cc276]{padding-right:1rem}body.sunny{background-image:url(../img/bg.a2158f12.jpg);background-repeat:no-repeat;background-size:cover;background-position:bottom;position:absolute;left:0;top:0;right:0;bottom:0}body.sunny .app-wrap{background-color:hsla(0,0%,100%,.5)}body.sunny .status-wrap{background-color:hsla(0,0%,96%,.3)}body.sunny .status-wrap .copy a{color:#333}body.sunny .el-table{background-color:hsla(0,0%,100%,.5)}body.sunny .head{background-color:rgba(246,248,250,.5)}body.sunny .el-table tr,body.sunny .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background-color:rgba(246,248,250,.2)}.el-pagination__total,body.sunny .el-pagination__sizes,body.sunny .status-wrap .copy a{color:#000}body.sunny a{color:#576acf}.status-api-wrap[data-v-4470fcde]{padding-right:2rem}.status-api-wrap a[data-v-4470fcde]{color:#333}.status-api-wrap span[data-v-4470fcde]{border-radius:1rem;background-color:rgba(0,0,0,.1);padding:0 .6rem;margin-left:.2rem}.status-api-wrap.connected a[data-v-4470fcde]{color:green;font-weight:700}.status-api-wrap.connected span[data-v-4470fcde]{background-color:green;color:#fff}.status-api-wrap .el-icon[data-v-4470fcde]{vertical-align:text-top}.status-server-wrap[data-v-360b8353]{padding-right:.5rem}.status-server-wrap a[data-v-360b8353]{color:#333}.status-server-wrap a+a[data-v-360b8353]{margin-left:.6rem}.status-server-wrap.connected a[data-v-360b8353]{color:green;font-weight:700}.status-server-wrap .el-icon[data-v-360b8353]{vertical-align:text-bottom}.status-server-wrap a.download .el-icon[data-v-360b8353]{font-weight:700;margin-left:.3rem}.status-server-wrap a.download .el-icon.loading[data-v-360b8353]{animation:loading-360b8353 1s linear infinite}@keyframes loading-360b8353{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-col[data-v-bdd023b0]{text-align:left}.status-export-wrap[data-v-117ef7b0]{padding-right:2rem}.status-export-wrap a[data-v-117ef7b0]{color:#333}.status-export-wrap .el-icon[data-v-117ef7b0]{vertical-align:text-top}.status-export-wrap .el-col[data-v-117ef7b0]{text-align:left}a[data-v-56d38c60]{color:#666;text-decoration:underline}a.green[data-v-56d38c60]{color:green;font-weight:700}a.download[data-v-56d38c60]{margin-left:.6rem}a.download .el-icon[data-v-56d38c60]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-56d38c60]{animation:loading-56d38c60 1s linear infinite}@keyframes loading-56d38c60{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-wrap[data-v-da8e5ef0]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555}.status-wrap .pay[data-v-da8e5ef0]{font-size:xxx-large}.status-wrap .pay img[data-v-da8e5ef0]{width:100%;margin:0}.status-wrap .copy[data-v-da8e5ef0]{padding-left:.5rem}.status-wrap .copy a[data-v-da8e5ef0]{color:#555}.status-wrap a.memory[data-v-da8e5ef0]{margin-right:.6rem}.status-wrap a.memory img[data-v-da8e5ef0]{height:3rem;vertical-align:bottom;margin-right:.1rem}.body[data-v-47b95c93]{padding:1rem 0 0 0}.footer[data-v-47b95c93]{padding:1rem 0}.body[data-v-c9a17ce0]{padding:1rem 0 0 0}.footer[data-v-c9a17ce0]{padding:1rem 0}.body[data-v-5fad04f0],.el-card+.el-card[data-v-c9a17ce0]{margin-top:1rem}.footer[data-v-5fad04f0]{margin-top:2rem}@media screen and (max-width:1000px){body .app-wrap[data-v-5ea3415a]{width:calc(100% - 40px);height:calc(100% - 40px);position:absolute;left:20px;top:20px;right:0;bottom:0;transform:none;max-width:calc(100% - 40px)}}.app-wrap[data-v-5ea3415a]{box-sizing:border-box;background-color:#fff;border:1px solid #d0d7de;width:81rem;max-width:80%;height:90%;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}
\ No newline at end of file
+#file-input[data-v-4892cd3c]{opacity:0;position:absolute;z-index:-1}.el-icon[data-v-4892cd3c]{font-size:1.6rem;vertical-align:middle;color:#555}#file-input[data-v-1b5cc276]{opacity:0;position:absolute;z-index:-1}.head[data-v-1b5cc276]{background-color:#f6f8fa;border-bottom:1px solid #d0d7de;box-shadow:1px 1px 4px rgba(0,0,0,.05);height:5rem;line-height:5rem}.head .logo[data-v-1b5cc276]{padding:.5rem 0 0 1rem}.head .logo img[data-v-1b5cc276]{vertical-align:top;height:4rem}.head .menu[data-v-1b5cc276]{padding-left:1rem;font-size:1.4rem}.head .menu li[data-v-1b5cc276]{box-sizing:border-box;padding:.5rem 0;margin-right:.5rem}.head .menu a[data-v-1b5cc276]{display:block;color:#333;padding:0 1rem;line-height:4rem}.head .menu a.router-link-active[data-v-1b5cc276],.head .menu a[data-v-1b5cc276]:hover{background-color:rgba(0,0,0,.1);font-weight:700}.head .menu a .el-icon[data-v-1b5cc276]{vertical-align:sub}.head .image[data-v-1b5cc276]{padding-right:1rem}body.sunny{background-image:url(../img/bg.a2158f12.jpg);background-repeat:no-repeat;background-size:cover;background-position:bottom;position:absolute;left:0;top:0;right:0;bottom:0}body.sunny .app-wrap{background-color:hsla(0,0%,100%,.5)}body.sunny .status-wrap{background-color:hsla(0,0%,96%,.3)}body.sunny .status-wrap .copy a{color:#333}body.sunny .el-table{background-color:hsla(0,0%,100%,.5)}body.sunny .head{background-color:rgba(246,248,250,.5)}body.sunny .el-table tr,body.sunny .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background-color:rgba(246,248,250,.2)}.el-pagination__total,body.sunny .el-pagination__sizes,body.sunny .status-wrap .copy a{color:#000}body.sunny a{color:#576acf}.status-api-wrap[data-v-4470fcde]{padding-right:2rem}.status-api-wrap a[data-v-4470fcde]{color:#333}.status-api-wrap span[data-v-4470fcde]{border-radius:1rem;background-color:rgba(0,0,0,.1);padding:0 .6rem;margin-left:.2rem}.status-api-wrap.connected a[data-v-4470fcde]{color:green;font-weight:700}.status-api-wrap.connected span[data-v-4470fcde]{background-color:green;color:#fff}.status-api-wrap .el-icon[data-v-4470fcde]{vertical-align:text-top}.status-server-wrap[data-v-360b8353]{padding-right:.5rem}.status-server-wrap a[data-v-360b8353]{color:#333}.status-server-wrap a+a[data-v-360b8353]{margin-left:.6rem}.status-server-wrap.connected a[data-v-360b8353]{color:green;font-weight:700}.status-server-wrap .el-icon[data-v-360b8353]{vertical-align:text-bottom}.status-server-wrap a.download .el-icon[data-v-360b8353]{font-weight:700;margin-left:.3rem}.status-server-wrap a.download .el-icon.loading[data-v-360b8353]{animation:loading-360b8353 1s linear infinite}@keyframes loading-360b8353{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-col[data-v-bdd023b0]{text-align:left}.status-export-wrap[data-v-117ef7b0]{padding-right:2rem}.status-export-wrap a[data-v-117ef7b0]{color:#333}.status-export-wrap .el-icon[data-v-117ef7b0]{vertical-align:text-top}.status-export-wrap .el-col[data-v-117ef7b0]{text-align:left}a[data-v-56d38c60]{color:#666;text-decoration:underline}a.green[data-v-56d38c60]{color:green;font-weight:700}a.download[data-v-56d38c60]{margin-left:.6rem}a.download .el-icon[data-v-56d38c60]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-56d38c60]{animation:loading-56d38c60 1s linear infinite}@keyframes loading-56d38c60{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-wrap[data-v-da8e5ef0]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555}.status-wrap .pay[data-v-da8e5ef0]{font-size:xxx-large}.status-wrap .pay img[data-v-da8e5ef0]{width:100%;margin:0}.status-wrap .copy[data-v-da8e5ef0]{padding-left:.5rem}.status-wrap .copy a[data-v-da8e5ef0]{color:#555}.status-wrap a.memory[data-v-da8e5ef0]{margin-right:.6rem}.status-wrap a.memory img[data-v-da8e5ef0]{height:3rem;vertical-align:bottom;margin-right:.1rem}.body[data-v-47b95c93]{padding:1rem 0 0 0}.footer[data-v-47b95c93]{padding:1rem 0}.body[data-v-c9a17ce0]{padding:1rem 0 0 0}.footer[data-v-c9a17ce0]{padding:1rem 0}.body[data-v-41d4c7eb],.el-card+.el-card[data-v-c9a17ce0]{margin-top:1rem}.footer[data-v-41d4c7eb]{margin-top:2rem}@media screen and (max-width:1000px){body .app-wrap[data-v-5ea3415a]{width:calc(100% - 40px);height:calc(100% - 40px);position:absolute;left:20px;top:20px;right:0;bottom:0;transform:none;max-width:calc(100% - 40px)}}.app-wrap[data-v-5ea3415a]{box-sizing:border-box;background-color:#fff;border:1px solid #d0d7de;width:81rem;max-width:80%;height:90%;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}
\ No newline at end of file
diff --git a/linker.tray.win/web/css/706.e7520456.css b/linker.tray.win/web/css/706.e7520456.css
new file mode 100644
index 00000000..cdc38daf
--- /dev/null
+++ b/linker.tray.win/web/css/706.e7520456.css
@@ -0,0 +1 @@
+.green[data-v-2ea70464],.red[data-v-2ea70464]{font-weight:700}.servers-wrap[data-v-74a22754]{padding:1rem;font-size:1.3rem;color:#555}.servers-wrap a[data-v-74a22754]{color:#333}.el-checkbox[data-v-74a22754]{vertical-align:middle;margin-right:1rem}
\ No newline at end of file
diff --git a/linker.tray.win/web/css/948.2c420b5d.css b/linker.tray.win/web/css/948.2c420b5d.css
deleted file mode 100644
index 207ac9e4..00000000
--- a/linker.tray.win/web/css/948.2c420b5d.css
+++ /dev/null
@@ -1 +0,0 @@
-.green[data-v-2ea70464],.red[data-v-2ea70464]{font-weight:700}.servers-wrap[data-v-1f4aa573]{padding:1rem;font-size:1.3rem;color:#555}.servers-wrap a[data-v-1f4aa573]{color:#333}.el-checkbox[data-v-1f4aa573]{vertical-align:middle;margin-right:1rem}
\ No newline at end of file
diff --git a/linker.tray.win/web/index.html b/linker.tray.win/web/index.html
index 1c255d95..5d68d962 100644
--- a/linker.tray.win/web/index.html
+++ b/linker.tray.win/web/index.html
@@ -1 +1 @@
-linker.web
\ No newline at end of file
+linker.web
\ No newline at end of file
diff --git a/linker.tray.win/web/js/244.7bc7c79b.js b/linker.tray.win/web/js/244.7bc7c79b.js
deleted file mode 100644
index b64e35f6..00000000
--- a/linker.tray.win/web/js/244.7bc7c79b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[244],{3644:function(e,l,r){r.r(l),r.d(l,{default:function(){return de}});var t=r(6768);const a={class:"app-wrap flex flex-column flex-nowrap"},o={class:"head"},s={class:"body flex-1 relative",ref:"wrap"},n={class:"home absolute"},u={class:"status"};function d(e,l,r,d,m,i){const f=(0,t.g2)("Head"),c=(0,t.g2)("router-view"),b=(0,t.g2)("Status"),p=(0,t.g2)("Install");return(0,t.uX)(),(0,t.CE)("div",a,[(0,t.Lk)("div",o,[(0,t.bF)(f)]),(0,t.Lk)("div",s,[(0,t.Lk)("div",n,[(0,t.bF)(c)])],512),(0,t.Lk)("div",u,[(0,t.bF)(b,{config:!0}),(0,t.bF)(p)])])}r(4114);var m=r.p+"img/logo.892cb2fb.png";const i=e=>((0,t.Qi)("data-v-1b5cc276"),e=e(),(0,t.jt)(),e),f={class:"head flex"},c={class:"logo"},b=i((()=>(0,t.Lk)("img",{src:m,alt:""},null,-1))),p={class:"menu flex-1"},v={class:"flex"},g={key:0},F={key:1},k={key:2},w={key:3},y={class:"image"};function S(e,l,r,a,o,s){const n=(0,t.g2)("router-link"),u=(0,t.g2)("StarFilled"),d=(0,t.g2)("el-icon"),m=(0,t.g2)("Promotion"),i=(0,t.g2)("HelpFilled"),S=(0,t.g2)("PhoneFilled"),h=(0,t.g2)("WarnTriangleFilled"),_=(0,t.g2)("Background");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.Lk)("div",f,[(0,t.Lk)("div",c,[(0,t.bF)(n,{to:{name:"FullIndex"}},{default:(0,t.k6)((()=>[b])),_:1})]),(0,t.Lk)("div",p,[(0,t.Lk)("ul",v,[(0,t.Lk)("li",null,[(0,t.bF)(n,{to:{name:"FullIndex"}},{default:(0,t.k6)((()=>[(0,t.bF)(d,{size:"16"},{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1}),(0,t.eW)(" 首页")])),_:1})]),a.hasConfig?((0,t.uX)(),(0,t.CE)("li",g,[(0,t.bF)(n,{to:{name:"FullServers"}},{default:(0,t.k6)((()=>[(0,t.bF)(d,{size:"16"},{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1}),(0,t.eW)(" 服务器")])),_:1})])):(0,t.Q3)("",!0),a.hasTransport?((0,t.uX)(),(0,t.CE)("li",F,[(0,t.bF)(n,{to:{name:"FullTransport"}},{default:(0,t.k6)((()=>[(0,t.bF)(d,{size:"16"},{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1}),(0,t.eW)(" 打洞协议")])),_:1})])):(0,t.Q3)("",!0),a.hasAction?((0,t.uX)(),(0,t.CE)("li",k,[(0,t.bF)(n,{to:{name:"FullAction"}},{default:(0,t.k6)((()=>[(0,t.bF)(d,{size:"16"},{default:(0,t.k6)((()=>[(0,t.bF)(S)])),_:1}),(0,t.eW)(" Action验证")])),_:1})])):(0,t.Q3)("",!0),a.hasLogger?((0,t.uX)(),(0,t.CE)("li",w,[(0,t.bF)(n,{to:{name:"FullLogger"}},{default:(0,t.k6)((()=>[(0,t.bF)(d,{size:"16"},{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1}),(0,t.eW)(" 日志")])),_:1})])):(0,t.Q3)("",!0)])]),(0,t.Lk)("div",y,[(0,t.bF)(_,{name:"full"})])])])}var h=r(7477),_=r(3830),K=r(5096),V={components:{Promotion:h.Yk4,StarFilled:h.BQ2,WarnTriangleFilled:h.DtC,PhoneFilled:h.pXb,HelpFilled:h.adD,Background:K.A},setup(){const e=(0,_.B)(),l=(0,t.EW)((()=>e.value.hasAccess("Config"))),r=(0,t.EW)((()=>e.value.hasAccess("LoggerShow"))),a=(0,t.EW)((()=>e.value.hasAccess("Transport"))),o=(0,t.EW)((()=>e.value.hasAccess("Action")));return{hasConfig:l,hasLogger:r,hasTransport:a,hasAction:o}}},P=r(1241);const C=(0,P.A)(V,[["render",S],["__scopeId","data-v-1b5cc276"]]);var x=C,W=r(8406);const L=e=>((0,t.Qi)("data-v-5fad04f0"),e=e(),(0,t.jt)(),e),U={class:"head"},A={class:"body"},X=L((()=>(0,t.Lk)("div",{class:"t-c"},"完成保存后,请重启软件",-1))),Q={class:"footer t-c"};function E(e,l,r,a,o,s){const n=(0,t.g2)("el-step"),u=(0,t.g2)("el-steps"),d=(0,t.g2)("Common"),m=(0,t.g2)("el-card"),i=(0,t.g2)("Client"),f=(0,t.g2)("el-button"),c=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.bF)(c,{modelValue:a.state.show,"onUpdate:modelValue":l[0]||(l[0]=e=>a.state.show=e),title:"初始化配置",width:"600",top:"2vh"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.Lk)("div",U,[(0,t.bF)(u,{active:a.step.step,"finish-status":"success"},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(a.state.steps,((e,l)=>((0,t.uX)(),(0,t.Wv)(n,{title:e},null,8,["title"])))),256))])),_:1},8,["active"])]),(0,t.Lk)("div",A,[1==a.step.step?((0,t.uX)(),(0,t.Wv)(m,{key:0,shadow:"never"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{ref:"currentDom"},null,512)])),_:1})):(0,t.Q3)("",!0),2==a.step.step?((0,t.uX)(),(0,t.Wv)(m,{key:1,shadow:"never"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{ref:"currentDom"},null,512)])),_:1})):(0,t.Q3)("",!0),3==a.step.step?((0,t.uX)(),(0,t.Wv)(m,{key:2,shadow:"never"},{default:(0,t.k6)((()=>[X])),_:1})):(0,t.Q3)("",!0)]),(0,t.Lk)("div",Q,[(0,t.bF)(f,{disabled:a.step.step<=1,onClick:a.handlePrev},{default:(0,t.k6)((()=>[(0,t.eW)("上一步")])),_:1},8,["disabled","onClick"]),a.step.step[(0,t.eW)("下一步")])),_:1},8,["onClick"])):((0,t.uX)(),(0,t.Wv)(f,{key:1,type:"primary",onClick:a.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("完成")])),_:1},8,["onClick"]))])])])),_:1},8,["modelValue"])])}var j=r(8835),I=r(144),N=r(1219);const q={class:"t-c"};function R(e,l,r,a,o,s){const n=(0,t.g2)("el-checkbox");return(0,t.uX)(),(0,t.CE)("div",q,[(0,t.bF)(n,{modelValue:a.state.form.client,"onUpdate:modelValue":l[0]||(l[0]=e=>a.state.form.client=e),label:"作为客户端"},null,8,["modelValue"])])}var D={name:"Common",setup(){(0,t.WQ)("step");const e=(0,I.Kh)({form:{client:!0,server:!1}}),l=l=>new Promise(((l,r)=>{e.form.client||e.form.server?l({json:{Common:{client:e.form.client,server:e.form.server,modes:[e.form.client?"client":"",e.form.server?"server":""].filter((e=>!!e))}},form:{common:JSON.parse(JSON.stringify(e.form))}}):(N.nk.error("请选择客户端或服务端"),r())}));return{state:e,handleValidate:l}}};const T=(0,P.A)(D,[["render",R]]);var z=T;const B=e=>((0,t.Qi)("data-v-47b95c93"),e=e(),(0,t.jt)(),e),O=B((()=>(0,t.Lk)("div",{class:"t-c w-100"},[(0,t.Lk)("p",null,"端口为0则不监听,相同分组名之间的客户端相互可见")],-1)));function H(e,l,r,a,o,s){const n=(0,t.g2)("el-form-item"),u=(0,t.g2)("el-input"),d=(0,t.g2)("el-col"),m=(0,t.g2)("el-row"),i=(0,t.g2)("el-checkbox"),f=(0,t.g2)("el-form");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.bF)(f,{ref:"formDom",model:a.state.form,rules:a.state.rules,"label-width":"8rem"},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[O])),_:1}),(0,t.bF)(n,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"机器名",prop:"name"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.name,"onUpdate:modelValue":l[0]||(l[0]=e=>a.state.form.name=e),maxlength:"12","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"分组名",prop:"groupid"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.groupid,"onUpdate:modelValue":l[1]||(l[1]=e=>a.state.form.groupid=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(n,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"接口端口",prop:"api"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.api,"onUpdate:modelValue":l[2]||(l[2]=e=>a.state.form.api=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"网页端口",prop:"web"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.web,"onUpdate:modelValue":l[3]||(l[3]=e=>a.state.form.web=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(n,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"接口密码",prop:"password"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{style:{width:"42rem"},type:"password",modelValue:a.state.form.password,"onUpdate:modelValue":l[4]||(l[4]=e=>a.state.form.password=e),"show-password":"",maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{"label-width":"8rem",prop:"hasServer"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:a.state.form.hasServer,"onUpdate:modelValue":l[5]||(l[5]=e=>a.state.form.hasServer=e),label:"我有服务器",size:"large"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),a.state.form.hasServer?((0,t.uX)(),(0,t.Wv)(n,{key:0,label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"信标服务",prop:"server"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.server,"onUpdate:modelValue":l[6]||(l[6]=e=>a.state.form.server=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"信标密钥",prop:"serverSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.serverSecretKey,"onUpdate:modelValue":l[7]||(l[7]=e=>a.state.form.serverSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,t.Q3)("",!0),a.state.form.hasServer?((0,t.uX)(),(0,t.Wv)(n,{key:1,label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.sForwardSecretKey,"onUpdate:modelValue":l[8]||(l[8]=e=>a.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.relaySecretKey,"onUpdate:modelValue":l[9]||(l[9]=e=>a.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,t.Q3)("",!0),a.state.form.hasServer?((0,t.uX)(),(0,t.Wv)(n,{key:2,label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.updaterSecretKey,"onUpdate:modelValue":l[10]||(l[10]=e=>a.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"占位"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{disabled:"",maxlength:"36","show-word-limit":""})])),_:1})])),_:1})])),_:1})])),_:1})):(0,t.Q3)("",!0)])),_:1},8,["model","rules"])])}var J={setup(e){const l=(0,t.WQ)("step"),r=(0,_.B)(),a=(0,I.Kh)({form:{name:l.value.form.client.name||r.value.config.Client.Name,groupid:l.value.form.client.groupid||r.value.config.Client.GroupId,api:l.value.form.client.api||r.value.config.Client.CApi.ApiPort,web:l.value.form.client.web||r.value.config.Client.CApi.WebPort,password:l.value.form.client.password||r.value.config.Client.CApi.ApiPassword,hasServer:l.value.form.client.hasServer||!1,server:l.value.form.client.server||r.value.config.Client.ServerInfo.Host,serverSecretKey:l.value.form.client.serverSecretKey||r.value.config.Client.ServerSecretKey,sForwardSecretKey:l.value.form.client.sForwardSecretKey||r.value.config.Client.SForward.SecretKey,relaySecretKey:l.value.form.client.relaySecretKey||(r.value.config.Client.Relay.Servers[0]||{SecretKey:"snltty"}).SecretKey,updaterSecretKey:l.value.form.client.updaterSecretKey||r.value.config.Client.Updater.SecretKey},rules:{name:[{required:!0,message:"必填",trigger:"blur"}],groupid:[{required:!0,message:"必填",trigger:"blur"}],password:[{required:!0,message:"必填",trigger:"blur"}],api:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],web:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}]}}),o=(0,I.KR)(null),s=()=>new Promise(((e,l)=>{o.value.validate((r=>{r?e({json:{Client:{name:a.form.name,groupid:a.form.groupid,api:+a.form.api,web:+a.form.web,password:a.form.password,hasServer:a.form.hasServer,server:a.form.server,serverSecretKey:a.form.serverSecretKey,sForwardSecretKey:a.form.sForwardSecretKey,relaySecretKey:a.form.relaySecretKey,updaterSecretKey:a.form.updaterSecretKey}},form:{client:JSON.parse(JSON.stringify(a.form))}}):l()}))}));return(0,t.sV)((()=>{0==l.value.json.Common.client&&(l.value.step+=l.value.increment)})),{state:a,handleValidate:s,formDom:o}}};const G=(0,P.A)(J,[["render",H],["__scopeId","data-v-47b95c93"]]);var Y=G;const M=e=>((0,t.Qi)("data-v-c9a17ce0"),e=e(),(0,t.jt)(),e),Z=M((()=>(0,t.Lk)("div",{class:"t-c w-100"},"端口为0则不监听",-1)));function $(e,l,r,a,o,s){const n=(0,t.g2)("el-form-item"),u=(0,t.g2)("el-input"),d=(0,t.g2)("el-col"),m=(0,t.g2)("el-row"),i=(0,t.g2)("el-form");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.bF)(i,{ref:"formDom",model:a.state.form,rules:a.state.rules,"label-width":"10rem"},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[Z])),_:1}),(0,t.bF)(n,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"服务端口",prop:"servicePort"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.servicePort,"onUpdate:modelValue":l[0]||(l[0]=e=>a.state.form.servicePort=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"web穿透端口",prop:"webPort"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.webPort,"onUpdate:modelValue":l[1]||(l[1]=e=>a.state.form.webPort=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(n,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"开放最小端口",prop:"tunnelPort1"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.tunnelPort1,"onUpdate:modelValue":l[2]||(l[2]=e=>a.state.form.tunnelPort1=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"开放最大端口",prop:"tunnelPort2"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.tunnelPort2,"onUpdate:modelValue":l[3]||(l[3]=e=>a.state.form.tunnelPort2=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(n,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:24},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"信标密钥",prop:"signinSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.signinSecretKey,"onUpdate:modelValue":l[4]||(l[4]=e=>a.state.form.signinSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(n,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.sForwardSecretKey,"onUpdate:modelValue":l[5]||(l[5]=e=>a.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.relaySecretKey,"onUpdate:modelValue":l[6]||(l[6]=e=>a.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(n,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:24},{default:(0,t.k6)((()=>[(0,t.bF)(n,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.updaterSecretKey,"onUpdate:modelValue":l[7]||(l[7]=e=>a.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["model","rules"])])}var ee={setup(e){const l=(0,t.WQ)("step"),r=(0,_.B)(),a=(0,I.Kh)({show:!1,form:{signinSecretKey:l.value.form.server.signinSecretKey||r.value.config.Server.SignIn.SecretKey,relaySecretKey:l.value.form.server.relaySecretKey||r.value.config.Server.Relay.SecretKey,sForwardSecretKey:l.value.form.server.sForwardSecretKey||r.value.config.Server.SForward.SecretKey,servicePort:l.value.form.server.servicePort||r.value.config.Server.ServicePort,webPort:l.value.form.server.webPort||r.value.config.Server.SForward.WebPort,tunnelPort1:l.value.form.server.tunnelPort1||r.value.config.Server.SForward.TunnelPortRange[0],tunnelPort2:l.value.form.server.tunnelPort2||r.value.config.Server.SForward.TunnelPortRange[1],updaterSecretKey:l.value.form.server.updaterSecretKey||r.value.config.Server.Updater.SecretKey},rules:{relaySecretKey:[{required:!0,message:"必填",trigger:"blur"}],sForwardSecretKey:[{required:!0,message:"必填",trigger:"blur"}],servicePort:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],webPort:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],tunnelPort1:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],tunnelPort2:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}]}}),o=(0,I.KR)(null),s=()=>new Promise(((e,l)=>{o.value.validate((r=>{0==r?l():e({json:{Server:{ServicePort:+a.form.servicePort,Relay:{SecretKey:a.form.relaySecretKey},SForward:{SecretKey:a.form.sForwardSecretKey,WebPort:+a.form.webPort,TunnelPortRange:[+a.form.tunnelPort1,+a.form.tunnelPort2]},Updater:{SecretKey:a.form.updaterSecretKey},SignIn:{SecretKey:a.form.signinSecretKey}}},form:{server:JSON.parse(JSON.stringify(a.form))}})}))}));return(0,t.sV)((()=>{0==l.value.json.Common.server&&(l.value.step+=l.value.increment)})),{state:a,handleValidate:s,formDom:o}}};const le=(0,P.A)(ee,[["render",$],["__scopeId","data-v-c9a17ce0"]]);var re=le,te={components:{Common:z,Client:Y,Server:re},setup(e){const l=(0,_.B)(),r=(0,I.Kh)({show:0==l.value.config.Common.Install,steps:["选择模式","客户端","完成"]}),a=(0,I.KR)(null),o=(0,I.KR)({step:1,increment:1,json:{},form:{server:{},client:{},common:{}}});(0,t.Gt)("step",o);const s=()=>{o.value.step--,o.value.increment=-1},n=()=>{o.value.increment=1,a.value.handleValidate().then((e=>{o.value.json=Object.assign(o.value.json,e.json),o.value.form=Object.assign(o.value.form,e.form),o.value.step++})).catch((()=>{}))},u=()=>{(0,j.ai)(o.value.json).then((()=>{N.nk.success("保存成功")})).catch((()=>{N.nk.error("保存失败")}))};return{state:r,currentDom:a,step:o,handlePrev:s,handleNext:n,handleSave:u}}};const ae=(0,P.A)(te,[["render",E],["__scopeId","data-v-5fad04f0"]]);var oe=ae,se=r(1387),ne={name:"Index",components:{Head:x,Status:W.A,Install:oe},setup(e){const l=(0,_.B)(),r=(0,se.rd)(),a=(0,I.KR)(null),o=()=>{(0,t.dY)((()=>{l.value.height=a.value.offsetHeight}))};return(0,t.sV)((()=>{0==l.value.hasAccess("FullManager")&&r.push({name:"NoPermission"}),window.addEventListener("resize",o),o()})),(0,t.hi)((()=>{window.removeEventListener("resize",o)})),{wrap:a}}};const ue=(0,P.A)(ne,[["render",d],["__scopeId","data-v-5ea3415a"]]);var de=ue}}]);
\ No newline at end of file
diff --git a/linker.tray.win/web/js/388.6d23a91f.js b/linker.tray.win/web/js/388.6d23a91f.js
new file mode 100644
index 00000000..2bc64d61
--- /dev/null
+++ b/linker.tray.win/web/js/388.6d23a91f.js
@@ -0,0 +1 @@
+"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[388],{6228:function(e,l,r){r.r(l),r.d(l,{default:function(){return de}});var t=r(6768);const a={class:"app-wrap flex flex-column flex-nowrap"},o={class:"head"},n={class:"body flex-1 relative",ref:"wrap"},s={class:"home absolute"},u={class:"status"};function d(e,l,r,d,m,i){const f=(0,t.g2)("Head"),c=(0,t.g2)("router-view"),b=(0,t.g2)("Status"),p=(0,t.g2)("Install");return(0,t.uX)(),(0,t.CE)("div",a,[(0,t.Lk)("div",o,[(0,t.bF)(f)]),(0,t.Lk)("div",n,[(0,t.Lk)("div",s,[(0,t.bF)(c)])],512),(0,t.Lk)("div",u,[(0,t.bF)(b,{config:!0}),(0,t.bF)(p)])])}r(4114);var m=r.p+"img/logo.892cb2fb.png";const i=e=>((0,t.Qi)("data-v-1b5cc276"),e=e(),(0,t.jt)(),e),f={class:"head flex"},c={class:"logo"},b=i((()=>(0,t.Lk)("img",{src:m,alt:""},null,-1))),p={class:"menu flex-1"},v={class:"flex"},g={key:0},F={key:1},k={key:2},w={key:3},y={class:"image"};function S(e,l,r,a,o,n){const s=(0,t.g2)("router-link"),u=(0,t.g2)("StarFilled"),d=(0,t.g2)("el-icon"),m=(0,t.g2)("Promotion"),i=(0,t.g2)("HelpFilled"),S=(0,t.g2)("PhoneFilled"),h=(0,t.g2)("WarnTriangleFilled"),_=(0,t.g2)("Background");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.Lk)("div",f,[(0,t.Lk)("div",c,[(0,t.bF)(s,{to:{name:"FullIndex"}},{default:(0,t.k6)((()=>[b])),_:1})]),(0,t.Lk)("div",p,[(0,t.Lk)("ul",v,[(0,t.Lk)("li",null,[(0,t.bF)(s,{to:{name:"FullIndex"}},{default:(0,t.k6)((()=>[(0,t.bF)(d,{size:"16"},{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1}),(0,t.eW)(" 首页")])),_:1})]),a.hasConfig?((0,t.uX)(),(0,t.CE)("li",g,[(0,t.bF)(s,{to:{name:"FullServers"}},{default:(0,t.k6)((()=>[(0,t.bF)(d,{size:"16"},{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1}),(0,t.eW)(" 服务器")])),_:1})])):(0,t.Q3)("",!0),a.hasTransport?((0,t.uX)(),(0,t.CE)("li",F,[(0,t.bF)(s,{to:{name:"FullTransport"}},{default:(0,t.k6)((()=>[(0,t.bF)(d,{size:"16"},{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1}),(0,t.eW)(" 打洞协议")])),_:1})])):(0,t.Q3)("",!0),a.hasAction?((0,t.uX)(),(0,t.CE)("li",k,[(0,t.bF)(s,{to:{name:"FullAction"}},{default:(0,t.k6)((()=>[(0,t.bF)(d,{size:"16"},{default:(0,t.k6)((()=>[(0,t.bF)(S)])),_:1}),(0,t.eW)(" Action验证")])),_:1})])):(0,t.Q3)("",!0),a.hasLogger?((0,t.uX)(),(0,t.CE)("li",w,[(0,t.bF)(s,{to:{name:"FullLogger"}},{default:(0,t.k6)((()=>[(0,t.bF)(d,{size:"16"},{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1}),(0,t.eW)(" 日志")])),_:1})])):(0,t.Q3)("",!0)])]),(0,t.Lk)("div",y,[(0,t.bF)(_,{name:"full"})])])])}var h=r(7477),_=r(3830),K=r(5096),V={components:{Promotion:h.Yk4,StarFilled:h.BQ2,WarnTriangleFilled:h.DtC,PhoneFilled:h.pXb,HelpFilled:h.adD,Background:K.A},setup(){const e=(0,_.B)(),l=(0,t.EW)((()=>e.value.hasAccess("Config"))),r=(0,t.EW)((()=>e.value.hasAccess("LoggerShow"))),a=(0,t.EW)((()=>e.value.hasAccess("Transport"))),o=(0,t.EW)((()=>e.value.hasAccess("Action")));return{hasConfig:l,hasLogger:r,hasTransport:a,hasAction:o}}},C=r(1241);const P=(0,C.A)(V,[["render",S],["__scopeId","data-v-1b5cc276"]]);var x=P,W=r(8406);const L=e=>((0,t.Qi)("data-v-41d4c7eb"),e=e(),(0,t.jt)(),e),U={class:"head"},A={class:"body"},X=L((()=>(0,t.Lk)("div",{class:"t-c"},"完成保存后,请重启软件",-1))),j={class:"footer t-c"};function Q(e,l,r,a,o,n){const s=(0,t.g2)("el-step"),u=(0,t.g2)("el-steps"),d=(0,t.g2)("Common"),m=(0,t.g2)("el-card"),i=(0,t.g2)("Server"),f=(0,t.g2)("Client"),c=(0,t.g2)("el-button"),b=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.bF)(b,{modelValue:a.state.show,"onUpdate:modelValue":l[0]||(l[0]=e=>a.state.show=e),title:"初始化配置",width:"600",top:"2vh"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.Lk)("div",U,[(0,t.bF)(u,{active:a.step.step,"finish-status":"success"},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(a.state.steps,((e,l)=>((0,t.uX)(),(0,t.Wv)(s,{title:e},null,8,["title"])))),256))])),_:1},8,["active"])]),(0,t.Lk)("div",A,[1==a.step.step?((0,t.uX)(),(0,t.Wv)(m,{key:0,shadow:"never"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{ref:"currentDom"},null,512)])),_:1})):(0,t.Q3)("",!0),2==a.step.step?((0,t.uX)(),(0,t.Wv)(m,{key:1,shadow:"never"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{ref:"currentDom"},null,512)])),_:1})):(0,t.Q3)("",!0),3==a.step.step?((0,t.uX)(),(0,t.Wv)(m,{key:2,shadow:"never"},{default:(0,t.k6)((()=>[(0,t.bF)(f,{ref:"currentDom"},null,512)])),_:1})):(0,t.Q3)("",!0),4==a.step.step?((0,t.uX)(),(0,t.Wv)(m,{key:3,shadow:"never"},{default:(0,t.k6)((()=>[X])),_:1})):(0,t.Q3)("",!0)]),(0,t.Lk)("div",j,[(0,t.bF)(c,{disabled:a.step.step<=1,onClick:a.handlePrev},{default:(0,t.k6)((()=>[(0,t.eW)("上一步")])),_:1},8,["disabled","onClick"]),a.step.step[(0,t.eW)("下一步")])),_:1},8,["onClick"])):((0,t.uX)(),(0,t.Wv)(c,{key:1,type:"primary",onClick:a.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("完成")])),_:1},8,["onClick"]))])])])),_:1},8,["modelValue"])])}var E=r(8835),I=r(144),N=r(1219);const q={class:"t-c"};function R(e,l,r,a,o,n){const s=(0,t.g2)("el-checkbox");return(0,t.uX)(),(0,t.CE)("div",q,[(0,t.bF)(s,{modelValue:a.state.form.client,"onUpdate:modelValue":l[0]||(l[0]=e=>a.state.form.client=e),label:"作为客户端"},null,8,["modelValue"]),(0,t.bF)(s,{modelValue:a.state.form.server,"onUpdate:modelValue":l[1]||(l[1]=e=>a.state.form.server=e),label:"作为服务端"},null,8,["modelValue"])])}var D={name:"Common",setup(){const e=(0,t.WQ)("step"),l=(0,I.Kh)({form:{client:e.value.form.common.client||e.value.json.Common&&e.value.json.Common.client||!0,server:e.value.form.common.server||e.value.json.Common&&e.value.json.Common.server||!1}}),r=e=>new Promise(((e,r)=>{l.form.client||l.form.server?e({json:{Common:{client:l.form.client,server:l.form.server,modes:[l.form.client?"client":"",l.form.server?"server":""].filter((e=>!!e))}},form:{common:JSON.parse(JSON.stringify(l.form))}}):(N.nk.error("请选择客户端或服务端"),r())}));return{state:l,handleValidate:r}}};const T=(0,C.A)(D,[["render",R]]);var z=T;const B=e=>((0,t.Qi)("data-v-47b95c93"),e=e(),(0,t.jt)(),e),O=B((()=>(0,t.Lk)("div",{class:"t-c w-100"},[(0,t.Lk)("p",null,"端口为0则不监听,相同分组名之间的客户端相互可见")],-1)));function H(e,l,r,a,o,n){const s=(0,t.g2)("el-form-item"),u=(0,t.g2)("el-input"),d=(0,t.g2)("el-col"),m=(0,t.g2)("el-row"),i=(0,t.g2)("el-checkbox"),f=(0,t.g2)("el-form");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.bF)(f,{ref:"formDom",model:a.state.form,rules:a.state.rules,"label-width":"8rem"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[O])),_:1}),(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"机器名",prop:"name"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.name,"onUpdate:modelValue":l[0]||(l[0]=e=>a.state.form.name=e),maxlength:"12","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"分组名",prop:"groupid"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.groupid,"onUpdate:modelValue":l[1]||(l[1]=e=>a.state.form.groupid=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"接口端口",prop:"api"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.api,"onUpdate:modelValue":l[2]||(l[2]=e=>a.state.form.api=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"网页端口",prop:"web"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.web,"onUpdate:modelValue":l[3]||(l[3]=e=>a.state.form.web=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"接口密码",prop:"password"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{style:{width:"42rem"},type:"password",modelValue:a.state.form.password,"onUpdate:modelValue":l[4]||(l[4]=e=>a.state.form.password=e),"show-password":"",maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{"label-width":"8rem",prop:"hasServer"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:a.state.form.hasServer,"onUpdate:modelValue":l[5]||(l[5]=e=>a.state.form.hasServer=e),label:"我有服务器",size:"large"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),a.state.form.hasServer?((0,t.uX)(),(0,t.Wv)(s,{key:0,label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"信标服务",prop:"server"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.server,"onUpdate:modelValue":l[6]||(l[6]=e=>a.state.form.server=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"信标密钥",prop:"serverSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.serverSecretKey,"onUpdate:modelValue":l[7]||(l[7]=e=>a.state.form.serverSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,t.Q3)("",!0),a.state.form.hasServer?((0,t.uX)(),(0,t.Wv)(s,{key:1,label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.sForwardSecretKey,"onUpdate:modelValue":l[8]||(l[8]=e=>a.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.relaySecretKey,"onUpdate:modelValue":l[9]||(l[9]=e=>a.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,t.Q3)("",!0),a.state.form.hasServer?((0,t.uX)(),(0,t.Wv)(s,{key:2,label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.updaterSecretKey,"onUpdate:modelValue":l[10]||(l[10]=e=>a.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"占位"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{disabled:"",maxlength:"36","show-word-limit":""})])),_:1})])),_:1})])),_:1})])),_:1})):(0,t.Q3)("",!0)])),_:1},8,["model","rules"])])}var J={setup(e){const l=(0,t.WQ)("step"),r=(0,_.B)(),a=(0,I.Kh)({form:{name:l.value.form.client.name||r.value.config.Client.Name,groupid:l.value.form.client.groupid||r.value.config.Client.GroupId,api:l.value.form.client.api||r.value.config.Client.CApi.ApiPort,web:l.value.form.client.web||r.value.config.Client.CApi.WebPort,password:l.value.form.client.password||r.value.config.Client.CApi.ApiPassword,hasServer:l.value.form.client.hasServer||!1,server:l.value.form.client.server||r.value.config.Client.ServerInfo.Host,serverSecretKey:l.value.form.client.serverSecretKey||r.value.config.Client.ServerSecretKey,sForwardSecretKey:l.value.form.client.sForwardSecretKey||r.value.config.Client.SForward.SecretKey,relaySecretKey:l.value.form.client.relaySecretKey||(r.value.config.Client.Relay.Servers[0]||{SecretKey:"snltty"}).SecretKey,updaterSecretKey:l.value.form.client.updaterSecretKey||r.value.config.Client.Updater.SecretKey},rules:{name:[{required:!0,message:"必填",trigger:"blur"}],groupid:[{required:!0,message:"必填",trigger:"blur"}],password:[{required:!0,message:"必填",trigger:"blur"}],api:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],web:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}]}}),o=(0,I.KR)(null),n=()=>new Promise(((e,l)=>{o.value.validate((r=>{r?e({json:{Client:{name:a.form.name,groupid:a.form.groupid,api:+a.form.api,web:+a.form.web,password:a.form.password,hasServer:a.form.hasServer,server:a.form.server,serverSecretKey:a.form.serverSecretKey,sForwardSecretKey:a.form.sForwardSecretKey,relaySecretKey:a.form.relaySecretKey,updaterSecretKey:a.form.updaterSecretKey}},form:{client:JSON.parse(JSON.stringify(a.form))}}):l()}))}));return(0,t.sV)((()=>{0==l.value.json.Common.client&&(l.value.step+=l.value.increment)})),{state:a,handleValidate:n,formDom:o}}};const G=(0,C.A)(J,[["render",H],["__scopeId","data-v-47b95c93"]]);var Y=G;const M=e=>((0,t.Qi)("data-v-c9a17ce0"),e=e(),(0,t.jt)(),e),Z=M((()=>(0,t.Lk)("div",{class:"t-c w-100"},"端口为0则不监听",-1)));function $(e,l,r,a,o,n){const s=(0,t.g2)("el-form-item"),u=(0,t.g2)("el-input"),d=(0,t.g2)("el-col"),m=(0,t.g2)("el-row"),i=(0,t.g2)("el-form");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.bF)(i,{ref:"formDom",model:a.state.form,rules:a.state.rules,"label-width":"10rem"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[Z])),_:1}),(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"服务端口",prop:"servicePort"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.servicePort,"onUpdate:modelValue":l[0]||(l[0]=e=>a.state.form.servicePort=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"web穿透端口",prop:"webPort"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.webPort,"onUpdate:modelValue":l[1]||(l[1]=e=>a.state.form.webPort=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"开放最小端口",prop:"tunnelPort1"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.tunnelPort1,"onUpdate:modelValue":l[2]||(l[2]=e=>a.state.form.tunnelPort1=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"开放最大端口",prop:"tunnelPort2"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.tunnelPort2,"onUpdate:modelValue":l[3]||(l[3]=e=>a.state.form.tunnelPort2=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:24},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"信标密钥",prop:"signinSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.signinSecretKey,"onUpdate:modelValue":l[4]||(l[4]=e=>a.state.form.signinSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.sForwardSecretKey,"onUpdate:modelValue":l[5]||(l[5]=e=>a.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(d,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.relaySecretKey,"onUpdate:modelValue":l[6]||(l[6]=e=>a.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(d,{span:24},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:a.state.form.updaterSecretKey,"onUpdate:modelValue":l[7]||(l[7]=e=>a.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["model","rules"])])}var ee={setup(e){const l=(0,t.WQ)("step"),r=(0,_.B)(),a=(0,I.Kh)({show:!1,form:{signinSecretKey:l.value.form.server.signinSecretKey||r.value.config.Server.SignIn.SecretKey,relaySecretKey:l.value.form.server.relaySecretKey||r.value.config.Server.Relay.SecretKey,sForwardSecretKey:l.value.form.server.sForwardSecretKey||r.value.config.Server.SForward.SecretKey,servicePort:l.value.form.server.servicePort||r.value.config.Server.ServicePort,webPort:l.value.form.server.webPort||r.value.config.Server.SForward.WebPort,tunnelPort1:l.value.form.server.tunnelPort1||r.value.config.Server.SForward.TunnelPortRange[0],tunnelPort2:l.value.form.server.tunnelPort2||r.value.config.Server.SForward.TunnelPortRange[1],updaterSecretKey:l.value.form.server.updaterSecretKey||r.value.config.Server.Updater.SecretKey},rules:{relaySecretKey:[{required:!0,message:"必填",trigger:"blur"}],sForwardSecretKey:[{required:!0,message:"必填",trigger:"blur"}],servicePort:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],webPort:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],tunnelPort1:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],tunnelPort2:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}]}}),o=(0,I.KR)(null),n=()=>new Promise(((e,l)=>{o.value.validate((r=>{0==r?l():e({json:{Server:{ServicePort:+a.form.servicePort,Relay:{SecretKey:a.form.relaySecretKey},SForward:{SecretKey:a.form.sForwardSecretKey,WebPort:+a.form.webPort,TunnelPortRange:[+a.form.tunnelPort1,+a.form.tunnelPort2]},Updater:{SecretKey:a.form.updaterSecretKey},SignIn:{SecretKey:a.form.signinSecretKey}}},form:{server:JSON.parse(JSON.stringify(a.form))}})}))}));return(0,t.sV)((()=>{0==l.value.json.Common.server&&(l.value.step+=l.value.increment)})),{state:a,handleValidate:n,formDom:o}}};const le=(0,C.A)(ee,[["render",$],["__scopeId","data-v-c9a17ce0"]]);var re=le,te={components:{Common:z,Client:Y,Server:re},setup(e){const l=(0,_.B)(),r=(0,I.Kh)({show:0==l.value.config.Common.Install,steps:["选择模式","服务端","客户端","完成"]}),a=(0,I.KR)(null),o=(0,I.KR)({step:1,increment:1,json:{},form:{server:{},client:{},common:{}}});(0,t.Gt)("step",o);const n=()=>{o.value.step--,o.value.increment=-1},s=()=>{o.value.increment=1,a.value.handleValidate().then((e=>{o.value.json=Object.assign(o.value.json,e.json),o.value.form=Object.assign(o.value.form,e.form),o.value.step++})).catch((()=>{}))},u=()=>{(0,E.ai)(o.value.json).then((()=>{N.nk.success("保存成功")})).catch((()=>{N.nk.error("保存失败")}))};return{state:r,currentDom:a,step:o,handlePrev:n,handleNext:s,handleSave:u}}};const ae=(0,C.A)(te,[["render",Q],["__scopeId","data-v-41d4c7eb"]]);var oe=ae,ne=r(1387),se={name:"Index",components:{Head:x,Status:W.A,Install:oe},setup(e){const l=(0,_.B)(),r=(0,ne.rd)(),a=(0,I.KR)(null),o=()=>{(0,t.dY)((()=>{l.value.height=a.value.offsetHeight}))};return(0,t.sV)((()=>{0==l.value.hasAccess("FullManager")&&r.push({name:"NoPermission"}),window.addEventListener("resize",o),o()})),(0,t.hi)((()=>{window.removeEventListener("resize",o)})),{wrap:a}}};const ue=(0,C.A)(se,[["render",d],["__scopeId","data-v-5ea3415a"]]);var de=ue}}]);
\ No newline at end of file
diff --git a/linker.tray.win/web/js/706.a2a78718.js b/linker.tray.win/web/js/706.a2a78718.js
new file mode 100644
index 00000000..7c1baa27
--- /dev/null
+++ b/linker.tray.win/web/js/706.a2a78718.js
@@ -0,0 +1 @@
+(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[706],{743:function(e,t,l){"use strict";l.d(t,{$U:function(){return s},Ap:function(){return r},Co:function(){return a},DY:function(){return u},Qs:function(){return i},eX:function(){return d},pY:function(){return o}});var n=l(4);const r=()=>(0,n.zG)("sforwardclient/GetSecretKey"),a=e=>(0,n.zG)("sforwardclient/SetSecretKey",e),o=(e="0")=>(0,n.zG)("sforwardclient/get",e),s=e=>(0,n.zG)("sforwardclient/getremote",e),u=e=>(0,n.zG)("sforwardclient/remove",e),i=e=>(0,n.zG)("sforwardclient/add",e),d=()=>(0,n.zG)("sforwardclient/TestLocal")},83:function(e,t,l){"use strict";l.d(t,{$M:function(){return i},KW:function(){return u},S3:function(){return c},Vn:function(){return d},b0:function(){return a},gM:function(){return s},ix:function(){return r},r7:function(){return o}});var n=l(4);const r=()=>(0,n.zG)("tunnel/gettypes"),a=e=>(0,n.zG)("tunnel/SetServers",e),o=(e="0")=>(0,n.zG)("tunnel/get",e),s=()=>(0,n.zG)("tunnel/refresh"),u=e=>(0,n.zG)("tunnel/SetRouteLevel",e),i=e=>(0,n.zG)("tunnel/SetTransports",e),d=()=>(0,n.zG)("tunnel/GeInterfaces"),c=e=>(0,n.zG)("tunnel/SetInterface",e)},920:function(e,t,l){"use strict";l.d(t,{BJ:function(){return d},NS:function(){return o},Vk:function(){return i},aP:function(){return p},ir:function(){return u},lJ:function(){return a},mK:function(){return r},y2:function(){return c},yN:function(){return s}});var n=l(4);const r=(e="0")=>(0,n.zG)("updaterclient/get",e),a=e=>(0,n.zG)("updaterclient/confirm",e),o=e=>(0,n.zG)("updaterclient/exit",e),s=()=>(0,n.zG)("updaterclient/GetSecretKey"),u=e=>(0,n.zG)("updaterclient/SetSecretKey",e),i=()=>(0,n.zG)("updaterclient/getcurrent"),d=()=>(0,n.zG)("updaterclient/getserver"),c=e=>(0,n.zG)("updaterclient/confirmserver",e),p=()=>(0,n.zG)("updaterclient/exitserver")},6734:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return b}});var n=l(6768);const r={class:"card-header flex"},a=(0,n.Lk)("span",null,"同步密钥",-1),o=(0,n.Lk)("span",{class:"flex-1"},null,-1),s=(0,n.Lk)("div",null," 同步,信标服务器,中继服务器,服务器代理穿透,的密钥到所有客户端 ",-1),u={class:"card-header flex"},i=(0,n.Lk)("span",null,"同步服务器配置",-1),d=(0,n.Lk)("span",{class:"flex-1"},null,-1),c=(0,n.Lk)("div",null," 同步,信标服务器,端口服务器,中继服务器,列表到所有客户端 ",-1);function p(e,t,l,p,h,f){const v=(0,n.g2)("el-button"),m=(0,n.g2)("el-card");return(0,n.uX)(),(0,n.CE)("div",null,[(0,n.bF)(m,{shadow:"never"},{header:(0,n.k6)((()=>[(0,n.Lk)("div",r,[a,o,(0,n.bF)(v,{type:"success",onClick:p.handleSyncSecretKey},{default:(0,n.k6)((()=>[(0,n.eW)("确定同步")])),_:1},8,["onClick"])])])),default:(0,n.k6)((()=>[s])),_:1}),(0,n.bF)(m,{shadow:"never",style:{"margin-top":"2rem"}},{header:(0,n.k6)((()=>[(0,n.Lk)("div",u,[i,d,(0,n.bF)(v,{type:"success",onClick:p.handleSyncServer},{default:(0,n.k6)((()=>[(0,n.eW)("确定同步")])),_:1},8,["onClick"])])])),default:(0,n.k6)((()=>[c])),_:1})])}var h=l(3830),f=l(1219),v=l(144),m=l(8835),y={label:"同步配置",name:"async",order:7,setup(e){const t=(0,h.B)(),l=(0,v.Kh)({}),n=()=>{const e={SignSecretKey:t.value.config.Client.ServerInfo.SecretKey,RelaySecretKey:t.value.config.Client.Relay.Servers[0].SecretKey,SForwardSecretKey:t.value.config.Client.SForward.SecretKey};(0,m.g2)(e).then((()=>{f.nk.success("已操作")})).catch((()=>{f.nk.error("操作失败")}))},r=()=>{const e={SignServers:t.value.config.Client.Servers,RelayServers:t.value.config.Client.Relay.Servers,TunnelServers:t.value.config.Client.Tunnel.Servers};(0,m.gH)(e).then((()=>{f.nk.success("已操作")})).catch((()=>{f.nk.error("操作失败")}))};return{state:l,handleSyncSecretKey:n,handleSyncServer:r}}},g=l(1241);const w=(0,g.A)(y,[["render",p]]);var b=w},6488:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return c}});var n=l(6768);const r={key:0,class:"servers-wrap"};function a(e,t,l,a,o,s){const u=(0,n.g2)("el-tab-pane"),i=(0,n.g2)("el-tabs");return a.hasConfig?((0,n.uX)(),(0,n.CE)("div",r,[(0,n.bF)(i,{type:"border-card",style:{width:"100%"},modelValue:a.state.tab,"onUpdate:modelValue":t[0]||(t[0]=e=>a.state.tab=e)},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(a.settingComponents,((e,t)=>((0,n.uX)(),(0,n.Wv)(u,{key:t,label:e.label,name:e.name},{default:(0,n.k6)((()=>[((0,n.uX)(),(0,n.Wv)((0,n.$y)(e)))])),_:2},1032,["label","name"])))),128))])),_:1},8,["modelValue"])])):(0,n.Q3)("",!0)}var o=l(144),s=l(3830),u={components:{},setup(e){const t=["./Index.vue","./Version.vue","./TunnelServers.vue"],r=l(9317),a=r.keys().filter((e=>0==t.includes(e))).map((e=>r(e).default)).sort(((e,t)=>e.order-t.order)),u=(0,s.B)(),i=(0,n.EW)((()=>u.value.hasAccess("Config"))),d=(0,o.Kh)({tab:a[0].name});return{state:d,settingComponents:a,hasConfig:i}}},i=l(1241);const d=(0,i.A)(u,[["render",a],["__scopeId","data-v-74a22754"]]);var c=d},7362:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return m}});var n=l(6768),r=l(4232);function a(e,t,l,a,o,s){const u=(0,n.g2)("el-input"),i=(0,n.g2)("el-table-column"),d=(0,n.g2)("el-option"),c=(0,n.g2)("el-select"),p=(0,n.g2)("el-switch"),h=(0,n.g2)("el-table");return(0,n.uX)(),(0,n.Wv)(h,{data:a.state.list,border:"",size:"small",width:"100%",height:`${a.state.height}px`,onCellDblclick:a.handleCellClick},{default:(0,n.k6)((()=>[(0,n.bF)(i,{prop:"Name",label:"名称",width:"100"},{default:(0,n.k6)((e=>[e.row.NameEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":t=>e.row.Name=t,onBlur:t=>a.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.eW)((0,r.v_)(e.row.Name),1)],64))])),_:1}),(0,n.bF)(i,{prop:"RelayType",label:"类别",width:"100"},{default:(0,n.k6)((e=>[(0,n.bF)(c,{disabled:"",modelValue:e.row.RelayType,"onUpdate:modelValue":t=>e.row.RelayType=t,placeholder:"Select",size:"small",onChange:t=>a.handleEditBlur(e.row,"RelayType")},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(a.state.types,(e=>((0,n.uX)(),(0,n.Wv)(d,{key:e.Value,label:e.Name,value:e.Value},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,n.bF)(i,{prop:"Host",label:"地址"},{default:(0,n.k6)((e=>[e.row.HostEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Host,"onUpdate:modelValue":t=>e.row.Host=t,onBlur:t=>a.handleEditBlur(e.row,"Host")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.Lk)("span",{class:(0,r.C4)({red:!e.row.Available,green:e.row.Available})},(0,r.v_)(e.row.Host),3),(0,n.Lk)("span",{class:(0,r.C4)({red:-1==e.row.Delay,green:e.row.Delay<500&&e.row.Delay>=0,yellow:e.row.Delay>=500})}," - "+(0,r.v_)(e.row.Delay)+"ms",3)],64))])),_:1}),(0,n.bF)(i,{prop:"SecretKey",label:"秘钥"},{default:(0,n.k6)((e=>[e.row.SecretKeyEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,type:"password","show-password":"",size:"small",modelValue:e.row.SecretKey,"onUpdate:modelValue":t=>e.row.SecretKey=t,onBlur:t=>a.handleEditBlur(e.row,"SecretKey")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[],64))])),_:1}),(0,n.bF)(i,{property:"SSL",label:"SSL",width:"60"},{default:(0,n.k6)((e=>[(0,n.bF)(p,{modelValue:e.row.SSL,"onUpdate:modelValue":t=>e.row.SSL=t,onChange:t=>a.handleEditBlur(e.row,"SSL"),"inline-prompt":"","active-text":"是","inactive-text":"否"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,n.bF)(i,{property:"Disabled",label:"禁用",width:"60"},{default:(0,n.k6)((e=>[(0,n.bF)(p,{modelValue:e.row.Disabled,"onUpdate:modelValue":t=>e.row.Disabled=t,onChange:t=>a.handleEditBlur(e.row,"Disabled"),"inline-prompt":"","active-text":"是","inactive-text":"否",style:{"--el-switch-on-color":"red","--el-switch-off-color":"#ddd"}},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1})])),_:1},8,["data","height","onCellDblclick"])}var o=l(4);const s=()=>(0,o.zG)("relay/gettypes"),u=e=>(0,o.zG)("relay/SetServers",e);var i=l(3830),d=l(1219),c=l(144),p=l(7477),h={label:"中继服务器",name:"relayServers",order:4,components:{Delete:p.epd,Plus:p.FWt,Top:p.EjV,Bottom:p.i5o},setup(e){const t=(0,i.B)(),l=(0,c.Kh)({list:t.value.config.Client.Relay.Servers.sort(((e,t)=>e.Disabled-t.Disabled)),types:[],height:(0,n.EW)((()=>t.value.height-90))});(0,n.wB)((()=>t.value.config.Client.Relay.Servers),(()=>{0==l.list.filter((e=>e["__editing"])).length&&(l.list=t.value.config.Client.Relay.Servers.sort(((e,t)=>e.Disabled-t.Disabled)))}));const r=()=>{s().then((e=>{l.types=e}))},a=(e,t)=>{o(e,t.property)},o=(e,t)=>{l.list.forEach((e=>{e["NameEditing"]=!1,e["RelayTypeEditing"]=!1,e["HostEditing"]=!1,e["SecretKeyEditing"]=!1})),e["__editing"]=!0,e[`${t}Editing`]=!0},p=(e,t)=>{e[`${t}Editing`]=!1,e["__editing"]=!1,m()},h=e=>{l.list.splice(e,1),m()},f=e=>{l.list.filter((e=>""==e.Host||""==e.Name)).length>0||(l.list.splice(e+1,0,{Name:"",Host:"",RelayType:0,SecretKey:"snltty",Disabled:!1}),m())},v=(e,t)=>{const n=l.list[e],r=l.list[e+t];n&&r&&(l.list[e+t]=n,l.list[e]=r),m(l.list)},m=()=>{l.list=l.list.slice().sort(((e,t)=>e.Disabled-t.Disabled)),u(l.list).then((()=>{d.nk.success("已操作")})).catch((()=>{d.nk.error("操作失败")}))};return(0,n.sV)((()=>{r()})),{state:l,handleCellClick:a,handleEditBlur:p,handleDel:h,handleAdd:f,handleSort:v}}},f=l(1241);const v=(0,f.A)(h,[["render",a],["__scopeId","data-v-2ea70464"]]);var m=v},3751:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return f}});var n=l(6768);const r={style:{width:"30rem",padding:"5rem 0",margin:"0 auto"}},a=(0,n.Lk)("p",{class:"t-c"}," 服务器代理穿透密钥 ",-1);function o(e,t,l,o,s,u){const i=(0,n.g2)("el-input");return(0,n.uX)(),(0,n.CE)("div",r,[a,(0,n.Lk)("p",null,[(0,n.bF)(i,{type:"password","show-password":"",modelValue:o.state.SForwardSecretKey,"onUpdate:modelValue":t[0]||(t[0]=e=>o.state.SForwardSecretKey=e),maxlength:"36",onBlur:o.handleChange},null,8,["modelValue","onBlur"])])])}var s=l(743),u=l(3830),i=l(1219),d=l(144),c={label:"服务器穿透",name:"sforward",order:5,setup(e){(0,u.B)();const t=(0,d.Kh)({SForwardSecretKey:""}),l=()=>{(0,s.Ap)().then((e=>{t.SForwardSecretKey=e}))},r=()=>{t.SForwardSecretKey&&(0,s.Co)(t.SForwardSecretKey).then((()=>{i.nk.success("已操作")})).catch((()=>{i.nk.error("操作失败")}))},a=()=>{r()};return(0,n.sV)((()=>{l()})),{state:t,handleChange:a}}},p=l(1241);const h=(0,p.A)(c,[["render",o]]);var f=h},3477:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return v}});var n=l(6768),r=l(4232);function a(e,t,l,a,o,s){const u=(0,n.g2)("el-input"),i=(0,n.g2)("el-table-column"),d=(0,n.g2)("el-table");return(0,n.uX)(),(0,n.Wv)(d,{data:a.state.list,border:"",size:"small",width:"100%",height:`${a.state.height}px`,onCellDblclick:a.handleCellClick},{default:(0,n.k6)((()=>[(0,n.bF)(i,{prop:"Name",label:"名称",width:"100"},{default:(0,n.k6)((e=>[e.row.NameEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":t=>e.row.Name=t,onBlur:t=>a.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.eW)((0,r.v_)(e.row.Name),1)],64))])),_:1}),(0,n.bF)(i,{prop:"Host",label:"地址"},{default:(0,n.k6)((e=>[e.row.HostEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Host,"onUpdate:modelValue":t=>e.row.Host=t,onBlur:t=>a.handleEditBlur(e.row,"Host")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.eW)((0,r.v_)(e.row.Host),1)],64))])),_:1}),(0,n.bF)(i,{prop:"SecretKey",label:"秘钥"},{default:(0,n.k6)((e=>[e.row.SecretKeyEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,type:"password","show-password":"",size:"small",modelValue:e.row.SecretKey,"onUpdate:modelValue":t=>e.row.SecretKey=t,onBlur:t=>a.handleEditBlur(e.row,"SecretKey")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[],64))])),_:1})])),_:1},8,["data","height","onCellDblclick"])}var o=l(9299),s=l(3830),u=l(1219),i=l(144),d=l(7477),c=l(83),p={label:"信标服务器",name:"signInServers",order:0,components:{Delete:d.epd,Plus:d.FWt,Select:d.l6P},setup(e){const t=(0,s.B)(),l=(0,i.Kh)({list:t.value.config.Client.Servers||[],server:(0,n.EW)((()=>t.value.config.Client.ServerInfo.Host)),height:(0,n.EW)((()=>t.value.height-90))});(0,n.wB)((()=>t.value.config.Client.Servers),(()=>{0==l.list.filter((e=>e["__editing"])).length&&(l.list=t.value.config.Client.Servers)}));const r=(e,t)=>{a(e,t.property)},a=(e,t)=>{l.list.forEach((e=>{e["NameEditing"]=!1,e["HostEditing"]=!1,e["SecretKeyEditing"]=!1})),e[`${t}Editing`]=!0,e["__editing"]=!0},d=(e,t)=>{e[`${t}Editing`]=!1,e["__editing"]=!1,v()},p=e=>{l.list.splice(e,1),v()},h=e=>{l.list.filter((e=>""==e.Host||""==e.Name)).length>0||(l.list.splice(e+1,0,{Name:"",Host:""}),v())},f=e=>{const t=l.list[e];l.list[e]=l.list[0],l.list[0]=t,v()},v=()=>{const e=t.value.config.Client.Tunnel.Servers.slice(),n=l.list[0];for(let t=0;t{u.nk.success("已操作")})).catch((()=>{u.nk.error("操作失败")})),(0,c.b0)(e).then((()=>{u.nk.success("已操作")})).catch((()=>{u.nk.error("操作失败")}))};return{state:l,handleCellClick:r,handleEditBlur:d,handleDel:p,handleAdd:h,handleUse:f}}},h=l(1241);const f=(0,h.A)(p,[["render",a]]);var v=f},6704:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return f}});var n=l(6768),r=l(4232);function a(e,t,l,a,o,s){const u=(0,n.g2)("el-input"),i=(0,n.g2)("el-table-column"),d=(0,n.g2)("el-option"),c=(0,n.g2)("el-select"),p=(0,n.g2)("el-table");return(0,n.uX)(),(0,n.Wv)(p,{data:a.state.list,border:"",size:"small",width:"100%",height:`${a.state.height}px`,onCellDblclick:a.handleCellClick},{default:(0,n.k6)((()=>[(0,n.bF)(i,{prop:"Name",label:"名称",width:"100"},{default:(0,n.k6)((e=>[e.row.NameEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":t=>e.row.Name=t,onBlur:t=>a.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.eW)((0,r.v_)(e.row.Name),1)],64))])),_:1}),(0,n.bF)(i,{prop:"ProtocolType",label:"协议",width:"100"},{default:(0,n.k6)((e=>[(0,n.Lk)("div",null,[(0,n.bF)(c,{disabled:"",modelValue:e.row.ProtocolType,"onUpdate:modelValue":t=>e.row.ProtocolType=t,placeholder:"Select",size:"small",onChange:t=>a.handleEditBlur(e.row,"ProtocolType")},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.row.Protocols,((e,t)=>((0,n.uX)(),(0,n.Wv)(d,{key:+t,label:e,value:+t},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])])])),_:1}),(0,n.bF)(i,{prop:"Type",label:"类别",width:"100"},{default:(0,n.k6)((e=>[(0,n.bF)(c,{disabled:"",modelValue:e.row.Type,"onUpdate:modelValue":t=>e.row.Type=t,placeholder:"Select",size:"small",onChange:t=>a.handleEditBlur(e.row,"Type")},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(a.state.types,(e=>((0,n.uX)(),(0,n.Wv)(d,{key:e.Value,label:e.Name,value:e.Value},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,n.bF)(i,{prop:"Host",label:"地址"},{default:(0,n.k6)((e=>[e.row.HostEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Host,"onUpdate:modelValue":t=>e.row.Host=t,onBlur:t=>a.handleEditBlur(e.row,"Host")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.eW)((0,r.v_)(e.row.Host),1)],64))])),_:1})])),_:1},8,["data","height","onCellDblclick"])}var o=l(83),s=l(3830),u=l(1219),i=l(144),d=l(7477),c={label:"端口服务器",name:"tunnelServers",order:1,components:{Delete:d.epd,Plus:d.FWt,Top:d.EjV,Bottom:d.i5o},setup(e){const t=(0,s.B)(),l=(0,i.Kh)({list:t.value.config.Client.Tunnel.Servers.sort(((e,t)=>e.Disabled-t.Disabled)),types:[],height:(0,n.EW)((()=>t.value.height-90)),interfaces:[]});(0,n.wB)((()=>t.value.config.Client.Tunnel.Servers),(()=>{0==l.list.filter((e=>e["__editing"])).length&&(l.list=t.value.config.Client.Tunnel.Servers.sort(((e,t)=>e.Disabled-t.Disabled))),l.interface=t.value.config.Client.Tunnel.Interface}));const r=()=>{(0,o.Vn)().then((e=>{e.splice(0,0,"0.0.0.0"),l.interfaces=e})).catch((()=>{}))},a=()=>{(0,o.S3)(l.interface).then((()=>{})).catch((()=>{}))},d=()=>{(0,o.ix)().then((e=>{l.types=e,c(l.list)}))},c=e=>{e.forEach((e=>{e.Protocols=l.types.filter((t=>t.Value==e.Type))[0].Protocols,e.Protocols[e.ProtocolType]||(e.ProtocolType=+Object.keys(e.Protocols)[0])}))},p=(e,t)=>{h(e,t.property)},h=(e,t)=>{c([e]),l.list.forEach((e=>{e["NameEditing"]=!1,e["TypeEditing"]=!1,e["HostEditing"]=!1,e["ProtocolTypeEditing"]=!1})),e[`${t}Editing`]=!0,e["__editing"]=!0},f=(e,t)=>{c([e]),e[`${t}Editing`]=!1,e["__editing"]=!1,g()},v=e=>{l.list.splice(e,1),g()},m=e=>{if(l.list.filter((e=>""==e.Host||""==e.Name)).length>0)return;const t={Name:"",Host:"",Type:0,Disabled:!1,ProtocolType:2};c([t]),l.list.splice(e+1,0,t),g()},y=(e,t)=>{const n=l.list[e],r=l.list[e+t];n&&r&&(l.list[e+t]=n,l.list[e]=r),g(l.list)},g=()=>{l.list=l.list.slice().sort(((e,t)=>e.Disabled-t.Disabled)),(0,o.b0)(l.list).then((()=>{u.nk.success("已操作")})).catch((()=>{u.nk.error("操作失败")}))};return(0,n.sV)((()=>{d(),r()})),{state:l,handleCellClick:p,handleEditBlur:f,handleDel:v,handleAdd:m,handleSort:y,handleInterfaceChange:a}}},p=l(1241);const h=(0,p.A)(c,[["render",a]]);var f=h},7858:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return f}});var n=l(6768);const r={style:{width:"30rem",padding:"5rem 0",margin:"0 auto"}},a=(0,n.Lk)("p",{class:"t-c"}," 服务器更新密钥 ",-1);function o(e,t,l,o,s,u){const i=(0,n.g2)("el-input");return(0,n.uX)(),(0,n.CE)("div",r,[a,(0,n.Lk)("p",null,[(0,n.bF)(i,{type:"password","show-password":"",modelValue:o.state.secretKey,"onUpdate:modelValue":t[0]||(t[0]=e=>o.state.secretKey=e),maxlength:"36",onBlur:o.handleChange},null,8,["modelValue","onBlur"])])])}var s=l(920),u=l(3830),i=l(1219),d=l(144),c={label:"服务器更新",name:"updater",order:6,setup(e){(0,u.B)();const t=(0,d.Kh)({secretKey:""}),l=()=>{(0,s.yN)().then((e=>{t.secretKey=e}))},r=()=>{t.secretKey&&(0,s.ir)(t.secretKey).then((()=>{i.nk.success("已操作")})).catch((()=>{i.nk.error("操作失败")}))},a=()=>{r()};return(0,n.sV)((()=>{l()})),{state:t,handleChange:a}}},p=l(1241);const h=(0,p.A)(c,[["render",o]]);var f=h},9317:function(e,t,l){var n={"./Async.vue":6734,"./Index.vue":6488,"./RelayServers.vue":7362,"./SForward.vue":3751,"./SignInServers.vue":3477,"./TunnelServers.vue":6704,"./Updater.vue":7858};function r(e){var t=a(e);return l(t)}function a(e){if(!l.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}r.keys=function(){return Object.keys(n)},r.resolve=a,e.exports=r,r.id=9317}}]);
\ No newline at end of file
diff --git a/linker.tray.win/web/js/948.1788c053.js b/linker.tray.win/web/js/948.1788c053.js
deleted file mode 100644
index 6c8c5bf1..00000000
--- a/linker.tray.win/web/js/948.1788c053.js
+++ /dev/null
@@ -1 +0,0 @@
-(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[948],{743:function(e,t,l){"use strict";l.d(t,{$U:function(){return s},Ap:function(){return r},Co:function(){return a},DY:function(){return u},Qs:function(){return i},eX:function(){return d},pY:function(){return o}});var n=l(4);const r=()=>(0,n.zG)("sforwardclient/GetSecretKey"),a=e=>(0,n.zG)("sforwardclient/SetSecretKey",e),o=(e="0")=>(0,n.zG)("sforwardclient/get",e),s=e=>(0,n.zG)("sforwardclient/getremote",e),u=e=>(0,n.zG)("sforwardclient/remove",e),i=e=>(0,n.zG)("sforwardclient/add",e),d=()=>(0,n.zG)("sforwardclient/TestLocal")},83:function(e,t,l){"use strict";l.d(t,{$M:function(){return i},KW:function(){return u},S3:function(){return c},Vn:function(){return d},b0:function(){return a},gM:function(){return s},ix:function(){return r},r7:function(){return o}});var n=l(4);const r=()=>(0,n.zG)("tunnel/gettypes"),a=e=>(0,n.zG)("tunnel/SetServers",e),o=(e="0")=>(0,n.zG)("tunnel/get",e),s=()=>(0,n.zG)("tunnel/refresh"),u=e=>(0,n.zG)("tunnel/SetRouteLevel",e),i=e=>(0,n.zG)("tunnel/SetTransports",e),d=()=>(0,n.zG)("tunnel/GeInterfaces"),c=e=>(0,n.zG)("tunnel/SetInterface",e)},920:function(e,t,l){"use strict";l.d(t,{BJ:function(){return d},NS:function(){return o},Vk:function(){return i},aP:function(){return p},ir:function(){return u},lJ:function(){return a},mK:function(){return r},y2:function(){return c},yN:function(){return s}});var n=l(4);const r=(e="0")=>(0,n.zG)("updaterclient/get",e),a=e=>(0,n.zG)("updaterclient/confirm",e),o=e=>(0,n.zG)("updaterclient/exit",e),s=()=>(0,n.zG)("updaterclient/GetSecretKey"),u=e=>(0,n.zG)("updaterclient/SetSecretKey",e),i=()=>(0,n.zG)("updaterclient/getcurrent"),d=()=>(0,n.zG)("updaterclient/getserver"),c=e=>(0,n.zG)("updaterclient/confirmserver",e),p=()=>(0,n.zG)("updaterclient/exitserver")},5179:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return g}});var n=l(6768);const r=(0,n.Lk)("div",{class:"card-header"},[(0,n.Lk)("span",null,"同步密钥")],-1),a=(0,n.Lk)("div",null," 同步,信标服务器,中继服务器,服务器代理穿透,的密钥到所有客户端 ",-1),o={class:"t-r"},s=(0,n.Lk)("div",{class:"card-header"},[(0,n.Lk)("span",null,"同步服务器配置")],-1),u=(0,n.Lk)("div",null," 同步,信标服务器,端口服务器,中继服务器,列表到所有客户端 ",-1),i={class:"t-r"};function d(e,t,l,d,c,p){const h=(0,n.g2)("el-button"),f=(0,n.g2)("el-card");return(0,n.uX)(),(0,n.CE)("div",null,[(0,n.bF)(f,{shadow:"never"},{header:(0,n.k6)((()=>[r])),footer:(0,n.k6)((()=>[(0,n.Lk)("div",o,[(0,n.bF)(h,{type:"success",onClick:d.handleSyncSecretKey},{default:(0,n.k6)((()=>[(0,n.eW)("确定同步")])),_:1},8,["onClick"])])])),default:(0,n.k6)((()=>[a])),_:1}),(0,n.bF)(f,{shadow:"never",style:{"margin-top":"2rem"}},{header:(0,n.k6)((()=>[s])),footer:(0,n.k6)((()=>[(0,n.Lk)("div",i,[(0,n.bF)(h,{type:"success",onClick:d.handleSyncServer},{default:(0,n.k6)((()=>[(0,n.eW)("确定同步")])),_:1},8,["onClick"])])])),default:(0,n.k6)((()=>[u])),_:1})])}var c=l(3830),p=l(1219),h=l(144),f=l(8835),m={label:"同步配置",name:"async",order:7,setup(e){const t=(0,c.B)(),l=(0,h.Kh)({}),n=()=>{const e={SignSecretKey:t.value.config.Client.ServerInfo.SecretKey,RelaySecretKey:t.value.config.Client.Relay.Servers[0].SecretKey,SForwardSecretKey:t.value.config.Client.SForward.SecretKey};(0,f.g2)(e).then((()=>{p.nk.success("已操作")})).catch((()=>{p.nk.error("操作失败")}))},r=()=>{const e={SignServers:t.value.config.Client.Servers,RelayServers:t.value.config.Client.Relay.Servers,TunnelServers:t.value.config.Client.Tunnel.Servers};(0,f.gH)(e).then((()=>{p.nk.success("已操作")})).catch((()=>{p.nk.error("操作失败")}))};return{state:l,handleSyncSecretKey:n,handleSyncServer:r}}},v=l(1241);const y=(0,v.A)(m,[["render",d]]);var g=y},890:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return c}});var n=l(6768);const r={key:0,class:"servers-wrap"};function a(e,t,l,a,o,s){const u=(0,n.g2)("el-tab-pane"),i=(0,n.g2)("el-tabs");return a.hasConfig?((0,n.uX)(),(0,n.CE)("div",r,[(0,n.bF)(i,{type:"border-card",style:{width:"100%"},modelValue:a.state.tab,"onUpdate:modelValue":t[0]||(t[0]=e=>a.state.tab=e)},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(a.settingComponents,((e,t)=>((0,n.uX)(),(0,n.Wv)(u,{key:t,label:e.label,name:e.name},{default:(0,n.k6)((()=>[((0,n.uX)(),(0,n.Wv)((0,n.$y)(e)))])),_:2},1032,["label","name"])))),128))])),_:1},8,["modelValue"])])):(0,n.Q3)("",!0)}var o=l(144),s=l(3830),u={components:{},setup(e){const t=["./Index.vue","./Version.vue"],r=l(9317),a=r.keys().filter((e=>0==t.includes(e))).map((e=>r(e).default)).sort(((e,t)=>e.order-t.order)),u=(0,s.B)(),i=(0,n.EW)((()=>u.value.hasAccess("Config"))),d=(0,o.Kh)({tab:a[0].name});return{state:d,settingComponents:a,hasConfig:i}}},i=l(1241);const d=(0,i.A)(u,[["render",a],["__scopeId","data-v-1f4aa573"]]);var c=d},7362:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return v}});var n=l(6768),r=l(4232);function a(e,t,l,a,o,s){const u=(0,n.g2)("el-input"),i=(0,n.g2)("el-table-column"),d=(0,n.g2)("el-option"),c=(0,n.g2)("el-select"),p=(0,n.g2)("el-switch"),h=(0,n.g2)("el-table");return(0,n.uX)(),(0,n.Wv)(h,{data:a.state.list,border:"",size:"small",width:"100%",height:`${a.state.height}px`,onCellDblclick:a.handleCellClick},{default:(0,n.k6)((()=>[(0,n.bF)(i,{prop:"Name",label:"名称",width:"100"},{default:(0,n.k6)((e=>[e.row.NameEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":t=>e.row.Name=t,onBlur:t=>a.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.eW)((0,r.v_)(e.row.Name),1)],64))])),_:1}),(0,n.bF)(i,{prop:"RelayType",label:"类别",width:"100"},{default:(0,n.k6)((e=>[(0,n.bF)(c,{disabled:"",modelValue:e.row.RelayType,"onUpdate:modelValue":t=>e.row.RelayType=t,placeholder:"Select",size:"small",onChange:t=>a.handleEditBlur(e.row,"RelayType")},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(a.state.types,(e=>((0,n.uX)(),(0,n.Wv)(d,{key:e.Value,label:e.Name,value:e.Value},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,n.bF)(i,{prop:"Host",label:"地址"},{default:(0,n.k6)((e=>[e.row.HostEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Host,"onUpdate:modelValue":t=>e.row.Host=t,onBlur:t=>a.handleEditBlur(e.row,"Host")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.Lk)("span",{class:(0,r.C4)({red:!e.row.Available,green:e.row.Available})},(0,r.v_)(e.row.Host),3),(0,n.Lk)("span",{class:(0,r.C4)({red:-1==e.row.Delay,green:e.row.Delay<500&&e.row.Delay>=0,yellow:e.row.Delay>=500})}," - "+(0,r.v_)(e.row.Delay)+"ms",3)],64))])),_:1}),(0,n.bF)(i,{prop:"SecretKey",label:"秘钥"},{default:(0,n.k6)((e=>[e.row.SecretKeyEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,type:"password","show-password":"",size:"small",modelValue:e.row.SecretKey,"onUpdate:modelValue":t=>e.row.SecretKey=t,onBlur:t=>a.handleEditBlur(e.row,"SecretKey")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[],64))])),_:1}),(0,n.bF)(i,{property:"SSL",label:"SSL",width:"60"},{default:(0,n.k6)((e=>[(0,n.bF)(p,{modelValue:e.row.SSL,"onUpdate:modelValue":t=>e.row.SSL=t,onChange:t=>a.handleEditBlur(e.row,"SSL"),"inline-prompt":"","active-text":"是","inactive-text":"否"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,n.bF)(i,{property:"Disabled",label:"禁用",width:"60"},{default:(0,n.k6)((e=>[(0,n.bF)(p,{modelValue:e.row.Disabled,"onUpdate:modelValue":t=>e.row.Disabled=t,onChange:t=>a.handleEditBlur(e.row,"Disabled"),"inline-prompt":"","active-text":"是","inactive-text":"否",style:{"--el-switch-on-color":"red","--el-switch-off-color":"#ddd"}},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1})])),_:1},8,["data","height","onCellDblclick"])}var o=l(4);const s=()=>(0,o.zG)("relay/gettypes"),u=e=>(0,o.zG)("relay/SetServers",e);var i=l(3830),d=l(1219),c=l(144),p=l(7477),h={label:"中继服务器",name:"relayServers",order:4,components:{Delete:p.epd,Plus:p.FWt,Top:p.EjV,Bottom:p.i5o},setup(e){const t=(0,i.B)(),l=(0,c.Kh)({list:t.value.config.Client.Relay.Servers.sort(((e,t)=>e.Disabled-t.Disabled)),types:[],height:(0,n.EW)((()=>t.value.height-90))});(0,n.wB)((()=>t.value.config.Client.Relay.Servers),(()=>{0==l.list.filter((e=>e["__editing"])).length&&(l.list=t.value.config.Client.Relay.Servers.sort(((e,t)=>e.Disabled-t.Disabled)))}));const r=()=>{s().then((e=>{l.types=e}))},a=(e,t)=>{o(e,t.property)},o=(e,t)=>{l.list.forEach((e=>{e["NameEditing"]=!1,e["RelayTypeEditing"]=!1,e["HostEditing"]=!1,e["SecretKeyEditing"]=!1})),e["__editing"]=!0,e[`${t}Editing`]=!0},p=(e,t)=>{e[`${t}Editing`]=!1,e["__editing"]=!1,v()},h=e=>{l.list.splice(e,1),v()},f=e=>{l.list.filter((e=>""==e.Host||""==e.Name)).length>0||(l.list.splice(e+1,0,{Name:"",Host:"",RelayType:0,SecretKey:"snltty",Disabled:!1}),v())},m=(e,t)=>{const n=l.list[e],r=l.list[e+t];n&&r&&(l.list[e+t]=n,l.list[e]=r),v(l.list)},v=()=>{l.list=l.list.slice().sort(((e,t)=>e.Disabled-t.Disabled)),u(l.list).then((()=>{d.nk.success("已操作")})).catch((()=>{d.nk.error("操作失败")}))};return(0,n.sV)((()=>{r()})),{state:l,handleCellClick:a,handleEditBlur:p,handleDel:h,handleAdd:f,handleSort:m}}},f=l(1241);const m=(0,f.A)(h,[["render",a],["__scopeId","data-v-2ea70464"]]);var v=m},3751:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return f}});var n=l(6768);const r={style:{width:"30rem",padding:"5rem 0",margin:"0 auto"}},a=(0,n.Lk)("p",{class:"t-c"}," 服务器代理穿透密钥 ",-1);function o(e,t,l,o,s,u){const i=(0,n.g2)("el-input");return(0,n.uX)(),(0,n.CE)("div",r,[a,(0,n.Lk)("p",null,[(0,n.bF)(i,{type:"password","show-password":"",modelValue:o.state.SForwardSecretKey,"onUpdate:modelValue":t[0]||(t[0]=e=>o.state.SForwardSecretKey=e),maxlength:"36",onBlur:o.handleChange},null,8,["modelValue","onBlur"])])])}var s=l(743),u=l(3830),i=l(1219),d=l(144),c={label:"服务器穿透",name:"sforward",order:5,setup(e){(0,u.B)();const t=(0,d.Kh)({SForwardSecretKey:""}),l=()=>{(0,s.Ap)().then((e=>{t.SForwardSecretKey=e}))},r=()=>{t.SForwardSecretKey&&(0,s.Co)(t.SForwardSecretKey).then((()=>{i.nk.success("已操作")})).catch((()=>{i.nk.error("操作失败")}))},a=()=>{r()};return(0,n.sV)((()=>{l()})),{state:t,handleChange:a}}},p=l(1241);const h=(0,p.A)(c,[["render",o]]);var f=h},6700:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return f}});var n=l(6768),r=l(4232);function a(e,t,l,a,o,s){const u=(0,n.g2)("el-input"),i=(0,n.g2)("el-table-column"),d=(0,n.g2)("el-table");return(0,n.uX)(),(0,n.Wv)(d,{data:a.state.list,border:"",size:"small",width:"100%",height:`${a.state.height}px`,onCellDblclick:a.handleCellClick},{default:(0,n.k6)((()=>[(0,n.bF)(i,{prop:"Name",label:"名称",width:"100"},{default:(0,n.k6)((e=>[e.row.NameEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":t=>e.row.Name=t,onBlur:t=>a.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.eW)((0,r.v_)(e.row.Name),1)],64))])),_:1}),(0,n.bF)(i,{prop:"Host",label:"地址"},{default:(0,n.k6)((e=>[e.row.HostEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Host,"onUpdate:modelValue":t=>e.row.Host=t,onBlur:t=>a.handleEditBlur(e.row,"Host")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.eW)((0,r.v_)(e.row.Host),1)],64))])),_:1}),(0,n.bF)(i,{prop:"SecretKey",label:"秘钥"},{default:(0,n.k6)((e=>[e.row.SecretKeyEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,type:"password","show-password":"",size:"small",modelValue:e.row.SecretKey,"onUpdate:modelValue":t=>e.row.SecretKey=t,onBlur:t=>a.handleEditBlur(e.row,"SecretKey")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[],64))])),_:1})])),_:1},8,["data","height","onCellDblclick"])}var o=l(9299),s=l(3830),u=l(1219),i=l(144),d=l(7477),c={label:"信标服务器",name:"signInServers",order:0,components:{Delete:d.epd,Plus:d.FWt,Select:d.l6P},setup(e){const t=(0,s.B)(),l=(0,i.Kh)({list:t.value.config.Client.Servers||[],server:(0,n.EW)((()=>t.value.config.Client.ServerInfo.Host)),height:(0,n.EW)((()=>t.value.height-90))});(0,n.wB)((()=>t.value.config.Client.Servers),(()=>{0==l.list.filter((e=>e["__editing"])).length&&(l.list=t.value.config.Client.Servers)}));const r=(e,t)=>{a(e,t.property)},a=(e,t)=>{l.list.forEach((e=>{e["NameEditing"]=!1,e["HostEditing"]=!1,e["SecretKeyEditing"]=!1})),e[`${t}Editing`]=!0,e["__editing"]=!0},d=(e,t)=>{e[`${t}Editing`]=!1,e["__editing"]=!1,f()},c=e=>{l.list.splice(e,1),f()},p=e=>{l.list.filter((e=>""==e.Host||""==e.Name)).length>0||(l.list.splice(e+1,0,{Name:"",Host:""}),f())},h=e=>{const t=l.list[e];l.list[e]=l.list[0],l.list[0]=t,f()},f=()=>{(0,o.jU)(l.list).then((()=>{u.nk.success("已操作")})).catch((()=>{u.nk.error("操作失败")}))};return{state:l,handleCellClick:r,handleEditBlur:d,handleDel:c,handleAdd:p,handleUse:h}}},p=l(1241);const h=(0,p.A)(c,[["render",a]]);var f=h},6704:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return f}});var n=l(6768),r=l(4232);function a(e,t,l,a,o,s){const u=(0,n.g2)("el-input"),i=(0,n.g2)("el-table-column"),d=(0,n.g2)("el-option"),c=(0,n.g2)("el-select"),p=(0,n.g2)("el-table");return(0,n.uX)(),(0,n.Wv)(p,{data:a.state.list,border:"",size:"small",width:"100%",height:`${a.state.height}px`,onCellDblclick:a.handleCellClick},{default:(0,n.k6)((()=>[(0,n.bF)(i,{prop:"Name",label:"名称",width:"100"},{default:(0,n.k6)((e=>[e.row.NameEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":t=>e.row.Name=t,onBlur:t=>a.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.eW)((0,r.v_)(e.row.Name),1)],64))])),_:1}),(0,n.bF)(i,{prop:"ProtocolType",label:"协议",width:"100"},{default:(0,n.k6)((e=>[(0,n.Lk)("div",null,[(0,n.bF)(c,{disabled:"",modelValue:e.row.ProtocolType,"onUpdate:modelValue":t=>e.row.ProtocolType=t,placeholder:"Select",size:"small",onChange:t=>a.handleEditBlur(e.row,"ProtocolType")},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.row.Protocols,((e,t)=>((0,n.uX)(),(0,n.Wv)(d,{key:+t,label:e,value:+t},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])])])),_:1}),(0,n.bF)(i,{prop:"Type",label:"类别",width:"100"},{default:(0,n.k6)((e=>[(0,n.bF)(c,{disabled:"",modelValue:e.row.Type,"onUpdate:modelValue":t=>e.row.Type=t,placeholder:"Select",size:"small",onChange:t=>a.handleEditBlur(e.row,"Type")},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(a.state.types,(e=>((0,n.uX)(),(0,n.Wv)(d,{key:e.Value,label:e.Name,value:e.Value},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,n.bF)(i,{prop:"Host",label:"地址"},{default:(0,n.k6)((e=>[e.row.HostEditing?((0,n.uX)(),(0,n.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Host,"onUpdate:modelValue":t=>e.row.Host=t,onBlur:t=>a.handleEditBlur(e.row,"Host")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.eW)((0,r.v_)(e.row.Host),1)],64))])),_:1})])),_:1},8,["data","height","onCellDblclick"])}var o=l(83),s=l(3830),u=l(1219),i=l(144),d=l(7477),c={label:"端口服务器",name:"tunnelServers",order:1,components:{Delete:d.epd,Plus:d.FWt,Top:d.EjV,Bottom:d.i5o},setup(e){const t=(0,s.B)(),l=(0,i.Kh)({list:t.value.config.Client.Tunnel.Servers.sort(((e,t)=>e.Disabled-t.Disabled)),types:[],height:(0,n.EW)((()=>t.value.height-90)),interfaces:[]});(0,n.wB)((()=>t.value.config.Client.Tunnel.Servers),(()=>{0==l.list.filter((e=>e["__editing"])).length&&(l.list=t.value.config.Client.Tunnel.Servers.sort(((e,t)=>e.Disabled-t.Disabled))),l.interface=t.value.config.Client.Tunnel.Interface}));const r=()=>{(0,o.Vn)().then((e=>{e.splice(0,0,"0.0.0.0"),l.interfaces=e})).catch((()=>{}))},a=()=>{(0,o.S3)(l.interface).then((()=>{})).catch((()=>{}))},d=()=>{(0,o.ix)().then((e=>{l.types=e,c(l.list)}))},c=e=>{e.forEach((e=>{e.Protocols=l.types.filter((t=>t.Value==e.Type))[0].Protocols,e.Protocols[e.ProtocolType]||(e.ProtocolType=+Object.keys(e.Protocols)[0])}))},p=(e,t)=>{h(e,t.property)},h=(e,t)=>{c([e]),l.list.forEach((e=>{e["NameEditing"]=!1,e["TypeEditing"]=!1,e["HostEditing"]=!1,e["ProtocolTypeEditing"]=!1})),e[`${t}Editing`]=!0,e["__editing"]=!0},f=(e,t)=>{c([e]),e[`${t}Editing`]=!1,e["__editing"]=!1,g()},m=e=>{l.list.splice(e,1),g()},v=e=>{if(l.list.filter((e=>""==e.Host||""==e.Name)).length>0)return;const t={Name:"",Host:"",Type:0,Disabled:!1,ProtocolType:2};c([t]),l.list.splice(e+1,0,t),g()},y=(e,t)=>{const n=l.list[e],r=l.list[e+t];n&&r&&(l.list[e+t]=n,l.list[e]=r),g(l.list)},g=()=>{l.list=l.list.slice().sort(((e,t)=>e.Disabled-t.Disabled)),(0,o.b0)(l.list).then((()=>{u.nk.success("已操作")})).catch((()=>{u.nk.error("操作失败")}))};return(0,n.sV)((()=>{d(),r()})),{state:l,handleCellClick:p,handleEditBlur:f,handleDel:m,handleAdd:v,handleSort:y,handleInterfaceChange:a}}},p=l(1241);const h=(0,p.A)(c,[["render",a]]);var f=h},7858:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return f}});var n=l(6768);const r={style:{width:"30rem",padding:"5rem 0",margin:"0 auto"}},a=(0,n.Lk)("p",{class:"t-c"}," 服务器更新密钥 ",-1);function o(e,t,l,o,s,u){const i=(0,n.g2)("el-input");return(0,n.uX)(),(0,n.CE)("div",r,[a,(0,n.Lk)("p",null,[(0,n.bF)(i,{type:"password","show-password":"",modelValue:o.state.secretKey,"onUpdate:modelValue":t[0]||(t[0]=e=>o.state.secretKey=e),maxlength:"36",onBlur:o.handleChange},null,8,["modelValue","onBlur"])])])}var s=l(920),u=l(3830),i=l(1219),d=l(144),c={label:"服务器更新",name:"updater",order:6,setup(e){(0,u.B)();const t=(0,d.Kh)({secretKey:""}),l=()=>{(0,s.yN)().then((e=>{t.secretKey=e}))},r=()=>{t.secretKey&&(0,s.ir)(t.secretKey).then((()=>{i.nk.success("已操作")})).catch((()=>{i.nk.error("操作失败")}))},a=()=>{r()};return(0,n.sV)((()=>{l()})),{state:t,handleChange:a}}},p=l(1241);const h=(0,p.A)(c,[["render",o]]);var f=h},9317:function(e,t,l){var n={"./Async.vue":5179,"./Index.vue":890,"./RelayServers.vue":7362,"./SForward.vue":3751,"./SignInServers.vue":6700,"./TunnelServers.vue":6704,"./Updater.vue":7858};function r(e){var t=a(e);return l(t)}function a(e){if(!l.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}r.keys=function(){return Object.keys(n)},r.resolve=a,e.exports=r,r.id=9317}}]);
\ No newline at end of file
diff --git a/linker.tray.win/web/js/app.55b9dbd0.js b/linker.tray.win/web/js/app.55b9dbd0.js
deleted file mode 100644
index 386d7fdd..00000000
--- a/linker.tray.win/web/js/app.55b9dbd0.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(){"use strict";var e={8835:function(e,n,t){t.d(n,{P$:function(){return c},QI:function(){return u},ZK:function(){return s},ai:function(){return i},g2:function(){return a},gH:function(){return l},zj:function(){return r}});var o=t(4);const r=()=>(0,o.zG)("configclient/get"),i=e=>(0,o.zG)("configclient/install",e),c=e=>(0,o.zG)("configclient/export",e),u=e=>(0,o.zG)("configclient/GetAccesss",e),s=e=>(0,o.zG)("configclient/SetAccess",e),a=e=>(0,o.zG)("configclient/SecretKeyAsync",e),l=e=>(0,o.zG)("configclient/ServerAsync",e)},4:function(e,n,t){t.d(n,{a1:function(){return v},e3:function(){return b},jH:function(){return w},zG:function(){return y}});t(4114),t(6573),t(8100),t(7936);var o=t(1219);let r=0,i=null,c="",u=1,s="";const a={},l={connected:!1,connecting:!1},d=()=>{const e=Date.now();for(let n in a){const t=a[n];e-t.time>t.timeout&&(t.reject("超时~"),delete a[n])}setTimeout(d,1e3)};d();const f={subs:{},add:function(e,n){"function"==typeof n&&(this.subs[e]||(this.subs[e]=[]),this.subs[e].push(n))},remove(e,n){let t=this.subs[e]||[];for(let o=t.length-1;o>=0;o--)t[o]==n&&t.splice(o,1)},push(e,n){let t=this.subs[e]||[];for(let o=t.length-1;o>=0;o--)t[o](n)}},p=()=>{l.connected=!0,l.connecting=!1,f.push(C,l.connected)},h=e=>{l.connected=!1,l.connecting=!1,f.push(C,l.connected),setTimeout((()=>{v()}),1e3)},g=e=>{if("string"!=typeof e.data)return void e.data.arrayBuffer().then((n=>{const t=new DataView(n).getInt8(),o=new FileReader;o.readAsText(e.data.slice(4,4+t),"utf8"),o.onload=()=>{let r=JSON.parse(o.result);r.Content={Name:r.Content,Img:e.data.slice(4+t,e.data.length),ArrayBuffer:n},m(r)}}));let n=JSON.parse(e.data);m(n)},m=e=>{let n=a[e.RequestId];n?(0==e.Code?n.resolve(e.Content):1==e.Code?n.reject(e.Content):255==e.Code?(n.reject(e.Content),n.errHandle||o.nk.error(`${n.path}:${e.Content}`)):f.push(e.Path,e.Content),delete a[e.RequestId]):f.push(e.Path,e.Content)},v=(e=c,n=s)=>{if(s=n,c=e,l.connecting||l.connected)return;null!=i&&i.close(),l.connecting=!0;const t=n||"snltty";i=new WebSocket(c,[t]),i.iddd=++u,i.onopen=p,i.onclose=h,i.onmessage=g},b=()=>{i&&i.close()},y=(e,n={},t=!1,o=15e3)=>new Promise(((c,u)=>{let s=++r;try{a[s]={resolve:c,reject:u,errHandle:t,path:e,time:Date.now(),timeout:o};let r=JSON.stringify({Path:e,RequestId:s,Content:"string"==typeof n?n:JSON.stringify(n)});l.connected&&1==i.readyState?i.send(r):u("网络错误~")}catch(d){console.log(d),u("网络错误~"),delete a[s]}})),C=Symbol(),w=e=>{f.add(C,e)}},9299:function(e,n,t){t.d(n,{BS:function(){return a},SZ:function(){return c},Se:function(){return l},VN:function(){return u},gC:function(){return d},jU:function(){return i},nD:function(){return s},rd:function(){return r}});var o=t(4);const r=e=>(0,o.zG)("signInclient/set",e),i=e=>(0,o.zG)("signInclient/setservers",e),c=()=>(0,o.zG)("signInclient/info"),u=e=>(0,o.zG)("signInclient/setorder",e),s=e=>(0,o.zG)("signInclient/List",e),a=e=>(0,o.zG)("signInclient/ids",e),l=e=>(0,o.zG)("signInclient/del",e),d=e=>(0,o.zG)("signInclient/setname",e)},1840:function(e,n,t){var o=t(5130),r=t(6768);function i(e,n,t,o,i,c){const u=(0,r.g2)("router-view"),s=(0,r.g2)("Api");return(0,r.uX)(),(0,r.CE)("div",null,[o.configed?((0,r.uX)(),(0,r.Wv)(u,{key:0})):(0,r.Q3)("",!0),(0,r.bF)(s)])}var c=t(3830);const u={class:"port-wrap t-c"},s={class:"pdt-10"};function a(e,n,t,o,i,c){const a=(0,r.g2)("el-input"),l=(0,r.g2)("el-button"),d=(0,r.g2)("el-dialog");return(0,r.uX)(),(0,r.Wv)(d,{class:"options-center",title:"管理接口","destroy-on-close":"",modelValue:o.showPort,"onUpdate:modelValue":n[2]||(n[2]=e=>o.showPort=e),center:"","show-close":!1,"close-on-click-modal":!1,"align-center":"",width:"200"},{footer:(0,r.k6)((()=>[(0,r.bF)(l,{type:"success",onClick:o.handleConnect1,plain:""},{default:(0,r.k6)((()=>[(0,r.eW)("确 定")])),_:1},8,["onClick"])])),default:(0,r.k6)((()=>[(0,r.Lk)("div",u,[(0,r.Lk)("div",null,[(0,r.eW)(" 接口 : "),(0,r.bF)(a,{modelValue:o.state.api,"onUpdate:modelValue":n[0]||(n[0]=e=>o.state.api=e),style:{width:"70%"}},null,8,["modelValue"])]),(0,r.Lk)("div",s,[(0,r.eW)(" 秘钥 : "),(0,r.bF)(a,{type:"password",modelValue:o.state.psd,"onUpdate:modelValue":n[1]||(n[1]=e=>o.state.psd=e),style:{width:"70%"}},null,8,["modelValue"])])])])),_:1},8,["modelValue"])}var l=t(1387),d=t(144),f=t(4),p=t(9299),h=t(8835),g=t(7477),m={components:{Tools:g.S0q},props:["config"],setup(e){const n=(0,c.B)(),t=(0,l.rd)(),o=(0,l.lq)(),i={api:`${window.location.hostname}:1803`,psd:"snltty"},u=JSON.parse(localStorage.getItem("api-cache")||JSON.stringify(i)),s=(0,d.Kh)({api:u.api,psd:u.psd,showPort:!1}),a=(0,r.EW)((()=>0==n.value.api.connected&&s.showPort)),g=()=>{u.api=s.api,u.psd=s.psd,localStorage.setItem("api-cache",JSON.stringify(u)),(0,f.e3)(),(0,f.a1)(`ws://${s.api}`,s.psd)},m=()=>{g(),window.location.reload()},v=()=>{(0,h.zj)().then((e=>{n.value.config.Common=e.Common,n.value.config.Client=e.Client,n.value.config.Server=e.Server,n.value.config.Running=e.Running,n.value.config.configed=!0,setTimeout((()=>{v()}),1e3)})).catch((e=>{setTimeout((()=>{v()}),1e3)}))},b=()=>{(0,p.SZ)().then((e=>{n.value.signin.Connected=e.Connected,n.value.signin.Connecting=e.Connecting,n.value.signin.Version=e.Version,setTimeout((()=>{b()}),1e3)})).catch((e=>{setTimeout((()=>{b()}),1e3)}))};return(0,r.sV)((()=>{setTimeout((()=>{s.showPort=!0}),500),(0,f.jH)((e=>{e&&(v(),b())})),t.isReady().then((()=>{s.api=o.query.api?`${window.location.hostname}:${o.query.api}`:s.api,s.psd=o.query.psd||s.psd,g()}))})),{state:s,showPort:a,handleConnect1:m}}},v=t(1241);const b=(0,v.A)(m,[["render",a],["__scopeId","data-v-787996d8"]]);var y=b,C={components:{Api:y},setup(e){const n=(0,c.v)(),t=(0,r.EW)((()=>n.value.config.configed));return{configed:t}}};const w=(0,v.A)(C,[["render",i]]);var S=w;const k=[{path:"/",name:"Full",component:()=>Promise.all([t.e(805),t.e(244)]).then(t.bind(t,3644)),redirect:"/full/index.html",children:[{path:"/full/index.html",name:"FullIndex",component:()=>Promise.all([t.e(201),t.e(844)]).then(t.bind(t,1413))},{path:"/full/servers.html",name:"FullServers",component:()=>t.e(948).then(t.bind(t,890))},{path:"/full/transport.html",name:"FullTransport",component:()=>t.e(146).then(t.bind(t,8146))},{path:"/full/action.html",name:"FullAction",component:()=>t.e(317).then(t.bind(t,6317))},{path:"/full/logger.html",name:"FullLogger",component:()=>t.e(738).then(t.bind(t,1738))}]},{path:"/net/index.html",name:"Network",component:()=>Promise.all([t.e(805),t.e(201),t.e(670)]).then(t.bind(t,3991))},{path:"/no-permission.html",name:"NoPermission",component:()=>t.e(304).then(t.bind(t,8448))}],A=(0,l.aE)({history:(0,l.Bt)(),routes:k});var P=A,j=t(6161);t(4188),t(2355),t(1862);const O=(0,o.Ef)(S);O.use(j.A,{size:"default"}).use(P).mount("#app")},3830:function(e,n,t){t.d(n,{B:function(){return s},v:function(){return u}});var o=t(4),r=t(144),i=t(6768);const c=Symbol(),u=()=>{const e=(0,r.KR)({api:{connected:!1},height:0,config:{Common:{},Client:{Servers:[],Accesss:{}},Server:{},Running:{Relay:{Servers:[]},Tuntap:{IP:"",PrefixLength:24},Client:{Servers:[]},AutoSyncs:{}},configed:!1},signin:{Connected:!1,Connecting:!1,Version:"v1.0.0.0"},bufferSize:["1KB","2KB","4KB","8KB","16KB","32KB","64KB","128KB","256KB","512KB","1024KB"],updater:{},self:{},hasAccess(e){if(void 0==this.config.Client.Accesss[e])return!1;const n=this.config.Client.Accesss[e].Value||-1,t=this.config.Client.Access||-1;return t>=0&&(0==t||(t&n)>>>0==n)}});return(0,o.jH)((n=>{e.value.api.connected=n})),(0,i.Gt)(c,e),e},s=()=>(0,i.WQ)(c)}},n={};function t(o){var r=n[o];if(void 0!==r)return r.exports;var i=n[o]={exports:{}};return e[o].call(i.exports,i,i.exports,t),i.exports}t.m=e,function(){var e=[];t.O=function(n,o,r,i){if(!o){var c=1/0;for(l=0;l=i)&&Object.keys(t.O).every((function(e){return t.O[e](o[s])}))?o.splice(s--,1):(u=!1,i0&&e[l-1][2]>i;l--)e[l]=e[l-1];e[l]=[o,r,i]}}(),function(){t.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(n,{a:n}),n}}(),function(){t.d=function(e,n){for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})}}(),function(){t.f={},t.e=function(e){return Promise.all(Object.keys(t.f).reduce((function(n,o){return t.f[o](e,n),n}),[]))}}(),function(){t.u=function(e){return"js/"+e+"."+{146:"2a9f021e",201:"ab852fbb",244:"7bc7c79b",304:"246f819e",317:"21d60a74",670:"ef71cdd7",738:"e637758a",805:"b44536b4",844:"5b1bfc84",948:"1788c053"}[e]+".js"}}(),function(){t.miniCssF=function(e){return"css/"+e+"."+{146:"83bf27dc",244:"22a4124f",304:"48acb9f2",317:"e3f03bb3",670:"bab8ae88",738:"da903b6b",844:"438d6c06",948:"2c420b5d"}[e]+".css"}}(),function(){t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}}(),function(){var e={},n="linker.web:";t.l=function(o,r,i,c){if(e[o])e[o].push(r);else{var u,s;if(void 0!==i)for(var a=document.getElementsByTagName("script"),l=0;l(0,o.zG)("configclient/get"),i=e=>(0,o.zG)("configclient/install",e),c=e=>(0,o.zG)("configclient/export",e),u=e=>(0,o.zG)("configclient/GetAccesss",e),s=e=>(0,o.zG)("configclient/SetAccess",e),a=e=>(0,o.zG)("configclient/SecretKeyAsync",e),l=e=>(0,o.zG)("configclient/ServerAsync",e)},4:function(e,n,t){t.d(n,{a1:function(){return v},e3:function(){return b},jH:function(){return w},zG:function(){return y}});t(4114),t(6573),t(8100),t(7936);var o=t(1219);let r=0,i=null,c="",u=1,s="";const a={},l={connected:!1,connecting:!1},d=()=>{const e=Date.now();for(let n in a){const t=a[n];e-t.time>t.timeout&&(t.reject("超时~"),delete a[n])}setTimeout(d,1e3)};d();const f={subs:{},add:function(e,n){"function"==typeof n&&(this.subs[e]||(this.subs[e]=[]),this.subs[e].push(n))},remove(e,n){let t=this.subs[e]||[];for(let o=t.length-1;o>=0;o--)t[o]==n&&t.splice(o,1)},push(e,n){let t=this.subs[e]||[];for(let o=t.length-1;o>=0;o--)t[o](n)}},p=()=>{l.connected=!0,l.connecting=!1,f.push(C,l.connected)},h=e=>{l.connected=!1,l.connecting=!1,f.push(C,l.connected),setTimeout((()=>{v()}),1e3)},g=e=>{if("string"!=typeof e.data)return void e.data.arrayBuffer().then((n=>{const t=new DataView(n).getInt8(),o=new FileReader;o.readAsText(e.data.slice(4,4+t),"utf8"),o.onload=()=>{let r=JSON.parse(o.result);r.Content={Name:r.Content,Img:e.data.slice(4+t,e.data.length),ArrayBuffer:n},m(r)}}));let n=JSON.parse(e.data);m(n)},m=e=>{let n=a[e.RequestId];n?(0==e.Code?n.resolve(e.Content):1==e.Code?n.reject(e.Content):255==e.Code?(n.reject(e.Content),n.errHandle||o.nk.error(`${n.path}:${e.Content}`)):f.push(e.Path,e.Content),delete a[e.RequestId]):f.push(e.Path,e.Content)},v=(e=c,n=s)=>{if(s=n,c=e,l.connecting||l.connected)return;null!=i&&i.close(),l.connecting=!0;const t=n||"snltty";i=new WebSocket(c,[t]),i.iddd=++u,i.onopen=p,i.onclose=h,i.onmessage=g},b=()=>{i&&i.close()},y=(e,n={},t=!1,o=15e3)=>new Promise(((c,u)=>{let s=++r;try{a[s]={resolve:c,reject:u,errHandle:t,path:e,time:Date.now(),timeout:o};let r=JSON.stringify({Path:e,RequestId:s,Content:"string"==typeof n?n:JSON.stringify(n)});l.connected&&1==i.readyState?i.send(r):u("网络错误~")}catch(d){console.log(d),u("网络错误~"),delete a[s]}})),C=Symbol(),w=e=>{f.add(C,e)}},9299:function(e,n,t){t.d(n,{BS:function(){return a},SZ:function(){return c},Se:function(){return l},VN:function(){return u},gC:function(){return d},jU:function(){return i},nD:function(){return s},rd:function(){return r}});var o=t(4);const r=e=>(0,o.zG)("signInclient/set",e),i=e=>(0,o.zG)("signInclient/setservers",e),c=()=>(0,o.zG)("signInclient/info"),u=e=>(0,o.zG)("signInclient/setorder",e),s=e=>(0,o.zG)("signInclient/List",e),a=e=>(0,o.zG)("signInclient/ids",e),l=e=>(0,o.zG)("signInclient/del",e),d=e=>(0,o.zG)("signInclient/setname",e)},1840:function(e,n,t){var o=t(5130),r=t(6768);function i(e,n,t,o,i,c){const u=(0,r.g2)("router-view"),s=(0,r.g2)("Api");return(0,r.uX)(),(0,r.CE)("div",null,[o.configed?((0,r.uX)(),(0,r.Wv)(u,{key:0})):(0,r.Q3)("",!0),(0,r.bF)(s)])}var c=t(3830);const u={class:"port-wrap t-c"},s={class:"pdt-10"};function a(e,n,t,o,i,c){const a=(0,r.g2)("el-input"),l=(0,r.g2)("el-button"),d=(0,r.g2)("el-dialog");return(0,r.uX)(),(0,r.Wv)(d,{class:"options-center",title:"管理接口","destroy-on-close":"",modelValue:o.showPort,"onUpdate:modelValue":n[2]||(n[2]=e=>o.showPort=e),center:"","show-close":!1,"close-on-click-modal":!1,"align-center":"",width:"200"},{footer:(0,r.k6)((()=>[(0,r.bF)(l,{type:"success",onClick:o.handleConnect1,plain:""},{default:(0,r.k6)((()=>[(0,r.eW)("确 定")])),_:1},8,["onClick"])])),default:(0,r.k6)((()=>[(0,r.Lk)("div",u,[(0,r.Lk)("div",null,[(0,r.eW)(" 接口 : "),(0,r.bF)(a,{modelValue:o.state.api,"onUpdate:modelValue":n[0]||(n[0]=e=>o.state.api=e),style:{width:"70%"}},null,8,["modelValue"])]),(0,r.Lk)("div",s,[(0,r.eW)(" 秘钥 : "),(0,r.bF)(a,{type:"password",modelValue:o.state.psd,"onUpdate:modelValue":n[1]||(n[1]=e=>o.state.psd=e),style:{width:"70%"}},null,8,["modelValue"])])])])),_:1},8,["modelValue"])}var l=t(1387),d=t(144),f=t(4),p=t(9299),h=t(8835),g=t(7477),m={components:{Tools:g.S0q},props:["config"],setup(e){const n=(0,c.B)(),t=(0,l.rd)(),o=(0,l.lq)(),i={api:`${window.location.hostname}:1803`,psd:"snltty"},u=JSON.parse(localStorage.getItem("api-cache")||JSON.stringify(i)),s=(0,d.Kh)({api:u.api,psd:u.psd,showPort:!1}),a=(0,r.EW)((()=>0==n.value.api.connected&&s.showPort)),g=()=>{u.api=s.api,u.psd=s.psd,localStorage.setItem("api-cache",JSON.stringify(u)),(0,f.e3)(),(0,f.a1)(`ws://${s.api}`,s.psd)},m=()=>{g(),window.location.reload()},v=()=>{(0,h.zj)().then((e=>{n.value.config.Common=e.Common,n.value.config.Client=e.Client,n.value.config.Server=e.Server,n.value.config.Running=e.Running,n.value.config.configed=!0,setTimeout((()=>{v()}),1e3)})).catch((e=>{setTimeout((()=>{v()}),1e3)}))},b=()=>{(0,p.SZ)().then((e=>{n.value.signin.Connected=e.Connected,n.value.signin.Connecting=e.Connecting,n.value.signin.Version=e.Version,setTimeout((()=>{b()}),1e3)})).catch((e=>{setTimeout((()=>{b()}),1e3)}))};return(0,r.sV)((()=>{setTimeout((()=>{s.showPort=!0}),500),(0,f.jH)((e=>{e&&(v(),b())})),t.isReady().then((()=>{s.api=o.query.api?`${window.location.hostname}:${o.query.api}`:s.api,s.psd=o.query.psd||s.psd,g()}))})),{state:s,showPort:a,handleConnect1:m}}},v=t(1241);const b=(0,v.A)(m,[["render",a],["__scopeId","data-v-787996d8"]]);var y=b,C={components:{Api:y},setup(e){const n=(0,c.v)(),t=(0,r.EW)((()=>n.value.config.configed));return{configed:t}}};const w=(0,v.A)(C,[["render",i]]);var S=w;const k=[{path:"/",name:"Full",component:()=>Promise.all([t.e(805),t.e(388)]).then(t.bind(t,6228)),redirect:"/full/index.html",children:[{path:"/full/index.html",name:"FullIndex",component:()=>Promise.all([t.e(201),t.e(844)]).then(t.bind(t,1413))},{path:"/full/servers.html",name:"FullServers",component:()=>t.e(706).then(t.bind(t,6488))},{path:"/full/transport.html",name:"FullTransport",component:()=>t.e(146).then(t.bind(t,8146))},{path:"/full/action.html",name:"FullAction",component:()=>t.e(317).then(t.bind(t,6317))},{path:"/full/logger.html",name:"FullLogger",component:()=>t.e(738).then(t.bind(t,1738))}]},{path:"/net/index.html",name:"Network",component:()=>Promise.all([t.e(805),t.e(201),t.e(670)]).then(t.bind(t,3991))},{path:"/no-permission.html",name:"NoPermission",component:()=>t.e(304).then(t.bind(t,8448))}],A=(0,l.aE)({history:(0,l.Bt)(),routes:k});var P=A,j=t(6161);t(4188),t(2355),t(1862);const O=(0,o.Ef)(S);O.use(j.A,{size:"default"}).use(P).mount("#app")},3830:function(e,n,t){t.d(n,{B:function(){return s},v:function(){return u}});var o=t(4),r=t(144),i=t(6768);const c=Symbol(),u=()=>{const e=(0,r.KR)({api:{connected:!1},height:0,config:{Common:{},Client:{Servers:[],Accesss:{}},Server:{},Running:{Relay:{Servers:[]},Tuntap:{IP:"",PrefixLength:24},Client:{Servers:[]},AutoSyncs:{}},configed:!1},signin:{Connected:!1,Connecting:!1,Version:"v1.0.0.0"},bufferSize:["1KB","2KB","4KB","8KB","16KB","32KB","64KB","128KB","256KB","512KB","1024KB"],updater:{},self:{},hasAccess(e){if(void 0==this.config.Client.Accesss[e])return!1;const n=this.config.Client.Accesss[e].Value||-1,t=this.config.Client.Access||-1;return t>=0&&(0==t||(t&n)>>>0==n)}});return(0,o.jH)((n=>{e.value.api.connected=n})),(0,i.Gt)(c,e),e},s=()=>(0,i.WQ)(c)}},n={};function t(o){var r=n[o];if(void 0!==r)return r.exports;var i=n[o]={exports:{}};return e[o].call(i.exports,i,i.exports,t),i.exports}t.m=e,function(){var e=[];t.O=function(n,o,r,i){if(!o){var c=1/0;for(l=0;l=i)&&Object.keys(t.O).every((function(e){return t.O[e](o[s])}))?o.splice(s--,1):(u=!1,i0&&e[l-1][2]>i;l--)e[l]=e[l-1];e[l]=[o,r,i]}}(),function(){t.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(n,{a:n}),n}}(),function(){t.d=function(e,n){for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})}}(),function(){t.f={},t.e=function(e){return Promise.all(Object.keys(t.f).reduce((function(n,o){return t.f[o](e,n),n}),[]))}}(),function(){t.u=function(e){return"js/"+e+"."+{146:"2a9f021e",201:"ab852fbb",304:"246f819e",317:"21d60a74",388:"6d23a91f",670:"ef71cdd7",706:"a2a78718",738:"e637758a",805:"b44536b4",844:"5b1bfc84"}[e]+".js"}}(),function(){t.miniCssF=function(e){return"css/"+e+"."+{146:"83bf27dc",304:"48acb9f2",317:"e3f03bb3",388:"50c71cf1",670:"bab8ae88",706:"e7520456",738:"da903b6b",844:"438d6c06"}[e]+".css"}}(),function(){t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}}(),function(){var e={},n="linker.web:";t.l=function(o,r,i,c){if(e[o])e[o].push(r);else{var u,s;if(void 0!==i)for(var a=document.getElementsByTagName("script"),l=0;lhttps://github.com/snltty/linker
https://github.com/snltty/linker
linker tun
- 1.4.2
- 1.4.2
- 1.4.2
+ 1.4.3
+ 1.4.3
+ 1.4.3