From 052034d60f20559e0a0ce21f0dc82584e568e8df Mon Sep 17 00:00:00 2001 From: snltty <1069410172@qq.com> Date: Mon, 30 Sep 2024 12:00:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BD=91=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/dotnet.yml | 30 +++++++++--------- .github/workflows/nuget.yml | 6 ++-- linker.libs/linker.libs.csproj | 6 ++-- linker.tray.win/dist/linker.tray.win.exe | Bin 5916672 -> 5916672 bytes .../css/{273.ded798c5.css => 0.2c0f8287.css} | 2 +- .../{308.a7292c43.css => 684.84f3a7f7.css} | 2 +- .../{901.12425577.css => 700.2ad5a532.css} | 2 +- .../{738.da903b6b.css => 702.3473438b.css} | 2 +- linker.tray.win/web/index.html | 2 +- linker.tray.win/web/js/0.a9e686ee.js | 1 + linker.tray.win/web/js/157.7ba21a9a.js | 1 - linker.tray.win/web/js/273.059a1d98.js | 1 - .../js/{201.7528665b.js => 497.296f6b51.js} | 2 +- linker.tray.win/web/js/612.1ec87021.js | 1 + .../js/{308.27cc5531.js => 684.13307ecf.js} | 2 +- .../js/{901.5df63745.js => 700.ffed4d31.js} | 2 +- .../js/{738.e637758a.js => 702.45a345ab.js} | 2 +- linker.tray.win/web/js/app.7e8b279c.js | 1 + linker.tray.win/web/js/app.c18fcda4.js | 1 - linker.tun/linker.tun.csproj | 6 ++-- linker.tunnel/linker.tunnel.csproj | 6 ++-- linker.upnp/linker.upnp.csproj | 6 ++-- .../views/full/status/server/ServerConfig.vue | 3 ++ linker/linker.csproj | 13 ++++---- linker/plugins/tuntap/TuntapTransfer.cs | 26 ++++++++++++++- linker/plugins/tuntap/config/config.cs | 10 ++++++ version.txt | 11 ++++--- 27 files changed, 93 insertions(+), 54 deletions(-) rename linker.tray.win/web/css/{273.ded798c5.css => 0.2c0f8287.css} (68%) rename linker.tray.win/web/css/{308.a7292c43.css => 684.84f3a7f7.css} (97%) rename linker.tray.win/web/css/{901.12425577.css => 700.2ad5a532.css} (86%) rename linker.tray.win/web/css/{738.da903b6b.css => 702.3473438b.css} (74%) create mode 100644 linker.tray.win/web/js/0.a9e686ee.js delete mode 100644 linker.tray.win/web/js/157.7ba21a9a.js delete mode 100644 linker.tray.win/web/js/273.059a1d98.js rename linker.tray.win/web/js/{201.7528665b.js => 497.296f6b51.js} (61%) create mode 100644 linker.tray.win/web/js/612.1ec87021.js rename linker.tray.win/web/js/{308.27cc5531.js => 684.13307ecf.js} (99%) rename linker.tray.win/web/js/{901.5df63745.js => 700.ffed4d31.js} (95%) rename linker.tray.win/web/js/{738.e637758a.js => 702.45a345ab.js} (98%) create mode 100644 linker.tray.win/web/js/app.7e8b279c.js delete mode 100644 linker.tray.win/web/js/app.c18fcda4.js diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 44f7e485..2282c379 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -33,11 +33,11 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.ACTIONS_TOKEN }} with: - tag_name: v1.4.5 - release_name: v1.4.5.${{ steps.date.outputs.today }} + tag_name: v1.4.6 + release_name: v1.4.6.${{ steps.date.outputs.today }} draft: false prerelease: false - body: "1. 订阅消费,按需同步数据,减少流量消费\r\n2. 更详细的流量统计信息\r\n3. 修复路由表失效问题" + body: "1. 增加网卡自动连接间隔\r\n2. 优化网卡,网络切换刷新局域网信息\r\n3. 当使用新分组后,如果设置了新IP,将会被记录,下次使用此分组时,自动启用此IP\r\n4. 无感,但是略微优化了使用体验,建议更新" - name: upload-win-x86-oss id: upload-win-x86-oss uses: tvrcgo/oss-action@v0.1.1 @@ -47,7 +47,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-win-x86.zip - target-path: /downloads/linker/v1.4.5/linker-win-x86.zip + target-path: /downloads/linker/v1.4.6/linker-win-x86.zip - name: upload-win-x86 id: upload-win-x86 uses: actions/upload-release-asset@master @@ -67,7 +67,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-win-x64.zip - target-path: /downloads/linker/v1.4.5/linker-win-x64.zip + target-path: /downloads/linker/v1.4.6/linker-win-x64.zip - name: upload-win-x64 id: upload-win-x64 uses: actions/upload-release-asset@master @@ -87,7 +87,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-win-arm64.zip - target-path: /downloads/linker/v1.4.5/linker-win-arm64.zip + target-path: /downloads/linker/v1.4.6/linker-win-arm64.zip - name: upload-win-arm64 id: upload-win-arm64 uses: actions/upload-release-asset@master @@ -107,7 +107,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-x64.zip - target-path: /downloads/linker/v1.4.5/linker-linux-x64.zip + target-path: /downloads/linker/v1.4.6/linker-linux-x64.zip - name: upload-linux-x64 id: upload-linux-x64 uses: actions/upload-release-asset@master @@ -127,7 +127,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-arm.zip - target-path: /downloads/linker/v1.4.5/linker-linux-arm.zip + target-path: /downloads/linker/v1.4.6/linker-linux-arm.zip - name: upload-linux-arm id: upload-linux-arm uses: actions/upload-release-asset@master @@ -147,7 +147,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-arm64.zip - target-path: /downloads/linker/v1.4.5/linker-linux-arm64.zip + target-path: /downloads/linker/v1.4.6/linker-linux-arm64.zip - name: upload-linux-arm64 id: upload-linux-arm64 uses: actions/upload-release-asset@master @@ -167,7 +167,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-musl-x64.zip - target-path: /downloads/linker/v1.4.5/linker-linux-musl-x64.zip + target-path: /downloads/linker/v1.4.6/linker-linux-musl-x64.zip - name: upload-linux-musl-x64 id: upload-linux-musl-x64 uses: actions/upload-release-asset@master @@ -187,7 +187,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-musl-arm.zip - target-path: /downloads/linker/v1.4.5/linker-linux-musl-arm.zip + target-path: /downloads/linker/v1.4.6/linker-linux-musl-arm.zip - name: upload-linux-musl-arm id: upload-linux-musl-arm uses: actions/upload-release-asset@master @@ -207,7 +207,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-musl-arm64.zip - target-path: /downloads/linker/v1.4.5/linker-linux-musl-arm64.zip + target-path: /downloads/linker/v1.4.6/linker-linux-musl-arm64.zip - name: upload-linux-musl-arm64 id: upload-linux-musl-arm64 uses: actions/upload-release-asset@master @@ -227,7 +227,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-osx-x64.zip - target-path: /downloads/linker/v1.4.5/linker-osx-x64.zip + target-path: /downloads/linker/v1.4.6/linker-osx-x64.zip - name: upload-osx-x64 id: upload-osx-x64 uses: actions/upload-release-asset@master @@ -247,7 +247,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-osx-arm64.zip - target-path: /downloads/linker/v1.4.5/linker-osx-arm64.zip + target-path: /downloads/linker/v1.4.6/linker-osx-arm64.zip - name: upload-osx-arm64 id: upload-osx-arm64 uses: actions/upload-release-asset@master @@ -277,7 +277,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-windows-route.zip - target-path: /downloads/linker/v1.4.5/linker-windows-route.zip + target-path: /downloads/linker/v1.4.6/linker-windows-route.zip - name: upload-windows-route id: upload-windows-route uses: actions/upload-release-asset@master diff --git a/.github/workflows/nuget.yml b/.github/workflows/nuget.yml index 8e96dfd0..14c28e67 100644 --- a/.github/workflows/nuget.yml +++ b/.github/workflows/nuget.yml @@ -38,6 +38,6 @@ jobs: - name: Push run: | - nuget push ./linker.tunnel/bin/release/linker.tunnel.1.4.5.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol - nuget push ./linker.libs/bin/release/linker.libs.1.4.5.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol - nuget push ./linker.tun/bin/release/linker.tun.1.4.5.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol + nuget push ./linker.tunnel/bin/release/linker.tunnel.1.4.6.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol + nuget push ./linker.libs/bin/release/linker.libs.1.4.6.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol + nuget push ./linker.tun/bin/release/linker.tun.1.4.6.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol diff --git a/linker.libs/linker.libs.csproj b/linker.libs/linker.libs.csproj index 98fb3951..12d327c7 100644 --- a/linker.libs/linker.libs.csproj +++ b/linker.libs/linker.libs.csproj @@ -14,9 +14,9 @@ snltty https://github.com/snltty/linker https://github.com/snltty/linker - 1.4.5 - 1.4.5 - 1.4.5 + 1.4.6 + 1.4.6 + 1.4.6 full diff --git a/linker.tray.win/dist/linker.tray.win.exe b/linker.tray.win/dist/linker.tray.win.exe index 94468ce0af162001bc4a5d7e1f4acef5578153f2..9328ead904ba0378e4d72c8f9bf28f92d09e4945 100644 GIT binary patch delta 5918 zcmdT|eRPvmntzgpHf>sxrft$9@)7!xv~NQ`Zoc{fZS&@(1&T#rh-F$yn?#VFRv~;S zU?MsTGvZo4c5aVSI<6g+vL9W zk3DDq-1hwP%kMtVeV*q&_ue--N%Y=QCJ_C*6=~nN?xAOzGJX3775$2Do_IvL^AV*2 zA#oZ)g_wd!M`R$>h)hJ5_=r-oATR!N3nT`#kT{3@A@cXg!^nz>sRp z1ZNLx;G5@|9%#shZ|j(T<%w*#zK!YqkOTeGnC9=wfzcMGYr1m4naT7+8*{+yPw6=H z4dlSFtkeKB{yqm*>zO|CaSnWEl*XnZ7ST%VA|}R3WuIy`usan z;pmd2jst8lXyIj9Le8RvfFbDs5Sy=sfBbuX=>qy$TGv z&x7Fo%pSXw2d~Nsu)n+j{M}4n=_`PPf5Y^a znFg35D>z{{fGE>m-T*tt5=i|8INfA`6KQPzwq^s2N{2K)aqVI&3~;}!<(I++_z&5& zIv+Q{oNN|ggR_d^m;b>0Yt9t|DPa1c>&0+61LCOw zjW>%Y?dh)XilMcHO&Btjz#>^oZRV0mE&XFf3H&9*{BJy60{`q(q~aeqQwrU(2T}HW zrSR(+xc|ux^xrClwfRg>|GpHO?_#+w$J5WH;xUiKU~aK{3@KW28Wr5rYwGky5ca%jzA8g`Y#GAq-|e^(C5 z8B7N+l|z$k3lA4nK)gw|;*rVkdr~1hS91O^G z%_0uwH8B5ePfyk-Kj7k!AzSg;PdI3o9lGM{927i~k=mk~Ab~pB8Q9iF;DYQHv^+>) z3tqS6mJXs$lRdc3uOm<)vyZNe6Zk@QDz83Hpj@_MbsvFIB?}0@L@f`1dWUTOwwDN8 z9aW_Y2p;vpY}tp`wlh9BhgUvXU}OAk-=r4pQddpVgA1$R(VJ`n@2G|z*(rXdx_VNF z&cD(CE?ENAYYp(NtYdJh0p5Ot#fuMa_d`NOv7vJaas z#{yV4UzggmD-W-P3x&-8H$PiBsim=|APnze_8)&5gln>n)LaX~-sBcZpFbad5rj-x zi>}@b!fn~99lRBUq8C`ep=a)cD+ic9$+d!6cFl&mTcKEXNYy>9ppxB^?5(YEbK?7f z*k#lFS5}!3=E6$AMk4!R8UD`&8(6`C$_4^>@tqeubWgSBZu)4ohR`pnHEz1NM&mHL z(L&HydKJJ4_25DF&`^zLcHVf9df>r@1{azg;|2%LaN-Ql*sBv~H%Nx1;mc|B zMDpqRW-=pVVu=1lE-Ff7mX;E7DCLHtgw7}>52r>RzlSVNiCd+ljAc1xA|COcGSaC? z_jGuC;SL)25+nVr6Kj*0sN zq)thP{N%6H-A=SSb?pSS0_-=Y<--U+;wCb|US+YEZJfDfh-pGUm^1fQ9u z*hJT!<;xUNy5}r^QnQKM5Q#18Ss$y4iov(|m(uC4_6eDy{yblqj;?hV`1zU9+D+Rz zX_a*KTYMosc!B>aYm;SbXHWNr*sQ3y{~~`;f$=`y9hfPrv|0S*V}6fnvO&a-45n!| z)pnch4!h67MQQsr{-=tlIDCyaDKVqwbKZ)yXNO>NmiNVFZOT$iS!pa-P->l^Ine^V*1A5wi zLMWPI;p`D7eSI~5Jmn~E4)ME#bjxuenCA8p@z?(u_%drOtoXE2c+sEcvDw6n$AyP- zR8l*{1*e6x%5l5)_reMVeezBqnB}qI<8-SFNi2U>*qF~w>x;*Pk5n}G1iwh!x~-V;$Pnp912C4a_Sd-bpnQdtK z(`DgaOfS~|tMIiV8@Is1#jFuCHjP$&D(sqt$8CJXW@)onV{0Pa=9sl(ZFkrl!X{t}@wN-iV_! z;xchg8>uomh&$@F`_SsNdr;cLZd=GhOdJM7>2pWj9WJ|x!z5KEd!*BgX(j2!xpt@1 z=81GhO&lhyGDV}2FbO-+iau2);tDzQ@TEi2m^k7HM{JG`8`XX(2vT8=PFvLL@OmZ+ z^Ex}C4o|pqqA>i3>Fn@D9TSB`oKc&zqr*9o+DoF&kSB_B$5J~&VOPlIMCY;8PU3MA zr#F?^<8s)D%Wc}eD$-VAvUYCRAYT4bIHM?u)`nJfwNU}vu#_Ho*WiRadZDLEcD|U*?&tojkMw`p>}q7e5<-Qc6D(Ztv%gipRSg% zx6+q{+OYWYS3<*-3R{(Zto!z{rsFI2+CJ7q``7}cR|k$@qjs7`1jGVFBcchh5U~ic z7}1Pag186Kf>?^U7qJYn9I*oNBg9HXP&AF)_d=ak`lc#D`ZDOk-$*~PwYoC5wE@@I$h%jqcUa%a347x)%(Fnh=6wVq)2nfB-ge6l1_t zDxoox(iH-k9@-%(Wf;ORNyoI1>o#=22~7!MB_2WuGj#*aqUD*1nPg_U)25kyZA<4e zU2E3-9cz95^qsxW-skMI&%Iub?!B#zA_n(p63*GaL5G`CUHi{#1~uoN-Krhfs?{JA zPCz6grXi9L$%qt0Dk4qZs?{ybjr_n2(V;AezK=YDtgV3PEo3_~=pp(fav}07$QI;F z$cvDZDk0jAT!Y+)yc2mZ@?qp-$ZsK^MZST26*+~2=oqpaIVBsS{m8}H5Q+X6zc_K= z7IF)+u?nK=kbTHen=!9H|Jc4XN&f~EH$O3XZ@-pN; zbAgUzMT&Ro;J6XsM&g7C zE*{armoGDY)}0Q2Y+(BIv*~cHpXq~;0fRG`Zl0L|<1I{kH)en}mFd1`GQi}C>j)eg z%7E9?;sem~b_TTPFg^HD27FbZ(w}9(O*7L63NqpKLZ%m4GT~-2(-vnY9Daf6%fHHm zEWbm{*5Q~aK^;!NA~Ms zIG5>luj)Z4ozj>e4qnv5H&d9ytdI2IQSGSxGd=vHp4s((*26r)G!e4Fr>e-F)!8tp zs%Tv(8-7Ze|JYaAFuiA#`ws)SRVCf5 zD}bo#8ja-?fJbBrh_3*y`jX<$jr0?<;rrc8A1f|_zxjLS@4Zk0B%kTNYb9_c86xoj zEjLRZIMcmfl|XALn{dxq3QJTab(%^aDCw7#rEuTR{BM1?6yCII;_;6RmqC~6L6rAi z8T@S#o`0+YL$}LdeIC;#e=dWiGno$Kohh8f^d4I|RI2pQ@^VNDG5cA$9GcHCoxa5c z`}J%=hX%~>i%2JPXuoR)uj)B)OhcS3;yowd3)sO879yCS2TK32myL;Eq?q#qTrwxQBy%s;=I%kb@zW z_AcSzAvg2i_1y>cxevGqB&&9O@na6wsG5$u#zFqp{q@RZTebtq6fiRe&4cA~3GfqdQS+S%S;oCQzZO2plA^Qx$O6 z2?C?ziSY%sA9ulA)yr$wunR8Wm5(jBCGw8zffDUasd+$;EUtlVH`#<{p%%JTU3|K> z_JImrKIsOVDna_s-0(+L#Zu0=;hleC@ggHTJP=hiQOkEc;8h*LOZz;aPht~}9PmJj zD&T7`d*JZv%-*uZ3shCHTT8w0hRXlY3NN&<2VDflI=qnm*DOHdxEF?1ug~+vBD|@( zHoJHU&Z(MgkxhdA@%K5v=(7?$qUtHj9tjRCX7SHok>JPEV;b*&-_^rI}`$rm1js|T6h!?l7*bhA-2qeb^$X;i4w<V zra3gPPAAY$>o9^cUvcxIqYEsk++YW{;x@ZL8Q{^#<7|Sk;l}}v38QSN*Bwouw;FWr z0)Aq=8f|V2BcQ($tdah>ri_ytu;38Rz?oiTC(UluEt%SY zvPX}yEBsi2r;UxeCc4e7v&7dfVnnO5F!XT7(#F&twW?EG7y=FEQB7BjmSadBJvRV2m_)3QHYq1n1Psyn1z^)C_>CZ6eH#$jEH%N z5=1GY3{j3SAaaTb&WX76teIr6A!SbT zlml(3BSvLPrfjPqv$XQN97)j7Q4iTG@2)2Qo}A(k0(>aQ2WeXi5tzb7&7ql(VEJNp zOg>w_*Frjz(_XmA57`wouSTvpU8(Zy~~p2p)#>0 zD~Y!`+PLjBdxqB{7i|!amnGT+E1~zF6bosqLCllKUleURw(Q~i-U7M#Wicm}{_qt^ zM|B^2_4N2r@q2L>dC{xl9v^+8OnfX&u<#h&CJ>(fXoXlPyWQfQR85FhHH+n%Ub?bb zJgp0HPY1&*x_iPkz4EN3;)x{MHS%bxd}W1Lm4vQ|t>S{z-uloE&T6+>lrS9aYZb4g zh0NPKyStta7x&7()#8U5jA!W(=Ok=;dab;?P5dNLH9&D-seHIY+@7Ed)pwbAfp?j? zUTO-7f0fZ&y~=DdbN+ghg=?mRKCwt14T<9#+CLy=(#OM6I{mkGVm|%50jZF3{oXXW zbiKG-lNY9k?rq9pmvbJAU{CO}{Pm9!-{!0|z=c}H!)WUie&$B@jQmjn%- z`Js2EJlglJRIUlh_`O_Z;X)w`=52PYFI3h(fNde__d+3>$#F=!aQ_M(S)oV5du=7WTu`l^c(!7MUKz-Q6 z6Jq8<@|usNBqc)digYSHRE;ae4#5Z^x$I-A^q*98u!Ef8*z8lu1AZ4;?YOOp+`K>po6X@c?pPgct29=3%1Jk+w>71K zdjIN;ZMEw|ra<-DV7M_H?pfdQOgLyVKHbx4G}qU6_xA_r^3Soyw6~=kJmvh`(ja!v zJGZ5?NCS7IdZb_8k>=nz|L%_Do>rw4ou8;CKd}$xw-ZN{lJOIZ#ot&UURm0}!($R+ zAz~4t39%Tl1ksFGidcsD2BHPA9Puz>1>zCJO2ngxRS2K_@YrKV8?rXRX7EE7Y=vdW zn`koMYD?|MKaG{2ep%#O3$z-d{40Bbe9+o@D=yC2TkEnd-lk;>TN=Fz`FvAf{x|*K DQ8?0{ diff --git a/linker.tray.win/web/css/273.ded798c5.css b/linker.tray.win/web/css/0.2c0f8287.css similarity index 68% rename from linker.tray.win/web/css/273.ded798c5.css rename to linker.tray.win/web/css/0.2c0f8287.css index fc486254..99db66bf 100644 --- a/linker.tray.win/web/css/273.ded798c5.css +++ b/linker.tray.win/web/css/0.2c0f8287.css @@ -1 +1 @@ -.dropdown[data-v-1e7a30d3]{border:1px solid #ddd;padding:.4rem;font-size:1.3rem;border-radius:.4rem;position:relative}.dropdown .el-icon[data-v-1e7a30d3]{vertical-align:middle}.dropdown .badge[data-v-1e7a30d3]{position:absolute;right:-1rem;top:-50%;border-radius:10px;background-color:#f1ae05;color:#fff;padding:.2rem .6rem;font-size:1.2rem}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)}}a[data-v-a998806a]{color:#666;text-decoration:underline}a.green[data-v-a998806a]{color:green;font-weight:700}img.system[data-v-a998806a]{height:1.6rem;vertical-align:middle;margin-right:.4rem}.ipaddress span[data-v-358fba0e]{vertical-align:middle}.el-input[data-v-358fba0e]{width:15rem;margin-right:.6rem}.el-col[data-v-bdd023b0]{text-align:left}.el-icon.loading[data-v-8a7ccef2],a.loading[data-v-8a7ccef2]{vertical-align:middle;font-weight:700;animation:loading-8a7ccef2 1s linear infinite}.el-switch.is-disabled[data-v-8a7ccef2]{opacity:1}.el-input[data-v-8a7ccef2]{width:8rem}.gateway[data-v-8a7ccef2]{background:linear-gradient(90deg,#c5b260,#858585,#c5b260,#858585);-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}.gateway.green[data-v-8a7ccef2]{background:linear-gradient(90deg,#e4bb10,green,#e4bb10,green);-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}.delay[data-v-8a7ccef2]{position:absolute;right:0;bottom:0;line-height:normal}.switch-btn[data-v-8a7ccef2]{font-size:1.5rem}@keyframes loading-8a7ccef2{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-switch.is-disabled[data-v-7c827302]{opacity:1}.upgrade-wrap[data-v-7c827302]{border:1px solid #ddd;margin-bottom:2rem;padding:0 0 1rem 0}.el-switch.is-disabled[data-v-56597dfc]{opacity:1}.green[data-v-56597dfc]{font-weight:700}.el-switch.is-disabled[data-v-1f7f67a4]{opacity:1}a[data-v-19db1f43]{text-decoration:underline;font-weight:700}.head[data-v-2c1a8404]{padding-bottom:1rem}.green[data-v-2c1a8404]{color:green;font-weight:700}.error[data-v-2c1a8404]{font-weight:700}.error .el-icon[data-v-2c1a8404]{vertical-align:text-bottom}.el-select[data-v-3a13c86f]{width:12rem}.head[data-v-3a13c86f]{padding-bottom:1rem}.foot[data-v-3a13c86f]{padding-top:1rem}.page-wrap[data-v-3a13c86f]{display:inline-block}.head[data-v-5e37381c]{padding-bottom:1rem}.error[data-v-5e37381c]{font-weight:700}.error .el-icon[data-v-5e37381c]{vertical-align:text-bottom}.el-select[data-v-5512121a]{width:12rem}.head[data-v-5512121a]{padding-bottom:1rem}.foot[data-v-5512121a]{padding-top:1rem}.page-wrap[data-v-5512121a]{display:inline-block}.head[data-v-337b0bab]{padding-bottom:1rem}.table-sort.el-table th.el-table__cell.is-leaf{border-bottom:0}.table-sort.el-table .el-table__inner-wrapper:before{height:0}.table-sort th[data-v-137c2b43]{border-bottom:0}.home-list-wrap[data-v-137c2b43]{padding:1rem}.home-list-wrap .page[data-v-137c2b43]{padding-top:1rem}.home-list-wrap .page-wrap[data-v-137c2b43]{display:inline-block} \ No newline at end of file +.dropdown[data-v-1e7a30d3]{border:1px solid #ddd;padding:.4rem;font-size:1.3rem;border-radius:.4rem;position:relative}.dropdown .el-icon[data-v-1e7a30d3]{vertical-align:middle}.dropdown .badge[data-v-1e7a30d3]{position:absolute;right:-1rem;top:-50%;border-radius:10px;background-color:#f1ae05;color:#fff;padding:.2rem .6rem;font-size:1.2rem}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)}}a[data-v-a998806a]{color:#666;text-decoration:underline}a.green[data-v-a998806a]{color:green;font-weight:700}img.system[data-v-a998806a]{height:1.6rem;vertical-align:middle;margin-right:.4rem}.ipaddress span[data-v-358fba0e]{vertical-align:middle}.el-input[data-v-358fba0e]{width:15rem;margin-right:.6rem}.el-col[data-v-bdd023b0]{text-align:left}.el-icon.loading[data-v-3b6dbb12],a.loading[data-v-3b6dbb12]{vertical-align:middle;font-weight:700;animation:loading-3b6dbb12 1s linear infinite}.el-switch.is-disabled[data-v-3b6dbb12]{opacity:1}.el-input[data-v-3b6dbb12]{width:8rem}.gateway[data-v-3b6dbb12]{background:linear-gradient(90deg,#c5b260,#858585,#c5b260,#858585);-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}.gateway.green[data-v-3b6dbb12]{background:linear-gradient(90deg,#e4bb10,green,#e4bb10,green);-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}.delay[data-v-3b6dbb12]{position:absolute;right:0;bottom:0;line-height:normal}.switch-btn[data-v-3b6dbb12]{font-size:1.5rem}@keyframes loading-3b6dbb12{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-switch.is-disabled[data-v-7c827302]{opacity:1}.upgrade-wrap[data-v-7c827302]{border:1px solid #ddd;margin-bottom:2rem;padding:0 0 1rem 0}.el-switch.is-disabled[data-v-56597dfc]{opacity:1}.green[data-v-56597dfc]{font-weight:700}.el-switch.is-disabled[data-v-1f7f67a4]{opacity:1}a[data-v-19db1f43]{text-decoration:underline;font-weight:700}.head[data-v-7b79db4a]{padding-bottom:1rem}.green[data-v-7b79db4a]{color:green;font-weight:700}.error[data-v-7b79db4a]{font-weight:700}.error .el-icon[data-v-7b79db4a]{vertical-align:text-bottom}.el-select[data-v-3a13c86f]{width:12rem}.head[data-v-3a13c86f]{padding-bottom:1rem}.foot[data-v-3a13c86f]{padding-top:1rem}.page-wrap[data-v-3a13c86f]{display:inline-block}.head[data-v-48a6af94]{padding-bottom:1rem}.error[data-v-48a6af94]{font-weight:700}.error .el-icon[data-v-48a6af94]{vertical-align:text-bottom}.el-select[data-v-5512121a]{width:12rem}.head[data-v-5512121a]{padding-bottom:1rem}.foot[data-v-5512121a]{padding-top:1rem}.page-wrap[data-v-5512121a]{display:inline-block}.head[data-v-337b0bab]{padding-bottom:1rem}.table-sort.el-table th.el-table__cell.is-leaf{border-bottom:0}.table-sort.el-table .el-table__inner-wrapper:before{height:0}.table-sort th[data-v-137c2b43]{border-bottom:0}.home-list-wrap[data-v-137c2b43]{padding:1rem}.home-list-wrap .page[data-v-137c2b43]{padding-top:1rem}.home-list-wrap .page-wrap[data-v-137c2b43]{display:inline-block} \ No newline at end of file diff --git a/linker.tray.win/web/css/308.a7292c43.css b/linker.tray.win/web/css/684.84f3a7f7.css similarity index 97% rename from linker.tray.win/web/css/308.a7292c43.css rename to linker.tray.win/web/css/684.84f3a7f7.css index 9dfc75a4..c10cb98a 100644 --- a/linker.tray.win/web/css/308.a7292c43.css +++ b/linker.tray.win/web/css/684.84f3a7f7.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-288c64ff]{opacity:0;position:absolute;z-index:-1}.head[data-v-288c64ff]{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-288c64ff]{padding:.5rem 0 0 1rem}.head .logo img[data-v-288c64ff]{vertical-align:top;height:4rem}.head .menu[data-v-288c64ff]{padding-left:1rem;font-size:1.4rem}.head .menu li[data-v-288c64ff]{box-sizing:border-box;padding:.5rem 0;margin-right:.5rem}.head .menu a[data-v-288c64ff]{display:block;color:#333;padding:0 1rem;line-height:4rem}.head .menu a.router-link-active[data-v-288c64ff],.head .menu a[data-v-288c64ff]:hover{background-color:rgba(0,0,0,.1);font-weight:700;border-radius:4px}.head .menu a img[data-v-288c64ff]{height:2rem;vertical-align:text-top}.head .image[data-v-288c64ff]{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}a a[data-v-72d1fe1e]{color:#333;margin-left:.6rem}a.connected[data-v-72d1fe1e]{color:green;font-weight:700}a .el-icon[data-v-72d1fe1e]{vertical-align:text-bottom}a[data-v-6238c500]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-6238c500]{line-height:normal;white-space:nowrap}.head[data-v-3e577fa7]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-3e577fa7]{width:20rem}.page[data-v-3e577fa7]{padding-top:1rem}.page-wrap[data-v-3e577fa7]{display:inline-block}.head[data-v-7dbf3a4a]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7dbf3a4a]{width:20rem}.page[data-v-7dbf3a4a]{padding-top:1rem}.page-wrap[data-v-7dbf3a4a]{display:inline-block}a[data-v-6ba77111]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-6ba77111]{line-height:normal;white-space:nowrap}a[data-v-70063cba]{font-weight:700}a .el-icon[data-v-70063cba]{vertical-align:text-bottom}a.download .el-icon[data-v-70063cba]{font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-70063cba]{animation:loading-70063cba 1s linear infinite}@keyframes loading-70063cba{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-server-wrap[data-v-7c1beb5c]{position:relative;padding-right:.5rem}.status-server-wrap a[data-v-7c1beb5c]{color:#333}.status-server-wrap a+a[data-v-7c1beb5c]{margin-left:.6rem}.status-server-wrap .el-icon[data-v-7c1beb5c]{vertical-align:text-bottom}.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-39d602b6]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555}.status-wrap .pay[data-v-39d602b6]{font-size:xxx-large}.status-wrap .pay img[data-v-39d602b6]{width:100%;margin:0}.status-wrap .copy[data-v-39d602b6]{padding-left:.5rem}.status-wrap .copy a[data-v-39d602b6]{color:#555}.status-wrap a.memory[data-v-39d602b6]{margin-right:.6rem}.status-wrap a.memory img[data-v-39d602b6]{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 +#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-288c64ff]{opacity:0;position:absolute;z-index:-1}.head[data-v-288c64ff]{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-288c64ff]{padding:.5rem 0 0 1rem}.head .logo img[data-v-288c64ff]{vertical-align:top;height:4rem}.head .menu[data-v-288c64ff]{padding-left:1rem;font-size:1.4rem}.head .menu li[data-v-288c64ff]{box-sizing:border-box;padding:.5rem 0;margin-right:.5rem}.head .menu a[data-v-288c64ff]{display:block;color:#333;padding:0 1rem;line-height:4rem}.head .menu a.router-link-active[data-v-288c64ff],.head .menu a[data-v-288c64ff]:hover{background-color:rgba(0,0,0,.1);font-weight:700;border-radius:4px}.head .menu a img[data-v-288c64ff]{height:2rem;vertical-align:text-top}.head .image[data-v-288c64ff]{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}a a[data-v-16c62865]{color:#333;margin-left:.6rem}a.connected[data-v-16c62865]{color:green;font-weight:700}a .el-icon[data-v-16c62865]{vertical-align:text-bottom}a[data-v-6238c500]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-6238c500]{line-height:normal;white-space:nowrap}.head[data-v-3e577fa7]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-3e577fa7]{width:20rem}.page[data-v-3e577fa7]{padding-top:1rem}.page-wrap[data-v-3e577fa7]{display:inline-block}.head[data-v-7dbf3a4a]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7dbf3a4a]{width:20rem}.page[data-v-7dbf3a4a]{padding-top:1rem}.page-wrap[data-v-7dbf3a4a]{display:inline-block}a[data-v-6ba77111]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-6ba77111]{line-height:normal;white-space:nowrap}a[data-v-70063cba]{font-weight:700}a .el-icon[data-v-70063cba]{vertical-align:text-bottom}a.download .el-icon[data-v-70063cba]{font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-70063cba]{animation:loading-70063cba 1s linear infinite}@keyframes loading-70063cba{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-server-wrap[data-v-7c1beb5c]{position:relative;padding-right:.5rem}.status-server-wrap a[data-v-7c1beb5c]{color:#333}.status-server-wrap a+a[data-v-7c1beb5c]{margin-left:.6rem}.status-server-wrap .el-icon[data-v-7c1beb5c]{vertical-align:text-bottom}.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-39d602b6]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555}.status-wrap .pay[data-v-39d602b6]{font-size:xxx-large}.status-wrap .pay img[data-v-39d602b6]{width:100%;margin:0}.status-wrap .copy[data-v-39d602b6]{padding-left:.5rem}.status-wrap .copy a[data-v-39d602b6]{color:#555}.status-wrap a.memory[data-v-39d602b6]{margin-right:.6rem}.status-wrap a.memory img[data-v-39d602b6]{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/901.12425577.css b/linker.tray.win/web/css/700.2ad5a532.css similarity index 86% rename from linker.tray.win/web/css/901.12425577.css rename to linker.tray.win/web/css/700.2ad5a532.css index 54d98ac0..ecab00a3 100644 --- a/linker.tray.win/web/css/901.12425577.css +++ b/linker.tray.win/web/css/700.2ad5a532.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}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 .status-wrap{background-color:hsla(0,0%,100%,.5)}body.sunny .head-wrap{background-color:hsla(0,0%,100%,.7)}body.sunny .net-list-wrap ul li,body.sunny .net-wrap{background-color:hsla(0,0%,98%,.5)}.head-wrap[data-v-213d85ba]{background-color:#fafafa;padding:1rem;border-bottom:1px solid #ddd;box-shadow:1px 2px 3px rgba(0,0,0,.05);font-size:1.4rem}.head-wrap span.label[data-v-213d85ba]{line-height:2.4rem;margin-right:.6rem;color:#555}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)}}a[data-v-a998806a]{color:#666;text-decoration:underline}a.green[data-v-a998806a]{color:green;font-weight:700}img.system[data-v-a998806a]{height:1.6rem;vertical-align:middle;margin-right:.4rem}.el-icon.loading[data-v-8a7ccef2],a.loading[data-v-8a7ccef2]{vertical-align:middle;font-weight:700;animation:loading-8a7ccef2 1s linear infinite}.el-switch.is-disabled[data-v-8a7ccef2]{opacity:1}.el-input[data-v-8a7ccef2]{width:8rem}.gateway[data-v-8a7ccef2]{background:linear-gradient(90deg,#c5b260,#858585,#c5b260,#858585);-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}.gateway.green[data-v-8a7ccef2]{background:linear-gradient(90deg,#e4bb10,green,#e4bb10,green);-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}.delay[data-v-8a7ccef2]{position:absolute;right:0;bottom:0;line-height:normal}.switch-btn[data-v-8a7ccef2]{font-size:1.5rem}@keyframes loading-8a7ccef2{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.net-list-wrap ul[data-v-b6ab4f06]{padding:2rem 2rem 1rem 2rem}.net-list-wrap ul li[data-v-b6ab4f06]{margin-bottom:1rem;border:1px solid #ddd;background-color:#fff;font-size:1.3rem;border-radius:.4rem}.net-list-wrap ul li dt[data-v-b6ab4f06]{padding:.6rem;border-bottom:1px solid #ddd}.net-list-wrap ul li dd.tuntap[data-v-b6ab4f06]{padding:1rem;position:relative}.net-list-wrap .page[data-v-b6ab4f06]{padding:.6rem 0;border-top:1px solid #ddd;background-color:hsla(0,0%,98%,.5);box-shadow:-1px -2px 3px rgba(0,0,0,.05)}.net-list-wrap .page-wrap[data-v-b6ab4f06]{display:inline-block}.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}a a[data-v-72d1fe1e]{color:#333;margin-left:.6rem}a.connected[data-v-72d1fe1e]{color:green;font-weight:700}a .el-icon[data-v-72d1fe1e]{vertical-align:text-bottom}a[data-v-6238c500]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-6238c500]{line-height:normal;white-space:nowrap}.head[data-v-3e577fa7]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-3e577fa7]{width:20rem}.page[data-v-3e577fa7]{padding-top:1rem}.page-wrap[data-v-3e577fa7]{display:inline-block}.head[data-v-7dbf3a4a]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7dbf3a4a]{width:20rem}.page[data-v-7dbf3a4a]{padding-top:1rem}.page-wrap[data-v-7dbf3a4a]{display:inline-block}a[data-v-6ba77111]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-6ba77111]{line-height:normal;white-space:nowrap}a[data-v-70063cba]{font-weight:700}a .el-icon[data-v-70063cba]{vertical-align:text-bottom}a.download .el-icon[data-v-70063cba]{font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-70063cba]{animation:loading-70063cba 1s linear infinite}@keyframes loading-70063cba{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-server-wrap[data-v-7c1beb5c]{position:relative;padding-right:.5rem}.status-server-wrap a[data-v-7c1beb5c]{color:#333}.status-server-wrap a+a[data-v-7c1beb5c]{margin-left:.6rem}.status-server-wrap .el-icon[data-v-7c1beb5c]{vertical-align:text-bottom}.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}.status-wrap[data-v-39d602b6]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555}.status-wrap .pay[data-v-39d602b6]{font-size:xxx-large}.status-wrap .pay img[data-v-39d602b6]{width:100%;margin:0}.status-wrap .copy[data-v-39d602b6]{padding-left:.5rem}.status-wrap .copy a[data-v-39d602b6]{color:#555}.status-wrap a.memory[data-v-39d602b6]{margin-right:.6rem}.status-wrap a.memory img[data-v-39d602b6]{height:3rem;vertical-align:bottom;margin-right:.1rem}.net-wrap[data-v-6a3f3b43]{box-sizing:border-box;background-color:#fafafa;border:1px solid #d0d7de;width:calc(100% - 40px);height:calc(100% - 40px);position:absolute;left:20px;top:20px} \ 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}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 .status-wrap{background-color:hsla(0,0%,100%,.5)}body.sunny .head-wrap{background-color:hsla(0,0%,100%,.7)}body.sunny .net-list-wrap ul li,body.sunny .net-wrap{background-color:hsla(0,0%,98%,.5)}.head-wrap[data-v-213d85ba]{background-color:#fafafa;padding:1rem;border-bottom:1px solid #ddd;box-shadow:1px 2px 3px rgba(0,0,0,.05);font-size:1.4rem}.head-wrap span.label[data-v-213d85ba]{line-height:2.4rem;margin-right:.6rem;color:#555}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)}}a[data-v-a998806a]{color:#666;text-decoration:underline}a.green[data-v-a998806a]{color:green;font-weight:700}img.system[data-v-a998806a]{height:1.6rem;vertical-align:middle;margin-right:.4rem}.el-icon.loading[data-v-3b6dbb12],a.loading[data-v-3b6dbb12]{vertical-align:middle;font-weight:700;animation:loading-3b6dbb12 1s linear infinite}.el-switch.is-disabled[data-v-3b6dbb12]{opacity:1}.el-input[data-v-3b6dbb12]{width:8rem}.gateway[data-v-3b6dbb12]{background:linear-gradient(90deg,#c5b260,#858585,#c5b260,#858585);-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}.gateway.green[data-v-3b6dbb12]{background:linear-gradient(90deg,#e4bb10,green,#e4bb10,green);-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}.delay[data-v-3b6dbb12]{position:absolute;right:0;bottom:0;line-height:normal}.switch-btn[data-v-3b6dbb12]{font-size:1.5rem}@keyframes loading-3b6dbb12{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.net-list-wrap ul[data-v-b6ab4f06]{padding:2rem 2rem 1rem 2rem}.net-list-wrap ul li[data-v-b6ab4f06]{margin-bottom:1rem;border:1px solid #ddd;background-color:#fff;font-size:1.3rem;border-radius:.4rem}.net-list-wrap ul li dt[data-v-b6ab4f06]{padding:.6rem;border-bottom:1px solid #ddd}.net-list-wrap ul li dd.tuntap[data-v-b6ab4f06]{padding:1rem;position:relative}.net-list-wrap .page[data-v-b6ab4f06]{padding:.6rem 0;border-top:1px solid #ddd;background-color:hsla(0,0%,98%,.5);box-shadow:-1px -2px 3px rgba(0,0,0,.05)}.net-list-wrap .page-wrap[data-v-b6ab4f06]{display:inline-block}.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}a a[data-v-16c62865]{color:#333;margin-left:.6rem}a.connected[data-v-16c62865]{color:green;font-weight:700}a .el-icon[data-v-16c62865]{vertical-align:text-bottom}a[data-v-6238c500]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-6238c500]{line-height:normal;white-space:nowrap}.head[data-v-3e577fa7]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-3e577fa7]{width:20rem}.page[data-v-3e577fa7]{padding-top:1rem}.page-wrap[data-v-3e577fa7]{display:inline-block}.head[data-v-7dbf3a4a]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7dbf3a4a]{width:20rem}.page[data-v-7dbf3a4a]{padding-top:1rem}.page-wrap[data-v-7dbf3a4a]{display:inline-block}a[data-v-6ba77111]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-6ba77111]{line-height:normal;white-space:nowrap}a[data-v-70063cba]{font-weight:700}a .el-icon[data-v-70063cba]{vertical-align:text-bottom}a.download .el-icon[data-v-70063cba]{font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-70063cba]{animation:loading-70063cba 1s linear infinite}@keyframes loading-70063cba{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-server-wrap[data-v-7c1beb5c]{position:relative;padding-right:.5rem}.status-server-wrap a[data-v-7c1beb5c]{color:#333}.status-server-wrap a+a[data-v-7c1beb5c]{margin-left:.6rem}.status-server-wrap .el-icon[data-v-7c1beb5c]{vertical-align:text-bottom}.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}.status-wrap[data-v-39d602b6]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555}.status-wrap .pay[data-v-39d602b6]{font-size:xxx-large}.status-wrap .pay img[data-v-39d602b6]{width:100%;margin:0}.status-wrap .copy[data-v-39d602b6]{padding-left:.5rem}.status-wrap .copy a[data-v-39d602b6]{color:#555}.status-wrap a.memory[data-v-39d602b6]{margin-right:.6rem}.status-wrap a.memory img[data-v-39d602b6]{height:3rem;vertical-align:bottom;margin-right:.1rem}.net-wrap[data-v-6a3f3b43]{box-sizing:border-box;background-color:#fafafa;border:1px solid #d0d7de;width:calc(100% - 40px);height:calc(100% - 40px);position:absolute;left:20px;top:20px} \ No newline at end of file diff --git a/linker.tray.win/web/css/738.da903b6b.css b/linker.tray.win/web/css/702.3473438b.css similarity index 74% rename from linker.tray.win/web/css/738.da903b6b.css rename to linker.tray.win/web/css/702.3473438b.css index c66788d9..491afafb 100644 --- a/linker.tray.win/web/css/738.da903b6b.css +++ b/linker.tray.win/web/css/702.3473438b.css @@ -1 +1 @@ -.el-form-item[data-v-9f76f2f6],.el-row[data-v-9f76f2f6]{width:100%}.el-form-item[data-v-9f76f2f6]:last-child{margin-bottom:0}@media screen and (max-width:768px){.el-col[data-v-9f76f2f6]{margin-top:.6rem}}.pages[data-v-17f6d082]{padding:1rem 0 0 1rem}.page-wrap[data-v-17f6d082]{display:inline-block}.logger-setting-wrap[data-v-17f6d082]{padding:1rem;box-sizing:border-box}.logger-setting-wrap .inner[data-v-17f6d082]{padding:1rem}.logger-setting-wrap .head[data-v-17f6d082]{margin-bottom:1rem}.logger-setting-wrap .el-table .type-0{color:#00f}.logger-setting-wrap .el-table .type-1{color:#333}.logger-setting-wrap .el-table .type-2{color:#cd9906}.logger-setting-wrap .el-table .type-3{color:red}.logger-setting-wrap .el-table .type-4{color:red;font-weight:700} \ No newline at end of file +.el-form-item[data-v-3f5e3a69],.el-row[data-v-3f5e3a69]{width:100%}.el-form-item[data-v-3f5e3a69]:last-child{margin-bottom:0}@media screen and (max-width:768px){.el-col[data-v-3f5e3a69]{margin-top:.6rem}}.pages[data-v-17f6d082]{padding:1rem 0 0 1rem}.page-wrap[data-v-17f6d082]{display:inline-block}.logger-setting-wrap[data-v-17f6d082]{padding:1rem;box-sizing:border-box}.logger-setting-wrap .inner[data-v-17f6d082]{padding:1rem}.logger-setting-wrap .head[data-v-17f6d082]{margin-bottom:1rem}.logger-setting-wrap .el-table .type-0{color:#00f}.logger-setting-wrap .el-table .type-1{color:#333}.logger-setting-wrap .el-table .type-2{color:#cd9906}.logger-setting-wrap .el-table .type-3{color:red}.logger-setting-wrap .el-table .type-4{color:red;font-weight:700} \ No newline at end of file diff --git a/linker.tray.win/web/index.html b/linker.tray.win/web/index.html index f7b05c67..c85e831a 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/0.a9e686ee.js b/linker.tray.win/web/js/0.a9e686ee.js new file mode 100644 index 00000000..bba8962e --- /dev/null +++ b/linker.tray.win/web/js/0.a9e686ee.js @@ -0,0 +1 @@ +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[0],{743:function(e,t,a){a.d(t,{$U:function(){return s},Ap:function(){return n},Co:function(){return o},DY:function(){return u},Qs:function(){return d},eX:function(){return i},pY:function(){return r}});var l=a(4);const n=()=>(0,l.zG)("sforwardclient/GetSecretKey"),o=e=>(0,l.zG)("sforwardclient/SetSecretKey",e),r=(e="0")=>(0,l.zG)("sforwardclient/get",e),s=e=>(0,l.zG)("sforwardclient/getremote",e),u=e=>(0,l.zG)("sforwardclient/remove",e),d=e=>(0,l.zG)("sforwardclient/add",e),i=()=>(0,l.zG)("sforwardclient/TestLocal")},83:function(e,t,a){a.d(t,{$M:function(){return d},KW:function(){return u},S3:function(){return c},Vn:function(){return i},b0:function(){return o},gM:function(){return s},ix:function(){return n},r7:function(){return r}});var l=a(4);const n=()=>(0,l.zG)("tunnel/gettypes"),o=e=>(0,l.zG)("tunnel/SetServers",e),r=(e="0")=>(0,l.zG)("tunnel/get",e),s=()=>(0,l.zG)("tunnel/refresh"),u=e=>(0,l.zG)("tunnel/SetRouteLevel",e),d=e=>(0,l.zG)("tunnel/SetTransports",e),i=()=>(0,l.zG)("tunnel/GeInterfaces"),c=e=>(0,l.zG)("tunnel/SetInterface",e)},920:function(e,t,a){a.d(t,{BJ:function(){return i},NS:function(){return r},UB:function(){return m},Vk:function(){return d},aP:function(){return h},ir:function(){return u},lJ:function(){return o},mK:function(){return n},y2:function(){return c},yN:function(){return s}});var l=a(4);const n=(e="0")=>(0,l.zG)("updaterclient/get",e),o=e=>(0,l.zG)("updaterclient/confirm",e),r=e=>(0,l.zG)("updaterclient/exit",e),s=()=>(0,l.zG)("updaterclient/GetSecretKey"),u=e=>(0,l.zG)("updaterclient/SetSecretKey",e),d=()=>(0,l.zG)("updaterclient/getcurrent"),i=()=>(0,l.zG)("updaterclient/getserver"),c=e=>(0,l.zG)("updaterclient/confirmserver",e),h=()=>(0,l.zG)("updaterclient/exitserver"),m=()=>(0,l.zG)("updaterclient/Subscribe")},5962:function(e,t,a){a.d(t,{Y:function(){return s},q:function(){return u}});var l=a(8835),n=a(144),o=a(6768);const r=Symbol(),s=()=>{const e=(0,n.KR)({list:{},timer:0,hashcode:0});(0,o.Gt)(r,e);const t=()=>{(0,l.QI)(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(t,1e3)})).catch((()=>{e.value.timer=setTimeout(t,1e3)}))},a=()=>{clearTimeout(e.value.timer)};return{access:e,_getAccessInfo:t,clearAccessTimeout:a}},u=()=>(0,o.WQ)(r)},9383:function(e,t,a){a.d(t,{T:function(){return d},d:function(){return u}});var l=a(920),n=a(3830),o=a(144),r=a(6768);const s=Symbol(),u=()=>{const e=(0,n.B)(),t=(0,o.KR)({timer:0,list:{},hashcode:0,current:{Version:"",Msg:[],DateTime:"",Status:0,Length:0,Current:0},subscribeTimer:0});(0,r.Gt)(s,t);const a=()=>{(0,l.mK)(t.value.hashcode.toString()).then((l=>{if(t.value.hashcode=l.HashCode,l.List){const a=Object.values(l.List).filter((e=>!!e.Version))[0];a&&(Object.assign(t.value.current,{DateTime:a.DateTime,Version:a.Version,Status:a.Status,Length:a.Length,Current:a.Current,Msg:a.Msg}),e.value.updater=t.value.current),t.value.list=l.List}t.value.timer=setTimeout(a,800)})).catch((()=>{t.value.timer=setTimeout(a,800)}))},u=()=>{(0,l.UB)().then((()=>{t.value.subscribeTimer=setTimeout(u,5e3)})).catch((()=>{t.value.subscribeTimer=setTimeout(u,5e3)}))},d=()=>{clearTimeout(t.value.timer),clearTimeout(t.value.subscribeTimer)};return{updater:t,_getUpdater:a,_subscribeUpdater:u,clearUpdaterTimeout:d}},d=()=>(0,r.WQ)(s)},6611:function(e,t,a){a.d(t,{A:function(){return c}});var l=a(6768);function n(e,t,a,n,o,r){const s=(0,l.g2)("el-checkbox"),u=(0,l.g2)("el-col"),d=(0,l.g2)("el-row"),i=(0,l.g2)("el-checkbox-group");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.bF)(d,null,{default:(0,l.k6)((()=>[(0,l.bF)(u,{span:8},{default:(0,l.k6)((()=>[(0,l.bF)(s,{modelValue:n.state.checkAll,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.checkAll=e),onChange:n.handleCheckAllChange,label:"全选",indeterminate:n.state.isIndeterminate},null,8,["modelValue","onChange","indeterminate"])])),_:1})])),_:1}),(0,l.bF)(i,{modelValue:n.state.checkList,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.checkList=e),onChange:n.handleCheckedChange},{default:(0,l.k6)((()=>[(0,l.bF)(d,null,{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.access,((e,t)=>((0,l.uX)(),(0,l.Wv)(u,{key:t,span:8},{default:(0,l.k6)((()=>[(0,l.bF)(s,{value:e.Value,label:e.Text},null,8,["value","label"])])),_:2},1024)))),128))])),_:1})])),_:1},8,["modelValue","onChange"])],64)}a(4114);var o=a(144),r=a(3830),s=a(5962),u={props:["machineid"],setup(e){const t=(0,r.B)(),a=(0,s.q)(),n=(0,l.EW)((()=>{const e=t.value.config.Client.Accesss;return Object.keys(e).reduce(((a,l,n)=>{if(t.value.hasAccess(l)){const t=e[l];t.Key=l,a.push(t)}return a}),[])})),u=(0,o.Kh)({checkList:[t.value.config.Client.Accesss.Api.Value,t.value.config.Client.Accesss.Web.Value,t.value.config.Client.Accesss.NetManager.Value,t.value.config.Client.Accesss.FullManager.Value,t.value.config.Client.Accesss.Transport.Value,t.value.config.Client.Accesss.Action.Value],checkAll:!1,isIndeterminate:!1}),d=()=>u.checkList.reduce(((e,t)=>(e|t)>>>0),0),i=e=>{const t=e.length;u.checkAll=t===n.value.length,u.isIndeterminate=t>0&&t{u.checkAll=e,u.checkList=e?n.value.map((e=>e.Value)):[],u.isIndeterminate=!1};return(0,l.sV)((()=>{if(a&&a.value.list[e.machineid]){const t=a.value.list[e.machineid];u.checkList=n.value.reduce(((e,a)=>((t&a.Value)>>>0==a.Value&&e.push(a.Value),e)),[])}i(u.checkList)})),{state:u,access:n,getValue:d,handleCheckAllChange:c,handleCheckedChange:i}}},d=a(1241);const i=(0,d.A)(u,[["render",n],["__scopeId","data-v-bdd023b0"]]);var c=i},8976:function(e,t,a){a.r(t),a.d(t,{default:function(){return ia}});var l=a(6768);const n={class:"home-list-wrap absolute"},o={class:"page t-c"},r={class:"page-wrap"};function s(e,t,a,s,u,d){const i=(0,l.g2)("el-table-column"),c=(0,l.g2)("el-table"),h=(0,l.g2)("Device"),m=(0,l.g2)("Tunnel"),p=(0,l.g2)("Tuntap"),g=(0,l.g2)("Forward"),v=(0,l.g2)("Oper"),f=(0,l.g2)("el-pagination"),w=(0,l.g2)("DeviceEdit"),k=(0,l.g2)("AccessEdit"),b=(0,l.g2)("TunnelEdit"),F=(0,l.g2)("ConnectionsEdit"),C=(0,l.g2)("TuntapEdit"),T=(0,l.g2)("ForwardEdit"),L=(0,l.g2)("ForwardCopy"),V=(0,l.g2)("SForwardEdit"),_=(0,l.g2)("SForwardCopy");return(0,l.uX)(),(0,l.CE)("div",n,[(0,l.bF)(c,{border:"",style:{width:"100%"},height:"32px",size:"small",onSortChange:s.handleSortChange,class:"table-sort"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{prop:"MachineId",label:"设备名",width:"120",sortable:"custom"}),(0,l.bF)(i,{prop:"Version",label:"版本",width:"120",sortable:"custom"}),(0,l.bF)(i,{prop:"tunnel",label:"网关",width:"90",sortable:"custom"}),(0,l.bF)(i,{prop:"tuntap",label:"网卡IP",width:"160",sortable:"custom"}),(0,l.bF)(i,{prop:"forward",label:""}),(0,l.bF)(i,{label:"",width:"74",fixed:"right"})])),_:1},8,["onSortChange"]),(0,l.bF)(c,{data:s.devices.page.List,stripe:"",border:"",style:{width:"100%"},height:`${s.state.height}px`,size:"small"},{default:(0,l.k6)((()=>[(0,l.bF)(h,{onEdit:s.handleDeviceEdit,onRefresh:s.handlePageRefresh},null,8,["onEdit","onRefresh"]),(0,l.bF)(m,{onEdit:s.handleTunnelEdit,onRefresh:s.handleTunnelRefresh,onConnections:s.handleTunnelConnections},null,8,["onEdit","onRefresh","onConnections"]),(0,l.bF)(p,{onEdit:s.handleTuntapEdit,onRefresh:s.handleTuntapRefresh},null,8,["onEdit","onRefresh"]),(0,l.bF)(g,{onEdit:s._handleForwardEdit,onSedit:s.handleSForwardEdit},null,8,["onEdit","onSedit"]),(0,l.bF)(v,{onRefresh:s.handlePageRefresh,onAccess:s.handleAccessEdit},null,8,["onRefresh","onAccess"])])),_:1},8,["data","height"]),(0,l.Lk)("div",o,[(0,l.Lk)("div",r,[(0,l.bF)(f,{small:"",background:"",layout:"total,sizes,prev,pager, next",total:s.devices.page.Count,"page-size":s.devices.page.Request.Size,"current-page":s.devices.page.Request.Page,onCurrentChange:s.handlePageChange,onSizeChange:s.handlePageSizeChange,"page-sizes":[10,20,50,100,255]},null,8,["total","page-size","current-page","onCurrentChange","onSizeChange"])])]),s.devices.showDeviceEdit?((0,l.uX)(),(0,l.Wv)(w,{key:0,modelValue:s.devices.showDeviceEdit,"onUpdate:modelValue":t[0]||(t[0]=e=>s.devices.showDeviceEdit=e),onChange:s.handlePageChange,data:s.devices.deviceInfo},null,8,["modelValue","onChange","data"])):(0,l.Q3)("",!0),s.devices.showAccessEdit?((0,l.uX)(),(0,l.Wv)(k,{key:1,modelValue:s.devices.showAccessEdit,"onUpdate:modelValue":t[1]||(t[1]=e=>s.devices.showAccessEdit=e),onChange:s.handlePageChange,data:s.devices.deviceInfo},null,8,["modelValue","onChange","data"])):(0,l.Q3)("",!0),s.tunnel.showEdit?((0,l.uX)(),(0,l.Wv)(b,{key:2,modelValue:s.tunnel.showEdit,"onUpdate:modelValue":t[2]||(t[2]=e=>s.tunnel.showEdit=e),onChange:s.handleTunnelRefresh},null,8,["modelValue","onChange"])):(0,l.Q3)("",!0),s.connections.showEdit?((0,l.uX)(),(0,l.Wv)(F,{key:3,modelValue:s.connections.showEdit,"onUpdate:modelValue":t[3]||(t[3]=e=>s.connections.showEdit=e)},null,8,["modelValue"])):(0,l.Q3)("",!0),s.tuntap.showEdit?((0,l.uX)(),(0,l.Wv)(C,{key:4,modelValue:s.tuntap.showEdit,"onUpdate:modelValue":t[4]||(t[4]=e=>s.tuntap.showEdit=e),onChange:s.handleTuntapRefresh},null,8,["modelValue","onChange"])):(0,l.Q3)("",!0),s.forward.showEdit?((0,l.uX)(),(0,l.Wv)(T,{key:5,modelValue:s.forward.showEdit,"onUpdate:modelValue":t[5]||(t[5]=e=>s.forward.showEdit=e)},null,8,["modelValue"])):(0,l.Q3)("",!0),s.forward.showCopy?((0,l.uX)(),(0,l.Wv)(L,{key:6,modelValue:s.forward.showCopy,"onUpdate:modelValue":t[6]||(t[6]=e=>s.forward.showCopy=e)},null,8,["modelValue"])):(0,l.Q3)("",!0),s.sforward.showEdit?((0,l.uX)(),(0,l.Wv)(V,{key:7,modelValue:s.sforward.showEdit,"onUpdate:modelValue":t[7]||(t[7]=e=>s.sforward.showEdit=e)},null,8,["modelValue"])):(0,l.Q3)("",!0),s.sforward.showCopy?((0,l.uX)(),(0,l.Wv)(_,{key:8,modelValue:s.sforward.showCopy,"onUpdate:modelValue":t[8]||(t[8]=e=>s.sforward.showCopy=e)},null,8,["modelValue"])):(0,l.Q3)("",!0)])}a(4114);var u=a(3830),d=a(144);const i=e=>((0,l.Qi)("data-v-1e7a30d3"),e=e(),(0,l.jt)(),e),c={class:"dropdown"},h=i((()=>(0,l.Lk)("span",null,"操作",-1)));function m(e,t,a,n,o,r){const s=(0,l.g2)("ArrowDown"),u=(0,l.g2)("el-icon"),d=(0,l.g2)("SwitchButton"),i=(0,l.g2)("el-dropdown-item"),m=(0,l.g2)("Delete"),p=(0,l.g2)("Flag"),g=(0,l.g2)("el-dropdown-menu"),v=(0,l.g2)("el-dropdown"),f=(0,l.g2)("el-table-column");return(0,l.uX)(),(0,l.Wv)(f,{label:"操作",width:"74",fixed:"right"},{default:(0,l.k6)((e=>[(0,l.bF)(v,{size:"small"},{dropdown:(0,l.k6)((()=>[(0,l.bF)(g,null,{default:(0,l.k6)((()=>[e.row.showReboot&&n.hasReboot?((0,l.uX)(),(0,l.Wv)(i,{key:0,onClick:t=>n.handleExit(e.row.MachineId,e.row.MachineName)},{default:(0,l.k6)((()=>[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[(0,l.bF)(d)])),_:1}),(0,l.eW)(" 重启")])),_:2},1032,["onClick"])):(0,l.Q3)("",!0),e.row.showDel&&n.hasRemove?((0,l.uX)(),(0,l.Wv)(i,{key:1,onClick:t=>n.handleDel(e.row.MachineId,e.row.MachineName)},{default:(0,l.k6)((()=>[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1}),(0,l.eW)(" 删除")])),_:2},1032,["onClick"])):(0,l.Q3)("",!0),n.handleShowAccess(e.row,n.accessList[e.row.MachineId]||0)?((0,l.uX)(),(0,l.Wv)(i,{key:2,onClick:t=>n.handleAccess(e.row)},{default:(0,l.k6)((()=>[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[(0,l.bF)(p)])),_:1}),(0,l.eW)(" 权限")])),_:2},1032,["onClick"])):(0,l.Q3)("",!0)])),_:2},1024)])),default:(0,l.k6)((()=>[(0,l.Lk)("div",c,[h,(0,l.bF)(u,{class:"el-icon--right"},{default:(0,l.k6)((()=>[(0,l.bF)(s)])),_:1})])])),_:2},1024)])),_:1})}var p=a(9299),g=a(920),v=a(7477),f=a(2933),w=a(5962),k={emits:["refresh","access"],components:{Delete:v.epd,SwitchButton:v.L$q,ArrowDown:v.yd$,Flag:v.lNU},setup(e,{emit:t}){const a=(0,u.B)(),n=(0,w.q)(),o=(0,l.EW)((()=>a.value.config.Client.Access)),r=(0,l.EW)((()=>a.value.hasAccess("Access"))),s=(0,l.EW)((()=>n.value.list)),d=(0,l.EW)((()=>a.value.hasAccess("Reboot"))),i=(0,l.EW)((()=>a.value.hasAccess("Remove"))),c=(e,a)=>{f.s.confirm(`确认删除[${a}]?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,p.Se)(e).then((()=>{t("refresh")}))})).catch((()=>{}))},h=(e,a)=>{f.s.confirm(`确认关闭[${a}]?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,g.NS)(e).then((()=>{t("refresh")}))})).catch((()=>{}))},m=(e,t)=>e.showAccess&&r.value&&t>=0&&(~o.value&t)>>>0==0,v=e=>{t("access",e)};return{accessList:s,handleDel:c,handleExit:h,hasReboot:d,hasRemove:i,hasAccess:r,handleShowAccess:m,handleAccess:v}}},b=a(1241);const F=(0,b.A)(k,[["render",m],["__scopeId","data-v-1e7a30d3"]]);var C=F,T=a(4232);const L=e=>((0,l.Qi)("data-v-358fba0e"),e=e(),(0,l.jt)(),e),V={class:"flex"},_=L((()=>(0,l.Lk)("span",{class:"flex-1"},"设备",-1))),E={class:"flex"},y=["onClick"],I=["onClick"],S=L((()=>(0,l.Lk)("span",null,"😴㊙.㊙.㊙.㊙",-1))),P=[S],M=L((()=>(0,l.Lk)("span",{class:"flex-1"},null,-1)));function R(e,t,a,n,o,r){const s=(0,l.g2)("el-input"),u=(0,l.g2)("Search"),d=(0,l.g2)("el-icon"),i=(0,l.g2)("el-button"),c=(0,l.g2)("DeviceName"),h=(0,l.g2)("UpdaterBtn"),m=(0,l.g2)("el-table-column");return(0,l.uX)(),(0,l.Wv)(m,{prop:"MachineId",label:"设备",width:"240"},{header:(0,l.k6)((()=>[(0,l.Lk)("div",V,[_,(0,l.Lk)("span",null,[(0,l.bF)(s,{size:"small",modelValue:n.name,"onUpdate:modelValue":t[0]||(t[0]=e=>n.name=e),clearable:"",onInput:n.handleRefresh,placeholder:"设备/虚拟网卡/端口转发"},null,8,["modelValue","onInput"])]),(0,l.Lk)("span",null,[(0,l.bF)(i,{size:"small",onClick:n.handleRefresh},{default:(0,l.k6)((()=>[(0,l.bF)(d,null,{default:(0,l.k6)((()=>[(0,l.bF)(u)])),_:1})])),_:1},8,["onClick"])])])])),default:(0,l.k6)((e=>[(0,l.Lk)("div",null,[(0,l.Lk)("p",null,[(0,l.bF)(c,{onEdit:n.handleEdit,config:!0,item:e.row},null,8,["onEdit","item"])]),(0,l.Lk)("p",E,[e.row.showip?((0,l.uX)(),(0,l.CE)("span",{key:0,title:"此设备的外网IP",class:"ipaddress",onClick:t=>n.handleExternal(e.row)},[(0,l.Lk)("span",null,"😀"+(0,T.v_)(e.row.IP),1)],8,y)):((0,l.uX)(),(0,l.CE)("span",{key:1,title:"此设备的外网IP",class:"ipaddress",onClick:t=>n.handleExternal(e.row)},P,8,I)),M,(0,l.bF)(h,{config:!0,item:e.row},null,8,["item"])])])])),_:1})}var W=a(2126),A=a(886),B={emits:["edit","refresh"],components:{Search:v.vji,UpdaterBtn:W.A,DeviceName:A.A},setup(e,{emit:t}){const a=(0,u.B)(),n=(0,l.EW)((()=>a.value.hasAccess("ExternalShow"))),o=(0,d.KR)(sessionStorage.getItem("search-name")||""),r=e=>{n.value&&(e.showip=!e.showip)},s=e=>{t("edit",e)},i=()=>{sessionStorage.setItem("search-name",o.value),t("refresh",o.value)};return{handleEdit:s,handleRefresh:i,name:o,handleExternal:r}}};const z=(0,b.A)(B,[["render",R],["__scopeId","data-v-358fba0e"]]);var N=z;const U=(0,l.Lk)("div",null,"修改后最好能重启一次客户端",-1),X={class:"t-c w-100"};function x(e,t,a,n,o,r){const s=(0,l.g2)("el-form-item"),u=(0,l.g2)("el-input"),d=(0,l.g2)("el-button"),i=(0,l.g2)("el-form"),c=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(c,{modelValue:n.state.show,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.ruleForm.MachineName}]设备`,width:"300"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(i,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"auto"},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:""},{default:(0,l.k6)((()=>[U])),_:1}),(0,l.bF)(s,{label:"设备名",prop:"MachineName"},{default:(0,l.k6)((()=>[(0,l.bF)(u,{maxlength:"12","show-word-limit":"",modelValue:n.state.ruleForm.MachineName,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.ruleForm.MachineName=e)},null,8,["modelValue"])])),_:1}),(0,l.bF)(s,{label:"",prop:"Btns"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",X,[(0,l.bF)(d,{onClick:t[1]||(t[1]=e=>n.state.show=!1)},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1}),(0,l.bF)(d,{type:"primary",onClick:n.handleSave},{default:(0,l.k6)((()=>[(0,l.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var D=a(1219),K={props:["data","modelValue"],emits:["change","update:modelValue"],setup(e,{emit:t}){const a=(0,d.KR)(null),n=(0,d.Kh)({show:!0,ruleForm:{MachineName1:e.data.MachineName,MachineName:e.data.MachineName},rules:{}});(0,l.wB)((()=>n.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const o=()=>{e.data.MachineName!=n.ruleForm.MachineName&&(0,p.gC)({Id:e.data.MachineId,newName:n.ruleForm.MachineName}).then((()=>{n.show=!1,D.nk.success("已操作!"),t("change")})).catch((()=>{D.nk.error("操作失败!")}))};return{state:n,ruleFormRef:a,handleSave:o}}};const G=(0,b.A)(K,[["render",x]]);var O=G;function $(e,t,a,n,o,r){const s=(0,l.g2)("Access"),u=(0,l.g2)("el-button"),d=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(d,{modelValue:n.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.show=e),"close-on-click-modal":!1,center:"","append-to":".app-wrap",title:`设置[${n.machineName}]的权限`,width:"580",top:"1vh"},{footer:(0,l.k6)((()=>[(0,l.bF)(u,{plain:"",onClick:t[0]||(t[0]=e=>n.state.show=!1),loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1},8,["loading"]),(0,l.bF)(u,{type:"success",plain:"",onClick:n.handleSave,loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("确定保存")])),_:1},8,["onClick","loading"])])),default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(s,{machineid:n.machineid,ref:"accessDom"},null,8,["machineid"])])])),_:1},8,["modelValue","title"])}var Q=a(8835),q=a(6611),j={props:["data","modelValue"],emits:["change","update:modelValue"],components:{Access:q.A},setup(e,{emit:t}){const a=(0,d.Kh)({show:!0,loading:!1});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const n=(0,d.KR)(null),o=()=>{a.loading=!0,(0,Q.ZK)({ToMachineId:e.data.MachineId,Access:n.value.getValue()}).then((()=>{a.loading=!1,a.show=!1,D.nk.success("已操作!"),t("change")})).catch((()=>{a.loading=!1,D.nk.error("操作失败!")}))};return{machineName:e.data.MachineName,machineid:e.data.MachineId,state:a,accessDom:n,handleSave:o}}};const H=(0,b.A)(j,[["render",$]]);var J=H;const Y={key:0};function Z(e,t,a,n,o,r){const s=(0,l.g2)("TuntapShow"),u=(0,l.g2)("el-table-column");return(0,l.uX)(),(0,l.Wv)(u,{prop:"tuntap",label:"虚拟网卡",width:"160"},{default:(0,l.k6)((e=>[n.tuntap.list[e.row.MachineId]?((0,l.uX)(),(0,l.CE)("div",Y,[(0,l.bF)(s,{config:!0,item:e.row,onEdit:n.handleTuntapIP,onRefresh:n.handleTuntapRefresh},null,8,["item","onEdit","onRefresh"])])):(0,l.Q3)("",!0)])),_:1})}var ee=a(8104),te=a(1198),ae={emits:["edit","refresh"],components:{TuntapShow:te.A},setup(e,{emit:t}){const a=(0,ee.W)(),l=e=>{t("edit",e)},n=()=>{t("refresh")};return{tuntap:a,handleTuntapIP:l,handleTuntapRefresh:n}}};const le=(0,b.A)(ae,[["render",Z]]);var ne=le;const oe=e=>((0,l.Qi)("data-v-7c827302"),e=e(),(0,l.jt)(),e),re=oe((()=>(0,l.Lk)("span",null,"/",-1))),se=oe((()=>(0,l.Lk)("span",{style:{width:"2rem"}},null,-1))),ue={key:0,class:"upgrade-wrap"},de=oe((()=>(0,l.Lk)("span",{class:"yellow"},"此设备能使用NAT转发,只需局域网IP,剩下的交给NAT(linux、macos、win10+)",-1))),ie={class:"flex-1"},ce=oe((()=>(0,l.Lk)("span",null,"/",-1))),he={class:"pdl-10"},me=oe((()=>(0,l.Lk)("span",{class:"yellow"},"此设备无法使用NAT转发,或只想使用端口转发",-1))),pe={class:"flex-1"},ge={class:"pdl-10"};function ve(e,t,a,n,o,r){const s=(0,l.g2)("el-form-item"),u=(0,l.g2)("el-input"),d=(0,l.g2)("el-checkbox"),i=(0,l.g2)("Delete"),c=(0,l.g2)("el-icon"),h=(0,l.g2)("el-button"),m=(0,l.g2)("Plus"),p=(0,l.g2)("el-form"),g=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(g,{modelValue:n.state.show,"onUpdate:modelValue":t[6]||(t[6]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]组网`,top:"1vh",width:"700"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(p,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"140"},{default:(0,l.k6)((()=>[(0,l.bF)(s,{prop:"gateway",style:{"margin-bottom":"0"}},{default:(0,l.k6)((()=>[(0,l.eW)(" 赐予此设备IP,其它设备可通过此IP访问 ")])),_:1}),(0,l.bF)(s,{label:"此设备的虚拟网卡IP",prop:"IP"},{default:(0,l.k6)((()=>[(0,l.bF)(u,{modelValue:n.state.ruleForm.IP,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.ruleForm.IP=e),style:{width:"14rem"}},null,8,["modelValue"]),re,(0,l.bF)(u,{onChange:n.handlePrefixLengthChange,modelValue:n.state.ruleForm.PrefixLength,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.ruleForm.PrefixLength=e),style:{width:"4rem"}},null,8,["onChange","modelValue"]),se,(0,l.bF)(d,{modelValue:n.state.ruleForm.ShowDelay,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.ruleForm.ShowDelay=e),label:"显示延迟",size:"large"},null,8,["modelValue"]),(0,l.bF)(d,{modelValue:n.state.ruleForm.AutoConnect,"onUpdate:modelValue":t[3]||(t[3]=e=>n.state.ruleForm.AutoConnect=e),label:"自动连接",size:"large"},null,8,["modelValue"])])),_:1}),(0,l.bF)(s,{prop:"upgrade",style:{"margin-bottom":"0"}},{default:(0,l.k6)((()=>[(0,l.bF)(d,{modelValue:n.state.ruleForm.Upgrade,"onUpdate:modelValue":t[4]||(t[4]=e=>n.state.ruleForm.Upgrade=e),label:"我很懂,我要使用高级功能(点对网和网对网)",size:"large"},null,8,["modelValue"])])),_:1}),n.state.ruleForm.Upgrade?((0,l.uX)(),(0,l.CE)("div",ue,[(0,l.bF)(s,{prop:"nat",style:{"margin-bottom":"0"}},{default:(0,l.k6)((()=>[de])),_:1}),(0,l.bF)(s,{label:"此设备局域网IP",prop:"LanIP",style:{"border-bottom":"1px solid #ddd","margin-bottom":"0"}},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.ruleForm.LanIPs,((e,t)=>((0,l.uX)(),(0,l.CE)("div",{key:t,class:"flex",style:{"margin-bottom":".6rem"}},[(0,l.Lk)("div",ie,[(0,l.bF)(u,{modelValue:n.state.ruleForm.LanIPs[t],"onUpdate:modelValue":e=>n.state.ruleForm.LanIPs[t]=e,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),ce,(0,l.bF)(u,{onChange:e=>n.handleMaskChange(t),modelValue:n.state.ruleForm.Masks[t],"onUpdate:modelValue":e=>n.state.ruleForm.Masks[t]=e,style:{width:"4rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"])]),(0,l.Lk)("div",he,[(0,l.bF)(h,{type:"danger",onClick:e=>n.handleDel(t)},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})])),_:2},1032,["onClick"]),(0,l.bF)(h,{type:"primary",onClick:e=>n.handleAdd(t)},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])))),128))])),_:1}),(0,l.bF)(s,{prop:"forward",style:{"margin-bottom":"0"}},{default:(0,l.k6)((()=>[me])),_:1}),(0,l.bF)(s,{label:"端口转发",prop:"forwards"},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.ruleForm.Forwards,((e,t)=>((0,l.uX)(),(0,l.CE)("div",{key:t,class:"flex",style:{"margin-bottom":".6rem"}},[(0,l.Lk)("div",pe,[(0,l.bF)(u,{modelValue:e.ListenAddr,"onUpdate:modelValue":t=>e.ListenAddr=t,style:{width:"7rem"},readonly:""},null,8,["modelValue","onUpdate:modelValue"]),(0,l.eW)(" : "),(0,l.bF)(u,{onChange:e=>n.handleForwardChange(t),modelValue:e.ListenPort,"onUpdate:modelValue":t=>e.ListenPort=t,style:{width:"6rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"]),(0,l.eW)(" -> "),(0,l.bF)(u,{modelValue:e.ConnectAddr,"onUpdate:modelValue":t=>e.ConnectAddr=t,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),(0,l.eW)(" : "),(0,l.bF)(u,{onChange:e=>n.handleForwardChange(t),modelValue:e.ConnectPort,"onUpdate:modelValue":t=>e.ConnectPort=t,style:{width:"6rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"])]),(0,l.Lk)("div",ge,[(0,l.bF)(h,{type:"danger",onClick:e=>n.handleDelForward(t)},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})])),_:2},1032,["onClick"]),(0,l.bF)(h,{type:"primary",onClick:e=>n.handleAddForward(t)},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])))),128))])),_:1})])):(0,l.Q3)("",!0),(0,l.bF)(s,{label:"",prop:"Btns"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(h,{onClick:t[5]||(t[5]=e=>n.state.show=!1)},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1}),(0,l.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,l.k6)((()=>[(0,l.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var fe=a(5241),we={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:v.epd,Plus:v.FWt},setup(e,{emit:t}){const a=(0,u.B)(),n=(0,ee.W)(),o=(0,d.KR)(null),r=(0,d.Kh)({show:!0,machineName:n.value.current.device.MachineName,bufferSize:a.value.bufferSize,ruleForm:{IP:n.value.current.IP,LanIPs:n.value.current.LanIPs.slice(0),Masks:n.value.current.Masks.slice(0),PrefixLength:n.value.current.PrefixLength||24,Gateway:n.value.current.Gateway,ShowDelay:n.value.current.ShowDelay,AutoConnect:n.value.current.AutoConnect,Upgrade:n.value.current.Upgrade,Multicast:n.value.current.Multicast,Forwards:0==n.value.current.Forwards.length?[{ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0}]:n.value.current.Forwards.slice(0)},rules:{}});0==r.ruleForm.LanIPs.length&&(r.ruleForm.LanIPs.push(""),r.ruleForm.Masks.push(24)),(0,l.wB)((()=>r.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const s=()=>{var e=+r.ruleForm.PrefixLength;(e>32||e<16||isNaN(e))&&(e=24),r.ruleForm.PrefixLength=e},i=e=>{var t=+r.ruleForm.Masks[e];(t>32||t<16||isNaN(t))&&(t=24),r.ruleForm.Masks[e]=t},c=e=>{r.ruleForm.LanIPs.splice(e,1),r.ruleForm.Masks.splice(e,1),0==r.ruleForm.LanIPs.length&&h(0)},h=e=>{r.ruleForm.LanIPs.splice(e+1,0,""),r.ruleForm.Masks.splice(e+1,0,24)},m=()=>{const e=JSON.parse(JSON.stringify(n.value.current));e.IP=r.ruleForm.IP||"0.0.0.0";const{lanips:a,masks:l}=r.ruleForm.LanIPs.reduce(((e,t,a)=>(t&&r.ruleForm.Masks[a]&&(e.lanips.push(t),e.masks.push(r.ruleForm.Masks[a])),e)),{lanips:[],masks:[]});e.LanIPs=a,e.Masks=l,e.PrefixLength=+r.ruleForm.PrefixLength,e.Gateway=r.ruleForm.Gateway,e.ShowDelay=r.ruleForm.ShowDelay,e.AutoConnect=r.ruleForm.AutoConnect,e.Upgrade=r.ruleForm.Upgrade,e.Multicast=r.ruleForm.Multicast,e.Forwards=r.ruleForm.Forwards,e.Forwards.forEach((e=>{e.ListenPort=+e.ListenPort,e.ConnectPort=+e.ConnectPort})),(0,fe.ac)(e).then((()=>{r.show=!1,D.nk.success("已操作!"),t("change")})).catch((()=>{D.nk.error("操作失败!")}))},p=e=>{r.ruleForm.Forwards.splice(e,1),0==r.ruleForm.Forwards.length&&g(0)},g=e=>{r.ruleForm.Forwards.splice(e+1,0,{ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0})},v=()=>{};return{state:r,ruleFormRef:o,handlePrefixLengthChange:s,handleMaskChange:i,handleDel:c,handleAdd:h,handleSave:m,handleForwardChange:v,handleDelForward:p,handleAddForward:g}}};const ke=(0,b.A)(we,[["render",ve],["__scopeId","data-v-7c827302"]]);var be=ke;const Fe={key:0},Ce=["title","onClick"],Te=["onClick"];function Le(e,t,a,n,o,r){const s=(0,l.g2)("el-table-column");return(0,l.uX)(),(0,l.Wv)(s,{prop:"tunnel",label:"隧道",width:"90"},{default:(0,l.k6)((e=>[n.tunnel.list[e.row.MachineId]?((0,l.uX)(),(0,l.CE)("div",Fe,[(0,l.Lk)("a",{href:"javascript:;",class:(0,T.C4)(["a-line",{yellow:n.tunnel.list[e.row.MachineId].NeedReboot}]),title:n.tunnel.list[e.row.MachineId].NeedReboot?"需要重启":"调整网关层级有助于打洞成功",onClick:t=>n.handleTunnel(n.tunnel.list[e.row.MachineId],e.row)},[(0,l.Lk)("span",null,"网关 : "+(0,T.v_)(n.tunnel.list[e.row.MachineId].RouteLevel)+" + "+(0,T.v_)(n.tunnel.list[e.row.MachineId].RouteLevelPlus),1)],10,Ce)])):(0,l.Q3)("",!0),(0,l.Lk)("div",null,[(0,l.Lk)("a",{href:"javascript:;",title:"与此设备的隧道连接",class:(0,T.C4)(["a-line",{green:n.connectionCount(e.row.MachineId)>0}]),onClick:t=>n.handleConnections(e.row)},[(0,l.eW)(" 连接数 : "),(0,l.Lk)("span",null,(0,T.v_)(n.connectionCount(e.row.MachineId)),1)],10,Te)])])),_:1})}var Ve=a(83);const _e=Symbol(),Ee=()=>{(0,u.B)();const e=(0,d.KR)({timer:0,showEdit:!1,current:null,list:{},hashcode:0});(0,l.Gt)(_e,e);const t=()=>{(0,Ve.r7)(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(t,1060)})).catch((()=>{e.value.timer=setTimeout(t,1060)}))},a=t=>{e.value.current=t,e.value.showEdit=!0},n=()=>{(0,Ve.gM)(),D.nk.success({message:"刷新成功",grouping:!0})},o=()=>{clearTimeout(e.value.timer)},r=t=>Object.values(e.value.list).sort(((e,t)=>e.RouteLevel+e.RouteLevelPlus-t.RouteLevel+t.RouteLevelPlus)).map((e=>e.MachineId));return{tunnel:e,_getTunnelInfo:t,handleTunnelEdit:a,handleTunnelRefresh:n,clearTunnelTimeout:o,sortTunnel:r}},ye=()=>(0,l.WQ)(_e);var Ie=a(4);const Se=(e="0")=>(0,Ie.zG)("forwardclient/connections",e),Pe=e=>(0,Ie.zG)("forwardclient/removeconnection",e),Me=(e="0")=>(0,Ie.zG)("forwardclient/get",e),Re=e=>(0,Ie.zG)("forwardclient/getremote",e),We=()=>(0,Ie.zG)("forwardclient/bindips"),Ae=e=>(0,Ie.zG)("forwardclient/remove",e),Be=e=>(0,Ie.zG)("forwardclient/add",e),ze=e=>(0,Ie.zG)("forwardclient/TestTarget",e),Ne=Symbol(),Ue=Symbol(),Xe=Symbol(),xe=()=>{const e=(0,d.KR)({showEdit:!1,speedCache:{},current:"",currentName:"",hashcode:0,hashcode1:0,_updateRealTime:!1,updateRealTime:t=>{e.value.hashcode=0,e.value.hashcode1=0,e.value._updateRealTime=t}});(0,l.Gt)(Ne,e);const t=(0,d.KR)({timer:0,list:{}});(0,l.Gt)(Ue,t);const a=()=>{Se(e.value.hashcode.toString()).then((l=>{0==e.value._updateRealTime&&(e.value.hashcode=l.HashCode),l.List&&(r(l.List,Pe),t.value.list=l.List),t.value.timer=setTimeout(a,1e3)})).catch((e=>{t.value.timer=setTimeout(a,1e3)}))},n=(0,d.KR)({timer:0,list:{}});(0,l.Gt)(Xe,n);const o=()=>{(0,fe.kl)(e.value.hashcode1.toString()).then((t=>{0==e.value._updateRealTime&&(e.value.hashcode1=t.HashCode),t.List&&(r(t.List,fe.vB),n.value.list=t.List),n.value.timer=setTimeout(o,1e3)})).catch((e=>{n.value.timer=setTimeout(o,1e3)}))},r=(t,a)=>{const l=e.value.speedCache;for(let e in t){const n=t[e];n.removeFunc=a;const o=`${n.RemoteMachineId}-${n.TransactionId}`,r=l[o]||{SendBytes:0,ReceiveBytes:0};n.SendBytesText=s(n.SendBytes-r.SendBytes),n.ReceiveBytesText=s(n.ReceiveBytes-r.ReceiveBytes),r.SendBytes=n.SendBytes,r.ReceiveBytes=n.ReceiveBytes,l[o]=r}},s=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B/s","KB/s","MB/s","GB/s","TB/s"][t]}`},u=t=>{e.value.current=t.MachineId,e.value.currentName=t.MachineName,e.value.showEdit=!0},i=()=>{clearTimeout(t.value.timer),clearTimeout(n.value.timer)};return{connections:e,forwardConnections:t,_getForwardConnections:a,tuntapConnections:n,_getTuntapConnections:o,handleTunnelConnections:u,clearConnectionsTimeout:i}},De=()=>(0,l.WQ)(Ne),Ke=()=>(0,l.WQ)(Ue),Ge=()=>(0,l.WQ)(Xe);var Oe={emits:["edit","refresh"],setup(e,{emit:t}){const a=(0,u.B)(),n=(0,l.EW)((()=>a.value.config.Client.Id)),o=(0,l.EW)((()=>a.value.hasAccess("TunnelChangeSelf"))),r=(0,l.EW)((()=>a.value.hasAccess("TunnelChangeOther"))),s=ye(),d=(De(),Ke()),i=Ge(),c=e=>[d.value.list[e],i.value.list[e]].filter((e=>!!e&&e.Connected)).length,h=(e,a)=>{if(n.value===e.MachineId){if(!o.value)return}else if(!r.value)return;e.device=a,t("edit",e)},m=()=>{t("refresh")},p=e=>{t("connections",e)};return{tunnel:s,handleTunnel:h,handleTunnelRefresh:m,connectionCount:c,handleConnections:p}}};const $e=(0,b.A)(Oe,[["render",Le],["__scopeId","data-v-56597dfc"]]);var Qe=$e;const qe=e=>((0,l.Qi)("data-v-1f7f67a4"),e=e(),(0,l.jt)(),e),je=qe((()=>(0,l.Lk)("div",null,"网关层级为你的设备与外网的距离,你可以手动调整数值",-1))),He=qe((()=>(0,l.Lk)("div",null,"光猫映射了端口后,可以直接连接,把TcpPortMap调到第一",-1))),Je={class:"t-c w-100"};function Ye(e,t,a,n,o,r){const s=(0,l.g2)("el-form-item"),u=(0,l.g2)("el-input"),d=(0,l.g2)("el-col"),i=(0,l.g2)("el-input-number"),c=(0,l.g2)("el-row"),h=(0,l.g2)("el-button"),m=(0,l.g2)("el-form"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":t[5]||(t[5]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]网关`,width:"400"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(m,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"auto"},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:"",prop:"alert"},{default:(0,l.k6)((()=>[je])),_:1}),(0,l.bF)(s,{label:""},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(d,{span:12},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:"网关层级",prop:"RouteLevel"},{default:(0,l.k6)((()=>[(0,l.bF)(u,{readonly:"",modelValue:n.state.ruleForm.RouteLevel,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.ruleForm.RouteLevel=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,l.bF)(d,{span:12},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:"调整层级",prop:"RouteLevelPlus"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{modelValue:n.state.ruleForm.RouteLevelPlus,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.ruleForm.RouteLevelPlus=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,l.bF)(s,{label:"",prop:"alert"},{default:(0,l.k6)((()=>[He])),_:1}),(0,l.bF)(s,{label:""},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(d,{span:12},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:"外网端口",prop:"PortMapWan"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{modelValue:n.state.ruleForm.PortMapWan,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.ruleForm.PortMapWan=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,l.bF)(d,{span:12},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:"内网端口",prop:"PortMapLan"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{modelValue:n.state.ruleForm.PortMapLan,"onUpdate:modelValue":t[3]||(t[3]=e=>n.state.ruleForm.PortMapLan=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,l.bF)(s,{label:"",prop:"Btns"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",Je,[(0,l.bF)(h,{onClick:t[4]||(t[4]=e=>n.state.show=!1)},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1}),(0,l.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,l.k6)((()=>[(0,l.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var Ze={props:["modelValue"],emits:["change","update:modelValue"],setup(e,{emit:t}){const a=ye(),n=(0,d.KR)(null),o=(0,d.Kh)({show:!0,machineName:a.value.current.device.MachineName,ruleForm:{RouteLevel:a.value.current.RouteLevel,RouteLevelPlus:a.value.current.RouteLevelPlus,PortMapWan:a.value.current.PortMapWan,PortMapLan:a.value.current.PortMapLan},rules:{}});(0,l.wB)((()=>o.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const r=()=>{const e=JSON.parse(JSON.stringify(a.value.current));e.RouteLevel=+o.ruleForm.RouteLevel,e.RouteLevelPlus=+o.ruleForm.RouteLevelPlus,e.PortMapWan=+o.ruleForm.PortMapWan,e.PortMapLan=+o.ruleForm.PortMapLan,(0,Ve.KW)(e).then((()=>{o.show=!1,D.nk.success("已操作!"),t("change")})).catch((()=>{D.nk.error("操作失败!")}))};return{state:o,ruleFormRef:n,handleSave:r}}};const et=(0,b.A)(Ze,[["render",Ye],["__scopeId","data-v-1f7f67a4"]]);var tt=et;const at={key:0},lt={class:"list forward"},nt=["onClick"],ot={key:1},rt=["onClick"],st={key:0},ut={class:"list sforward"},dt={key:1};function it(e,t,a,n,o,r){const s=(0,l.g2)("el-table-column");return(0,l.uX)(),(0,l.Wv)(s,{prop:"forward",label:"端口转发"},{default:(0,l.k6)((e=>[e.row.isSelf?((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[n.hasForwardShowSelf?((0,l.uX)(),(0,l.CE)("div",st,[(0,l.Lk)("ul",ut,[n.sforward.list&&n.sforward.list.length>0?((0,l.uX)(!0),(0,l.CE)(l.FK,{key:0},(0,l.pI)(n.sforward.list.slice(0,5),((e,a)=>((0,l.uX)(),(0,l.CE)("li",{key:a,class:(0,T.C4)({red:!!e.Msg})},[(0,l.Lk)("a",{href:"javascript:;",onClick:t[0]||(t[0]=e=>n.handleSEdit()),class:(0,T.C4)({green:e.Started})},[(0,l.Lk)("span",null,[(0,l.Lk)("span",{class:(0,T.C4)({red:!!e.Msg})},(0,T.v_)(e.Domain||e.RemotePort),3),(0,l.eW)(" -> "),(0,l.Lk)("span",{class:(0,T.C4)({red:!!e.LocalMsg})},(0,T.v_)(e.LocalEP),3)])],2),(0,l.Lk)("span",null," ("+(0,T.v_)(1<n.handleSEdit())},"暂无配置")]))])])):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[n.hasForwardShowOther?((0,l.uX)(),(0,l.CE)("div",at,[(0,l.Lk)("ul",lt,[n.forward.list[e.row.MachineId]&&n.forward.list[e.row.MachineId].length>0?((0,l.uX)(!0),(0,l.CE)(l.FK,{key:0},(0,l.pI)(n.forward.list[e.row.MachineId],((t,a)=>((0,l.uX)(),(0,l.CE)("li",{key:a},[(0,l.Lk)("a",{href:"javascript:;",onClick:t=>n.handleEdit(e.row.MachineId),class:(0,T.C4)({green:t.Started})},[(0,l.Lk)("span",null,[(0,l.Lk)("span",{class:(0,T.C4)({red:!!t.Msg})},(0,T.v_)(t.Port),3),(0,l.eW)(" -> "),(0,l.Lk)("span",{class:(0,T.C4)({red:!!t.TargetMsg})},(0,T.v_)(t.TargetEP),3)])],10,nt),(0,l.Lk)("span",null," ("+(0,T.v_)(1<n.handleEdit(e.row.MachineId)},"暂无配置",8,rt)]))])])):(0,l.Q3)("",!0)],64))])),_:1})}const ct=Symbol(),ht=()=>{(0,u.B)();const e=(0,d.KR)({timer:0,showEdit:!1,showCopy:!1,current:null,list:{},testTimer:0,testTargetTimer:0,hashcode:0,hashcode1:0});(0,l.Gt)(ct,e);const t=()=>{Me(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(t,1020)})).catch((()=>{e.value.timer=setTimeout(t,1020)}))},a=(t,a)=>{e.value.current=t,e.value.machineName=a,e.value.showEdit=!0},n=()=>{clearTimeout(e.value.testTargetTimer),ze(e.value.current).then((t=>{e.value.testTargetTimer=setTimeout(n,5e3)})).catch((()=>{e.value.testTargetTimer=setTimeout(n,5e3)}))},o=()=>{clearTimeout(e.value.timer),clearTimeout(e.value.testTimer),clearTimeout(e.value.testTargetTimer)},r=t=>Object.values(e.value.list).reduce(((e,t)=>(e=e.concat(t),e)),[]).filter((e=>(e.Name||"").indexOf(t)>=0||(e.BindIPAddress||"").indexOf(t)>=0||e.Port.toString().indexOf(t)>=0||(e.TargetEP||"").indexOf(t)>=0)).map((e=>e.MachineId));return{forward:e,_getForwardInfo:t,handleForwardEdit:a,_testTargetForwardInfo:n,clearForwardTimeout:o,getForwardMachines:r}},mt=()=>(0,l.WQ)(ct);var pt=a(743);const gt=Symbol(),vt=()=>{const e=(0,u.B)(),t=(0,l.EW)((()=>e.value.config.Client.Id)),a=(0,d.KR)({timer:0,showEdit:!1,showCopy:!1,list:[],testTimer:0,hashcode:0});(0,l.Gt)(gt,a);const n=()=>{(0,pt.pY)(a.value.hashcode.toString()).then((e=>{a.value.hashcode=e.HashCode,e.List&&(a.value.list=e.List),a.value.timer=setTimeout(n,1040)})).catch((()=>{a.value.timer=setTimeout(n,1040)}))},o=()=>{a.value.showEdit=!0},r=()=>{clearTimeout(a.value.testTimer),(0,pt.eX)().then((e=>{a.value.testTimer=setTimeout(r,5e3)})).catch((()=>{a.value.testTimer=setTimeout(r,5e3)}))},s=()=>{clearTimeout(a.value.timer),clearTimeout(a.value.testTimer)},i=e=>{const l=a.value.list.filter((t=>(t.Name||"").indexOf(e)>=0||(t.Domain||"").indexOf(e)>=0||t.RemotePort.toString().indexOf(e)>=0||t.LocalEP.indexOf(e)>=0));return l.length>0?[t.value]:[]};return{sforward:a,_getSForwardInfo:n,handleSForwardEdit:o,_testLocalSForwardInfo:r,clearSForwardTimeout:s,getSForwardMachines:i}},ft=()=>(0,l.WQ)(gt);var wt={emits:["edit","sedit"],setup(e,{emit:t}){const a=mt(),n=ft(),o=(0,u.B)(),r=(0,l.EW)((()=>o.value.config.Client.Id)),s=(0,l.EW)((()=>o.value.hasAccess("ForwardShowSelf"))),d=(0,l.EW)((()=>o.value.hasAccess("ForwardShowOther"))),i=(0,l.EW)((()=>o.value.hasAccess("ForwardSelf"))),c=(0,l.EW)((()=>o.value.hasAccess("ForwardOther"))),h=e=>{if(r.value===e){if(!i.value)return}else if(!c.value)return;t("edit",e)},m=()=>{i.value&&t("sedit")},p=()=>{t("refresh")};return{forward:a,sforward:n,hasForwardShowSelf:s,hasForwardShowOther:d,handleEdit:h,handleSEdit:m,handleForwardRefresh:p}}};const kt=(0,b.A)(wt,[["render",it],["__scopeId","data-v-19db1f43"]]);var bt=kt;const Ft={class:"t-c head"},Ct={class:"error red"},Tt={class:"error red"};function Lt(e,t,a,n,o,r){const s=(0,l.g2)("el-button"),u=(0,l.g2)("el-input"),d=(0,l.g2)("el-table-column"),i=(0,l.g2)("el-option"),c=(0,l.g2)("el-select"),h=(0,l.g2)("WarnTriangleFilled"),m=(0,l.g2)("el-icon"),p=(0,l.g2)("el-popover"),g=(0,l.g2)("el-switch"),v=(0,l.g2)("Delete"),f=(0,l.g2)("el-popconfirm"),w=(0,l.g2)("el-table"),k=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(k,{modelValue:n.state.show,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:`端口转发到【${n.state.machineName}】`,top:"1vh",width:"700"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",Ft,[(0,l.bF)(s,{type:"success",size:"small",onClick:n.handleAdd},{default:(0,l.k6)((()=>[(0,l.eW)("添加")])),_:1},8,["onClick"]),(0,l.bF)(s,{size:"small",onClick:n.handleRefresh},{default:(0,l.k6)((()=>[(0,l.eW)("刷新")])),_:1},8,["onClick"]),(0,l.bF)(s,{size:"small",onClick:n.handleCopy},{default:(0,l.k6)((()=>[(0,l.eW)("复制转发配置")])),_:1},8,["onClick"])]),(0,l.bF)(w,{data:n.state.data,size:"small",border:"",height:"500",onCellDblclick:n.handleCellClick},{default:(0,l.k6)((()=>[(0,l.bF)(d,{property:"Name",label:"名称"},{default:(0,l.k6)((e=>[e.row.NameEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":t=>e.row.Name=t,onBlur:t=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[(0,l.eW)((0,T.v_)(e.row.Name),1)],64))])),_:1}),(0,l.bF)(d,{prop:"BufferSize",label:"缓冲区",width:"100"},{default:(0,l.k6)((e=>[(0,l.bF)(c,{modelValue:e.row.BufferSize,"onUpdate:modelValue":t=>e.row.BufferSize=t,placeholder:"Select",size:"small",disabled:e.row.Started,onChange:t=>n.handleEditBlur(e.row,"BufferSize")},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.bufferSize,((e,t)=>((0,l.uX)(),(0,l.Wv)(i,{key:t,label:e,value:t},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"])])),_:1}),(0,l.bF)(d,{property:"BindIPAddress",label:"监听IP",width:"140"},{default:(0,l.k6)((e=>[(0,l.bF)(c,{modelValue:e.row.BindIPAddress,"onUpdate:modelValue":t=>e.row.BindIPAddress=t,size:"small",disabled:e.row.Started},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.ips,(e=>((0,l.uX)(),(0,l.Wv)(i,{key:e,label:e,value:e},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","disabled"])])),_:1}),(0,l.bF)(d,{property:"Port",label:"监听端口",width:"80"},{default:(0,l.k6)((e=>[e.row.PortEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,type:"number",autofocus:"",size:"small",modelValue:e.row.Port,"onUpdate:modelValue":t=>e.row.Port=t,onBlur:t=>n.handleEditBlur(e.row,"Port")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[e.row.Msg?((0,l.uX)(),(0,l.Wv)(p,{key:0,placement:"top",title:"提示",width:"20rem",trigger:"hover",content:e.row.Msg},{reference:(0,l.k6)((()=>[(0,l.Lk)("div",Ct,[(0,l.Lk)("span",null,(0,T.v_)(e.row.Port),1),(0,l.bF)(m,{size:"20"},{default:(0,l.k6)((()=>[(0,l.bF)(h)])),_:1})])])),_:2},1032,["content"])):((0,l.uX)(),(0,l.CE)("span",{key:1,class:(0,T.C4)({green:e.row.Started})},(0,T.v_)(e.row.Port),3))],64))])),_:1}),(0,l.bF)(d,{property:"TargetEP",label:"目标服务",width:"140"},{default:(0,l.k6)((e=>[e.row.TargetEPEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.TargetEP,"onUpdate:modelValue":t=>e.row.TargetEP=t,onBlur:t=>n.handleEditBlur(e.row,"TargetEP")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[e.row.TargetMsg?((0,l.uX)(),(0,l.Wv)(p,{key:0,placement:"top",title:"提示",width:"20rem",trigger:"hover",content:e.row.TargetMsg},{reference:(0,l.k6)((()=>[(0,l.Lk)("span",Tt,(0,T.v_)(e.row.TargetEP),1),(0,l.bF)(m,{size:"20"},{default:(0,l.k6)((()=>[(0,l.bF)(h)])),_:1})])),_:2},1032,["content"])):((0,l.uX)(),(0,l.CE)("span",{key:1,class:(0,T.C4)({green:e.row.Started})},(0,T.v_)(e.row.TargetEP),3))],64))])),_:1}),(0,l.bF)(d,{property:"Started",label:"状态",width:"60"},{default:(0,l.k6)((e=>[(0,l.bF)(g,{modelValue:e.row.Started,"onUpdate:modelValue":t=>e.row.Started=t,onChange:t=>n.handleStartChange(e.row),"inline-prompt":"","active-text":"开","inactive-text":"关"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,l.bF)(d,{label:"操作",width:"54"},{default:(0,l.k6)((e=>[(0,l.bF)(f,{"confirm-button-text":"确认","cancel-button-text":"取消",title:"删除不可逆,是否确认?",onConfirm:t=>n.handleDel(e.row.Id)},{reference:(0,l.k6)((()=>[(0,l.bF)(s,{type:"danger",size:"small"},{default:(0,l.k6)((()=>[(0,l.bF)(m,null,{default:(0,l.k6)((()=>[(0,l.bF)(v)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onCellDblclick"])])])),_:1},8,["modelValue","onOpen","title"])}var Vt={props:["data","modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:v.DtC,Delete:v.epd},setup(e,{emit:t}){const a=(0,u.B)(),n=mt(),o=(0,d.Kh)({show:!0,machineId:n.value.current,machineName:n.value.machineName,data:[],ips:[],timerTestTarget:0,timerTestListen:0,bufferSize:a.value.bufferSize});(0,l.wB)((()=>o.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const r=()=>{We().then((e=>{e.splice(0,0,"127.0.0.1"),e.splice(0,0,"0.0.0.0"),o.ips=e})).catch((()=>{}))},s=()=>{ze(n.value.current).then((e=>{o.timerTestTarget=setTimeout(s,1e3)})).catch((()=>{o.timerTestTarget=setTimeout(s,1e3)}))},i=()=>{Me().then((e=>{e.List&&(o.data=e.List[o.machineId]||[])})).catch((()=>{}))},c=()=>{i()},h=(e,t)=>{g(e,t.property)},m=()=>{i(),D.nk.success("已刷新")},p=()=>{k({ID:0,Name:"",Port:0,TargetEP:"127.0.0.1:80",machineId:o.machineId})},g=(e,t)=>{e.Started?D.nk.error("请先停止"):(o.data.forEach((e=>{e["NameEditing"]=!1,e["PortEditing"]=!1,e["TargetEPEditing"]=!1,e["BindIPAddressEditing"]=!1})),e[`${t}Editing`]=!0)},v=(e,t)=>{e.Started?D.nk.error("请先停止"):(e[`${t}Editing`]=!1,k(e))},f=e=>{Ae(e).then((()=>{i()}))},w=e=>{k(e)},k=e=>{e.Port=parseInt(e.Port),Be(e).then((()=>{i()})).catch((e=>{D.nk.error(e)}))},b=()=>{n.value.showCopy=!0};return(0,l.sV)((()=>{i(),r(),s()})),(0,l.hi)((()=>{clearTimeout(o.timerTestTarget),clearTimeout(o.timerTestListen)})),{state:o,handleOnShowList:c,handleCellClick:h,handleRefresh:m,handleAdd:p,handleEdit:g,handleEditBlur:v,handleDel:f,handleStartChange:w,handleCopy:b}}};const _t=(0,b.A)(Vt,[["render",Lt],["__scopeId","data-v-7b79db4a"]]);var Et=_t;const yt=e=>((0,l.Qi)("data-v-3a13c86f"),e=e(),(0,l.jt)(),e),It={class:"t-c head"},St=yt((()=>(0,l.Lk)("span",null,"复制",-1))),Pt={class:"t-c"},Mt={class:"page-wrap"},Rt={class:"foot t-c"};function Wt(e,t,a,n,o,r){const s=(0,l.g2)("el-pagination"),u=(0,l.g2)("el-option"),d=(0,l.g2)("el-select"),i=(0,l.g2)("el-table-column"),c=(0,l.g2)("el-checkbox"),h=(0,l.g2)("el-table"),m=(0,l.g2)("el-button"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:"复制端口转发",top:"1vh",width:"500"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",It,[St,(0,l.bF)(d,{modelValue:n.state.machineId,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.machineId=e),onChange:n.handleMachineChange,filterable:"",remote:"",loading:n.state.loading,"remote-method":n.handleSearch},{header:(0,l.k6)((()=>[(0,l.Lk)("div",Pt,[(0,l.Lk)("div",Mt,[(0,l.bF)(s,{small:"",background:"",layout:"prev, pager, next","page-size":n.state.machineIds.Request.Size,total:n.state.machineIds.Count,"pager-count":5,"current-page":n.state.machineIds.Request.Page,onCurrentChange:n.handlePageChange},null,8,["page-size","total","current-page","onCurrentChange"])])])])),default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.machineIds.List,((e,t)=>((0,l.uX)(),(0,l.Wv)(u,{key:t,label:e.MachineName,value:e.MachineId},null,8,["label","value"])))),128))])),_:1},8,["modelValue","onChange","loading","remote-method"]),(0,l.Lk)("span",null,"到【"+(0,T.v_)(n.state.toMachineName)+"】的端口转发记录",1)]),(0,l.bF)(h,{data:n.state.forwards,size:"small",border:""},{default:(0,l.k6)((()=>[(0,l.bF)(i,{property:"Name",label:"名称"}),(0,l.bF)(i,{prop:"BufferSize",label:"缓冲区",width:"60"},{default:(0,l.k6)((e=>[(0,l.eW)((0,T.v_)(1<[(0,l.bF)(c,{modelValue:e.row.use,"onUpdate:modelValue":t=>e.row.use=t},{default:(0,l.k6)((()=>[(0,l.eW)("使用")])),_:2},1032,["modelValue","onUpdate:modelValue"])])),_:1})])),_:1},8,["data"]),(0,l.Lk)("div",Rt,[(0,l.bF)(m,{type:"primary",onClick:n.handleConfirm},{default:(0,l.k6)((()=>[(0,l.eW)("确定复制")])),_:1},8,["onClick"])])])])),_:1},8,["modelValue","onOpen"])}var At={props:["modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:v.DtC},setup(e,{emit:t}){(0,u.B)();const a=mt(),n=(0,d.Kh)({show:!0,loading:!1,machineId:"",toMachineId:a.value.current,toMachineName:a.value.machineName,machineIds:{Request:{Page:1,Size:10,Name:""},Count:0,List:[]},forwards:[]});(0,l.wB)((()=>n.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const o=()=>{r()},r=()=>{n.loading=!0,(0,p.BS)(n.machineIds.Request).then((e=>{n.loading=!1,n.machineIds.Request=e.Request,n.machineIds.Count=e.Count,n.machineIds.List=e.List,!n.machineId&&n.machineIds.List.length>0&&(n.machineId=n.machineIds.List[0].MachineId,c())})).catch((e=>{n.loading=!1}))},s=e=>{n.machineIds.Request.Page=e,r()},i=e=>{n.machineIds.Request.Name=e,r()},c=()=>{Re({MachineId:n.machineId,ToMachineId:n.toMachineId}).then((e=>{e.forEach((e=>{e.use=!0})),n.forwards=e})).catch((e=>{console.log(e)}))},h=()=>{c()},m=()=>{const e=n.forwards.filter((e=>e.use)).map((e=>Be({Name:e.Name,Port:e.Port,TargetEP:e.TargetEP,BufferSize:e.BufferSize,MachineId:n.toMachineId})));Promise.all(e).then((()=>{D.nk.success("已操作!"),n.show=!1})).catch((()=>{D.nk.success("操作失败!")}))};return(0,l.sV)((()=>{r()})),(0,l.hi)((()=>{})),{state:n,handleSearch:i,handleOnShowList:o,handleMachineChange:h,handleConfirm:m,handlePageChange:s}}};const Bt=(0,b.A)(At,[["render",Wt],["__scopeId","data-v-3a13c86f"]]);var zt=Bt;const Nt={class:"t-c head"},Ut={class:"error red"},Xt={class:"error red"};function xt(e,t,a,n,o,r){const s=(0,l.g2)("el-button"),u=(0,l.g2)("el-input"),d=(0,l.g2)("el-table-column"),i=(0,l.g2)("WarnTriangleFilled"),c=(0,l.g2)("el-icon"),h=(0,l.g2)("el-popover"),m=(0,l.g2)("el-switch"),p=(0,l.g2)("Delete"),g=(0,l.g2)("el-popconfirm"),v=(0,l.g2)("el-table"),f=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(f,{modelValue:n.state.show,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:"服务器代理穿透",top:"1vh",width:"700"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",Nt,[(0,l.bF)(s,{type:"success",size:"small",onClick:n.handleAdd},{default:(0,l.k6)((()=>[(0,l.eW)("添加")])),_:1},8,["onClick"]),(0,l.bF)(s,{size:"small",onClick:n.handleRefresh},{default:(0,l.k6)((()=>[(0,l.eW)("刷新")])),_:1},8,["onClick"]),(0,l.bF)(s,{size:"small",onClick:n.handleCopy},{default:(0,l.k6)((()=>[(0,l.eW)("复制穿透配置")])),_:1},8,["onClick"])]),(0,l.bF)(v,{data:n.state.data,size:"small",border:"",height:"500",onCellDblclick:n.handleCellClick},{default:(0,l.k6)((()=>[(0,l.bF)(d,{property:"Name",label:"名称"},{default:(0,l.k6)((e=>[e.row.NameEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":t=>e.row.Name=t,onBlur:t=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[(0,l.eW)((0,T.v_)(e.row.Name),1)],64))])),_:1}),(0,l.bF)(d,{prop:"BufferSize",label:"缓冲区",width:"100"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,T.v_)(1<[e.row.TempEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Temp,"onUpdate:modelValue":t=>e.row.Temp=t,onBlur:t=>n.handleEditBlur(e.row,"Temp")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[e.row.Msg?((0,l.uX)(),(0,l.Wv)(h,{key:0,placement:"top",title:"提示",width:"20rem",trigger:"hover",content:e.row.Msg},{reference:(0,l.k6)((()=>[(0,l.Lk)("div",Ut,[(0,l.Lk)("span",null,(0,T.v_)(e.row.Temp),1),(0,l.bF)(c,{size:"20"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})])])),_:2},1032,["content"])):((0,l.uX)(),(0,l.CE)("span",{key:1,class:(0,T.C4)({green:e.row.Started})},(0,T.v_)(e.row.Temp),3))],64))])),_:1}),(0,l.bF)(d,{property:"LocalEP",label:"本机服务",width:"140"},{default:(0,l.k6)((e=>[e.row.LocalEPEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.LocalEP,"onUpdate:modelValue":t=>e.row.LocalEP=t,onBlur:t=>n.handleEditBlur(e.row,"LocalEP")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[e.row.LocalMsg?((0,l.uX)(),(0,l.Wv)(h,{key:0,placement:"top",title:"提示",width:"20rem",trigger:"hover",content:e.row.LocalMsg},{reference:(0,l.k6)((()=>[(0,l.Lk)("span",Xt,(0,T.v_)(e.row.LocalEP),1),(0,l.bF)(c,{size:"20"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})])),_:2},1032,["content"])):((0,l.uX)(),(0,l.CE)("span",{key:1,class:(0,T.C4)({green:e.row.Started})},(0,T.v_)(e.row.LocalEP),3))],64))])),_:1}),(0,l.bF)(d,{property:"Started",label:"状态",width:"60"},{default:(0,l.k6)((e=>[(0,l.bF)(m,{modelValue:e.row.Started,"onUpdate:modelValue":t=>e.row.Started=t,onChange:t=>n.handleStartChange(e.row),"inline-prompt":"","active-text":"是","inactive-text":"否"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,l.bF)(d,{label:"操作",width:"54"},{default:(0,l.k6)((e=>[(0,l.bF)(g,{"confirm-button-text":"确认","cancel-button-text":"取消",title:"删除不可逆,是否确认?",onConfirm:t=>n.handleDel(e.row.Id)},{reference:(0,l.k6)((()=>[(0,l.bF)(s,{type:"danger",size:"small"},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(p)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onCellDblclick"])])])),_:1},8,["modelValue","onOpen"])}var Dt={props:["data","modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:v.DtC,Delete:v.epd},setup(e,{emit:t}){const a=(0,u.B)(),n=ft(),o=(0,d.Kh)({bufferSize:a.value.bufferSize,show:!0,data:[],timerTestLocal:0});(0,l.wB)((()=>o.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const r=()=>{(0,pt.eX)().then((e=>{o.timerTestLocal=setTimeout(r,1e3)})).catch((()=>{o.timerTestLocal=setTimeout(r,1e3)}))},s=()=>{(0,pt.pY)().then((e=>{let t=e.List||[];t.forEach((e=>{e.Temp=(e.Domain||e.RemotePort).toString(),e.RemotePort=0,e.Domain=""})),o.data=t})).catch((()=>{}))},i=()=>{s()},c=(e,t)=>{p(e,t.property)},h=()=>{s(),D.nk.success("已刷新")},m=()=>{(0,pt.Qs)({Id:0,Name:"",RemotePort:0,LocalEP:"127.0.0.1:80",Domain:"",Temp:""}).then((()=>{setTimeout((()=>{s()}),100)})).catch((e=>{D.nk.error(e)}))},p=(e,t)=>{e.Started?D.nk.error("请先停止运行"):(o.data.forEach((e=>{e["NameEditing"]=!1,e["RemotePortEditing"]=!1,e["LocalEPEditing"]=!1,e["DomainEditing"]=!1,e["TempEditing"]=!1})),e[`${t}Editing`]=!0)},g=(e,t)=>{e.Started?D.nk.error("请先停止运行"):(e[`${t}Editing`]=!1,w(e))},v=e=>{(0,pt.DY)(e).then((()=>{s()}))},f=e=>{w(e)},w=e=>{e.Temp&&(/^\d+$/.test(e.Temp)?e.RemotePort=parseInt(e.Temp):e.Domain=e.Temp,(0,pt.Qs)(e).then((()=>{setTimeout((()=>{s()}),100)})).catch((e=>{D.nk.error(e)})))},k=()=>{n.value.showCopy=!0},b=()=>{const e=(t=1e4)=>{if(t>2e4)return;const a={Name:`s-${t}`,RemotePort:t,LocalEP:"127.0.0.1:80",Started:!0};(0,pt.Qs)(a).then((a=>{setTimeout((()=>{e(++t)}),50)})).catch((a=>{console.log(a),D.nk.error(a),setTimeout((()=>{e(++t)}),100)}))};e()};return(0,l.sV)((()=>{s(),r()})),(0,l.hi)((()=>{clearTimeout(o.timerTestLocal)})),{state:o,handleOnShowList:i,handleCellClick:c,handleRefresh:h,handleAdd:m,handleEdit:p,handleEditBlur:g,handleDel:v,handleStartChange:f,handleCopy:k,handle10000:b}}};const Kt=(0,b.A)(Dt,[["render",xt],["__scopeId","data-v-48a6af94"]]);var Gt=Kt;const Ot=e=>((0,l.Qi)("data-v-5512121a"),e=e(),(0,l.jt)(),e),$t={class:"t-c head"},Qt=Ot((()=>(0,l.Lk)("span",null,"复制",-1))),qt={class:"t-c"},jt={class:"page-wrap"},Ht=Ot((()=>(0,l.Lk)("span",null,"的服务器代理穿透记录",-1))),Jt={class:"foot t-c"};function Yt(e,t,a,n,o,r){const s=(0,l.g2)("el-pagination"),u=(0,l.g2)("el-option"),d=(0,l.g2)("el-select"),i=(0,l.g2)("el-table-column"),c=(0,l.g2)("el-checkbox"),h=(0,l.g2)("el-table"),m=(0,l.g2)("el-button"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:"复制服务器代理穿透",top:"1vh",width:"500"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",$t,[Qt,(0,l.bF)(d,{modelValue:n.state.machineId,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.machineId=e),onChange:n.handleMachineChange,filterable:"",remote:"",loading:n.state.loading,"remote-method":n.handleSearch},{header:(0,l.k6)((()=>[(0,l.Lk)("div",qt,[(0,l.Lk)("div",jt,[(0,l.bF)(s,{small:"",background:"",layout:"prev, pager, next","page-size":n.state.machineIds.Request.Size,total:n.state.machineIds.Count,"pager-count":5,"current-page":n.state.machineIds.Request.Page,onCurrentChange:n.handlePageChange},null,8,["page-size","total","current-page","onCurrentChange"])])])])),default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.machineIds.List,((e,t)=>((0,l.uX)(),(0,l.Wv)(u,{key:t,label:e.MachineName,value:e.MachineId},null,8,["label","value"])))),128))])),_:1},8,["modelValue","onChange","loading","remote-method"]),Ht]),(0,l.bF)(h,{data:n.state.forwards,size:"small",border:""},{default:(0,l.k6)((()=>[(0,l.bF)(i,{property:"Name",label:"名称"}),(0,l.bF)(i,{property:"Domain",label:"域名/端口"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,T.v_)(e.row.Domain||e.row.RemotePort),1)])),_:1}),(0,l.bF)(i,{property:"LocalEP",label:"本机服务",width:"140"}),(0,l.bF)(i,{label:"操作",width:"80"},{default:(0,l.k6)((e=>[(0,l.bF)(c,{modelValue:e.row.use,"onUpdate:modelValue":t=>e.row.use=t},{default:(0,l.k6)((()=>[(0,l.eW)("使用")])),_:2},1032,["modelValue","onUpdate:modelValue"])])),_:1})])),_:1},8,["data"]),(0,l.Lk)("div",Jt,[(0,l.bF)(m,{type:"primary",onClick:n.handleConfirm},{default:(0,l.k6)((()=>[(0,l.eW)("确定复制")])),_:1},8,["onClick"])])])])),_:1},8,["modelValue","onOpen"])}var Zt={props:["modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:v.DtC},setup(e,{emit:t}){(0,u.B)();const a=(0,d.Kh)({show:!0,loading:!1,machineId:"",machineIds:{Request:{Page:1,Size:10,Name:""},Count:0,List:[]},forwards:[]});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const n=()=>{o()},o=()=>{a.loading=!0,(0,p.BS)(a.machineIds.Request).then((e=>{a.loading=!1,a.machineIds.Request=e.Request,a.machineIds.Count=e.Count,a.machineIds.List=e.List,!a.machineId&&a.machineIds.List.length>0&&(a.machineId=a.machineIds.List[0].MachineId,i())})).catch((e=>{a.loading=!1}))},r=e=>{a.machineIds.Request.Page=e,o()},s=e=>{a.machineIds.Request.Name=e,o()},i=()=>{(0,pt.$U)(a.machineId).then((e=>{e.forEach((e=>{e.use=!0})),a.forwards=e})).catch((e=>{console.log(e)}))},c=()=>{i()},h=()=>{const e=a.forwards.filter((e=>e.use)).map((e=>(0,pt.Qs)({Name:e.Name,Domain:e.Domain,RemotePort:e.RemotePort,LocalEP:e.LocalEP})));Promise.all(e).then((()=>{D.nk.success("已操作!"),a.show=!1})).catch((()=>{D.nk.success("操作失败!")}))};return(0,l.sV)((()=>{o()})),(0,l.hi)((()=>{})),{state:a,handleSearch:s,handleOnShowList:n,handleMachineChange:c,handleConfirm:h,handlePageChange:r}}};const ea=(0,b.A)(Zt,[["render",Yt],["__scopeId","data-v-5512121a"]]);var ta=ea;function aa(e,t,a,n,o,r){const s=(0,l.g2)("el-table-column"),u=(0,l.g2)("Delete"),d=(0,l.g2)("el-icon"),i=(0,l.g2)("el-button"),c=(0,l.g2)("el-popconfirm"),h=(0,l.g2)("el-table"),m=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(m,{modelValue:n.state.show,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.show=e),"append-to":".app-wrap",title:`与[${n.state.machineName}]的链接`,top:"1vh",width:"700"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(h,{data:n.state.data,size:"small",border:"",height:"500"},{default:(0,l.k6)((()=>[(0,l.bF)(s,{property:"RemoteMachineId",label:"目标"},{default:(0,l.k6)((e=>[(0,l.Lk)("div",{class:(0,T.C4)({green:e.row.Connected})},[(0,l.Lk)("p",null,(0,T.v_)(e.row.IPEndPoint),1),(0,l.Lk)("p",null,"ssl : "+(0,T.v_)(e.row.SSL),1)],2)])),_:1}),(0,l.bF)(s,{property:"TransactionId",label:"事务",width:"80"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,T.v_)(n.state.transactions[e.row.TransactionId]),1)])),_:1}),(0,l.bF)(s,{property:"TransportName",label:"协议"},{default:(0,l.k6)((e=>[(0,l.Lk)("div",null,[(0,l.Lk)("p",null,(0,T.v_)(e.row.TransportName)+"("+(0,T.v_)(n.state.protocolTypes[e.row.ProtocolType])+")",1),(0,l.Lk)("p",null,(0,T.v_)(n.state.types[e.row.Type])+" - "+(0,T.v_)(1<[(0,l.Lk)("span",null,(0,T.v_)(e.row.Delay)+"ms",1)])),_:1}),(0,l.bF)(s,{property:"Bytes",label:"通信"},{default:(0,l.k6)((e=>[(0,l.Lk)("div",null,[(0,l.Lk)("p",null,"up : "+(0,T.v_)(e.row.SendBytesText),1),(0,l.Lk)("p",null,"down : "+(0,T.v_)(e.row.ReceiveBytesText),1)])])),_:1}),(0,l.bF)(s,{label:"操作",width:"54"},{default:(0,l.k6)((e=>[n.hasTunnelRemove?((0,l.uX)(),(0,l.Wv)(c,{key:0,"confirm-button-text":"确认","cancel-button-text":"取消",title:"确定关闭此连接?",onConfirm:t=>n.handleDel(e.row)},{reference:(0,l.k6)((()=>[(0,l.bF)(i,{type:"danger",size:"small"},{default:(0,l.k6)((()=>[(0,l.bF)(d,null,{default:(0,l.k6)((()=>[(0,l.bF)(u)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])):(0,l.Q3)("",!0)])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue","title"])}var la={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:v.epd},setup(e,{emit:t}){const a=(0,u.B)(),n=(0,l.EW)((()=>a.value.hasAccess("TunnelRemove"))),o=De(),r=Ke(),s=Ge(),i=(0,d.Kh)({show:!0,protocolTypes:{1:"tcp",2:"udp",4:"msquic"},types:{0:"打洞",1:"中继"},transactions:{forward:"端口转发",tuntap:"虚拟网卡"},machineName:o.value.currentName,data:(0,l.EW)((()=>[r.value.list[o.value.current],s.value.list[o.value.current]].filter((e=>!!e))))});(0,l.wB)((()=>i.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e),t("change")}),300)}));const c=e=>{n.value&&e.removeFunc(e.RemoteMachineId).then((()=>{D.nk.success("删除成功")})).catch((()=>{}))};return(0,l.sV)((()=>{o.value.updateRealTime(!0)})),(0,l.hi)((()=>{o.value.updateRealTime(!1)})),{state:i,handleDel:c,hasTunnelRemove:n}}};const na=(0,b.A)(la,[["render",aa],["__scopeId","data-v-337b0bab"]]);var oa=na,ra=a(7985),sa=a(9383),ua={components:{Oper:C,Device:N,DeviceEdit:O,AccessEdit:J,Tunnel:Qe,TunnelEdit:tt,ConnectionsEdit:oa,Tuntap:ne,TuntapEdit:be,Forward:bt,ForwardEdit:Et,ForwardCopy:zt,SForwardEdit:Gt,SForwardCopy:ta},setup(e){const t=(0,u.B)(),a=(0,d.Kh)({height:(0,l.EW)((()=>t.value.height-90))}),{devices:n,machineId:o,_getSignList:r,_getSignList1:s,handleDeviceEdit:i,handleAccessEdit:c,handlePageChange:h,handlePageSizeChange:m,handleDel:p,clearDevicesTimeout:g,setSort:v}=(0,ra.r)(),{tuntap:f,_getTuntapInfo:k,handleTuntapEdit:b,handleTuntapRefresh:F,clearTuntapTimeout:C,getTuntapMachines:T,sortTuntapIP:L}=(0,ee.O)(),{tunnel:V,_getTunnelInfo:_,handleTunnelEdit:E,handleTunnelRefresh:y,clearTunnelTimeout:I,sortTunnel:S}=Ee(),{forward:P,_getForwardInfo:M,handleForwardEdit:R,_testTargetForwardInfo:W,clearForwardTimeout:A,getForwardMachines:B}=ht(),{sforward:z,_getSForwardInfo:N,handleSForwardEdit:U,_testLocalSForwardInfo:X,clearSForwardTimeout:x,getSForwardMachines:K}=vt(),{connections:G,forwardConnections:O,_getForwardConnections:$,tuntapConnections:Q,_getTuntapConnections:q,handleTunnelConnections:j,clearConnectionsTimeout:H}=xe(),{_getUpdater:J,_subscribeUpdater:Y,clearUpdaterTimeout:Z}=(0,sa.d)(),{_getAccessInfo:te,clearAccessTimeout:ae}=(0,w.Y)(),le=e=>{n.page.Request.Prop=e.prop,n.page.Request.Asc="ascending"==e.order;let t=new Promise(((e,t)=>{e()}));if("tunnel"==e.prop){const e=S(n.page.Request.Asc);e.length>0&&(t=v(e))}else if("tuntap"==e.prop){const e=L(n.page.Request.Asc);e.length>0&&(t=v(e))}t.then((()=>{h()})).catch((()=>{}))},ne=e=>{R(e,n.page.List.filter((t=>t.MachineId==e))[0].MachineName)},oe=e=>{n.page.Request.Name=e||"",n.page.Request.Name?n.page.Request.Ids=T(n.page.Request.Name).concat(B(n.page.Request.Name)).concat(K(n.page.Request.Name)).reduce(((e,t)=>(-1==e.indexOf(t)&&e.push(t),e)),[]):n.page.Request.Ids=[],h(),y(),F(),D.nk.success({message:"刷新成功",grouping:!0})},re=()=>{h(),y(),F(),D.nk.success({message:"刷新成功",grouping:!0})};return(0,l.sV)((()=>{h(),y(),F(),r(),s(),k(),_(),$(),q(),M(),N(),J(),Y(),te(),W(),X()})),(0,l.hi)((()=>{g(),H(),C(),I(),A(),x(),Z(),ae()})),{state:a,devices:n,machineId:o,handleSortChange:le,handleDeviceEdit:i,handleAccessEdit:c,handlePageRefresh:oe,handlePageSearch:re,handlePageChange:h,handlePageSizeChange:m,handleDel:p,tuntap:f,handleTuntapEdit:b,handleTuntapRefresh:F,tunnel:V,connections:G,handleTunnelEdit:E,handleTunnelRefresh:y,handleTunnelConnections:j,forward:P,_handleForwardEdit:ne,sforward:z,handleSForwardEdit:U}}};const da=(0,b.A)(ua,[["render",s],["__scopeId","data-v-137c2b43"]]);var ia=da},2126:function(e,t,a){a.d(t,{A:function(){return b}});var l=a(6768),n=a(4232);const o=["title"],r={key:0,class:"progress"},s={key:1,class:"progress"};function u(e,t,a,u,d,i){const c=(0,l.g2)("Loading"),h=(0,l.g2)("el-icon"),m=(0,l.g2)("Download"),p=(0,l.g2)("CircleCheck");return(0,l.uX)(),(0,l.CE)("a",{href:"javascript:;",class:(0,n.C4)(["download",u.updaterColor]),onClick:t[0]||(t[0]=e=>u.handleUpdate()),title:u.updaterText},[(0,l.Lk)("span",null,[(0,l.Lk)("span",null,(0,n.v_)(u.item.Version),1),u.updater.list[u.item.MachineId]?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[1==u.updater.list[u.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:0,size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1})):2==u.updater.list[u.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1})):3==u.updater.list[u.item.MachineId].Status||5==u.updater.list[u.item.MachineId].Status?((0,l.uX)(),(0,l.CE)(l.FK,{key:2},[(0,l.bF)(h,{size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1}),0==u.updater.list[u.item.MachineId].Length?((0,l.uX)(),(0,l.CE)("span",r,"0%")):((0,l.uX)(),(0,l.CE)("span",s,(0,n.v_)(parseInt(u.updater.list[u.item.MachineId].Current/u.updater.list[u.item.MachineId].Length*100))+"%",1))],64)):6==u.updater.list[u.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:3,size:"14",class:"yellow"},{default:(0,l.k6)((()=>[(0,l.bF)(p)])),_:1})):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.Wv)(h,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1}))])],10,o)}a(4114);var d=a(3830),i=a(144),c=a(1219),h=a(2933),m=a(2248),p=a(920),g=a(7477),v=a(9383),f={props:["item","config"],components:{Download:g.f5X,Loading:g.Rhj,CircleCheck:g.rW7},setup(e){const t=(0,d.B)(),a=(0,l.EW)((()=>t.value.hasAccess("UpdateSelf"))),n=(0,l.EW)((()=>t.value.hasAccess("UpdateOther"))),o=(0,v.T)(),r=(0,l.EW)((()=>t.value.signin.Version)),s=(0,l.EW)((()=>o.value.current.Version)),u=(0,l.EW)((()=>`${s.value}->${o.value.current.DateTime}\n${o.value.current.Msg.map(((e,t)=>`${t+1}、${e}`)).join("\n")}`)),g=(0,l.EW)((()=>o.value.list[e.item.MachineId]?o.value.list[e.item.MachineId].Status<=2?e.item.Version!=r.value?`与服务器版本(${r.value})不一致,建议更新`:s.value!=e.item.Version?`不是最新版本(${s.value}),建议更新\n${u.value}`:`是最新版本,但我无法阻止你喜欢更新\n${u.value}`:{3:"正在下载",4:"已下载",5:"正在解压",6:"已解压,请重启"}[o.value.list[e.item.MachineId].Status]:"未检测到更新")),f=(0,l.EW)((()=>e.item.Version!=r.value?"red":o.value.list[e.item.MachineId]&&s.value!=e.item.Version?"yellow":"green")),w=()=>{if(!e.config)return;if(!a.value)return;const t=o.value.list[e.item.MachineId];if(t)if([0,1,3,5].indexOf(t.Status)>=0)c.nk.error("操作中,请稍后!");else if(6!=t.Status){if(2==t.Status){const t=(0,i.KR)(s.value),a=[(0,l.h)(m.P9,{label:`仅[${e.item.MachineName}] -> ${s.value}(最新版本)`,value:s.value})];e.config&&n.value&&a.push((0,l.h)(m.P9,{label:`[所有] -> ${s.value}(最新版本)`,value:`all->${s.value}`})),e.item.Version!=r.value&&s.value!=r.value&&(a.push((0,l.h)(m.P9,{label:`仅[${e.item.MachineName}] -> ${r.value}(服务器版本)`,value:r.value})),e.config&&n.value&&a.push((0,l.h)(m.P9,{label:`[所有] -> ${r.value}(服务器版本)`,value:`all->${r.value}`}))),(0,h.s)({title:"选择版本",message:()=>(0,l.h)(m.AV,{modelValue:t.value,placeholder:"请选择",style:"width:20rem;","onUpdate:modelValue":e=>{t.value=e}},a),confirmButtonText:"确定",cancelButtonText:"取消"}).then((()=>{const a={MachineId:e.item.MachineId,Version:t.value.replace("all->",""),All:t.value.indexOf("all->")>=0};a.All&&(a.MachineId=""),(0,p.lJ)(a)})).catch((()=>{}))}}else h.s.confirm("确定关闭程序吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{exit(e.item.MachineId)})).catch((()=>{}));else c.nk.error("未检测到更新")};return{item:(0,l.EW)((()=>e.item)),updater:o,updaterText:g,updaterColor:f,handleUpdate:w}}},w=a(1241);const k=(0,w.A)(f,[["render",u],["__scopeId","data-v-56d38c60"]]);var b=k}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/157.7ba21a9a.js b/linker.tray.win/web/js/157.7ba21a9a.js deleted file mode 100644 index c7327034..00000000 --- a/linker.tray.win/web/js/157.7ba21a9a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[157],{920:function(e,t,a){a.d(t,{BJ:function(){return d},NS:function(){return o},UB:function(){return g},Vk:function(){return u},aP:function(){return p},ir:function(){return r},lJ:function(){return s},mK:function(){return n},y2:function(){return c},yN:function(){return i}});var l=a(4);const n=(e="0")=>(0,l.zG)("updaterclient/get",e),s=e=>(0,l.zG)("updaterclient/confirm",e),o=e=>(0,l.zG)("updaterclient/exit",e),i=()=>(0,l.zG)("updaterclient/GetSecretKey"),r=e=>(0,l.zG)("updaterclient/SetSecretKey",e),u=()=>(0,l.zG)("updaterclient/getcurrent"),d=()=>(0,l.zG)("updaterclient/getserver"),c=e=>(0,l.zG)("updaterclient/confirmserver",e),p=()=>(0,l.zG)("updaterclient/exitserver"),g=()=>(0,l.zG)("updaterclient/Subscribe")},5962:function(e,t,a){a.d(t,{Y:function(){return i},q:function(){return r}});var l=a(8835),n=a(144),s=a(6768);const o=Symbol(),i=()=>{const e=(0,n.KR)({list:{},timer:0,hashcode:0});(0,s.Gt)(o,e);const t=()=>{(0,l.QI)(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(t,1e3)})).catch((()=>{e.value.timer=setTimeout(t,1e3)}))},a=()=>{clearTimeout(e.value.timer)};return{access:e,_getAccessInfo:t,clearAccessTimeout:a}},r=()=>(0,s.WQ)(o)},9383:function(e,t,a){a.d(t,{T:function(){return u},d:function(){return r}});var l=a(920),n=a(3830),s=a(144),o=a(6768);const i=Symbol(),r=()=>{const e=(0,n.B)(),t=(0,s.KR)({timer:0,list:{},hashcode:0,current:{Version:"",Msg:[],DateTime:"",Status:0,Length:0,Current:0},subscribeTimer:0});(0,o.Gt)(i,t);const a=()=>{(0,l.mK)(t.value.hashcode.toString()).then((l=>{if(t.value.hashcode=l.HashCode,l.List){const a=Object.values(l.List).filter((e=>!!e.Version))[0];a&&(Object.assign(t.value.current,{DateTime:a.DateTime,Version:a.Version,Status:a.Status,Length:a.Length,Current:a.Current,Msg:a.Msg}),e.value.updater=t.value.current),t.value.list=l.List}t.value.timer=setTimeout(a,800)})).catch((()=>{t.value.timer=setTimeout(a,800)}))},r=()=>{(0,l.UB)().then((()=>{t.value.subscribeTimer=setTimeout(r,5e3)})).catch((()=>{t.value.subscribeTimer=setTimeout(r,5e3)}))},u=()=>{clearTimeout(t.value.timer),clearTimeout(t.value.subscribeTimer)};return{updater:t,_getUpdater:a,_subscribeUpdater:r,clearUpdaterTimeout:u}},u=()=>(0,o.WQ)(i)},5096:function(e,t,a){a.d(t,{A:function(){return p}});var l=a(6768);const n=e=>((0,l.Qi)("data-v-4892cd3c"),e=e(),(0,l.jt)(),e),s=n((()=>(0,l.Lk)("input",{type:"file",id:"file-input"},null,-1)));function o(e,t,a,n,o,i){const r=(0,l.g2)("PictureRounded"),u=(0,l.g2)("el-icon");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("a",{href:"javascript:;",onClick:t[0]||(t[0]=(...e)=>n.handleBg&&n.handleBg(...e))},[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1})]),s],64)}var i=a(7477),r=a(2933),u={components:{PictureRounded:i.syp},props:["name"],setup(e){const t=`bg-${e.name}`,a=()=>{localStorage.getItem(t)?r.s.confirm("清除背景?","Warning",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{s()})).catch((()=>{})):document.getElementById("file-input").click()},n=e=>{const t=e.target.files[0];if(t)try{const e=new FileReader;e.onload=function(e){s(e.target.result)},e.readAsDataURL(t)}catch(a){}e.target.value=""},s=e=>{e?(document.body.className="sunny",localStorage.setItem(t,e),document.body.style=`background-image:url(${e})`):(document.body.className="",document.body.style="",localStorage.setItem(t,""))};return(0,l.sV)((()=>{document.getElementById("file-input").addEventListener("change",n),s(localStorage.getItem(t))})),{handleBg:a}}},d=a(1241);const c=(0,d.A)(u,[["render",o],["__scopeId","data-v-4892cd3c"]]);var p=c},6611:function(e,t,a){a.d(t,{A:function(){return c}});var l=a(6768);function n(e,t,a,n,s,o){const i=(0,l.g2)("el-checkbox"),r=(0,l.g2)("el-col"),u=(0,l.g2)("el-row"),d=(0,l.g2)("el-checkbox-group");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[(0,l.bF)(r,{span:8},{default:(0,l.k6)((()=>[(0,l.bF)(i,{modelValue:n.state.checkAll,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.checkAll=e),onChange:n.handleCheckAllChange,label:"全选",indeterminate:n.state.isIndeterminate},null,8,["modelValue","onChange","indeterminate"])])),_:1})])),_:1}),(0,l.bF)(d,{modelValue:n.state.checkList,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.checkList=e),onChange:n.handleCheckedChange},{default:(0,l.k6)((()=>[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.access,((e,t)=>((0,l.uX)(),(0,l.Wv)(r,{key:t,span:8},{default:(0,l.k6)((()=>[(0,l.bF)(i,{value:e.Value,label:e.Text},null,8,["value","label"])])),_:2},1024)))),128))])),_:1})])),_:1},8,["modelValue","onChange"])],64)}a(4114);var s=a(144),o=a(3830),i=a(5962),r={props:["machineid"],setup(e){const t=(0,o.B)(),a=(0,i.q)(),n=(0,l.EW)((()=>{const e=t.value.config.Client.Accesss;return Object.keys(e).reduce(((a,l,n)=>{if(t.value.hasAccess(l)){const t=e[l];t.Key=l,a.push(t)}return a}),[])})),r=(0,s.Kh)({checkList:[t.value.config.Client.Accesss.Api.Value,t.value.config.Client.Accesss.Web.Value,t.value.config.Client.Accesss.NetManager.Value,t.value.config.Client.Accesss.FullManager.Value,t.value.config.Client.Accesss.Transport.Value,t.value.config.Client.Accesss.Action.Value],checkAll:!1,isIndeterminate:!1}),u=()=>r.checkList.reduce(((e,t)=>(e|t)>>>0),0),d=e=>{const t=e.length;r.checkAll=t===n.value.length,r.isIndeterminate=t>0&&t{r.checkAll=e,r.checkList=e?n.value.map((e=>e.Value)):[],r.isIndeterminate=!1};return(0,l.sV)((()=>{if(a&&a.value.list[e.machineid]){const t=a.value.list[e.machineid];r.checkList=n.value.reduce(((e,a)=>((t&a.Value)>>>0==a.Value&&e.push(a.Value),e)),[])}d(r.checkList)})),{state:r,access:n,getValue:u,handleCheckAllChange:c,handleCheckedChange:d}}},u=a(1241);const d=(0,u.A)(r,[["render",n],["__scopeId","data-v-bdd023b0"]]);var c=d},2126:function(e,t,a){a.d(t,{A:function(){return y}});var l=a(6768),n=a(4232);const s=["title"],o={key:0,class:"progress"},i={key:1,class:"progress"};function r(e,t,a,r,u,d){const c=(0,l.g2)("Loading"),p=(0,l.g2)("el-icon"),g=(0,l.g2)("Download"),v=(0,l.g2)("CircleCheck");return(0,l.uX)(),(0,l.CE)("a",{href:"javascript:;",class:(0,n.C4)(["download",r.updaterColor]),onClick:t[0]||(t[0]=e=>r.handleUpdate()),title:r.updaterText},[(0,l.Lk)("span",null,[(0,l.Lk)("span",null,(0,n.v_)(r.item.Version),1),r.updater.list[r.item.MachineId]?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[1==r.updater.list[r.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(p,{key:0,size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1})):2==r.updater.list[r.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(p,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(g)])),_:1})):3==r.updater.list[r.item.MachineId].Status||5==r.updater.list[r.item.MachineId].Status?((0,l.uX)(),(0,l.CE)(l.FK,{key:2},[(0,l.bF)(p,{size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1}),0==r.updater.list[r.item.MachineId].Length?((0,l.uX)(),(0,l.CE)("span",o,"0%")):((0,l.uX)(),(0,l.CE)("span",i,(0,n.v_)(parseInt(r.updater.list[r.item.MachineId].Current/r.updater.list[r.item.MachineId].Length*100))+"%",1))],64)):6==r.updater.list[r.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(p,{key:3,size:"14",class:"yellow"},{default:(0,l.k6)((()=>[(0,l.bF)(v)])),_:1})):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.Wv)(p,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(g)])),_:1}))])],10,s)}a(4114);var u=a(3830),d=a(144),c=a(1219),p=a(2933),g=a(2248),v=a(920),h=a(7477),m=a(9383),f={props:["item","config"],components:{Download:h.f5X,Loading:h.Rhj,CircleCheck:h.rW7},setup(e){const t=(0,u.B)(),a=(0,l.EW)((()=>t.value.hasAccess("UpdateSelf"))),n=(0,l.EW)((()=>t.value.hasAccess("UpdateOther"))),s=(0,m.T)(),o=(0,l.EW)((()=>t.value.signin.Version)),i=(0,l.EW)((()=>s.value.current.Version)),r=(0,l.EW)((()=>`${i.value}->${s.value.current.DateTime}\n${s.value.current.Msg.map(((e,t)=>`${t+1}、${e}`)).join("\n")}`)),h=(0,l.EW)((()=>s.value.list[e.item.MachineId]?s.value.list[e.item.MachineId].Status<=2?e.item.Version!=o.value?`与服务器版本(${o.value})不一致,建议更新`:i.value!=e.item.Version?`不是最新版本(${i.value}),建议更新\n${r.value}`:`是最新版本,但我无法阻止你喜欢更新\n${r.value}`:{3:"正在下载",4:"已下载",5:"正在解压",6:"已解压,请重启"}[s.value.list[e.item.MachineId].Status]:"未检测到更新")),f=(0,l.EW)((()=>e.item.Version!=o.value?"red":s.value.list[e.item.MachineId]&&i.value!=e.item.Version?"yellow":"green")),k=()=>{if(!e.config)return;if(!a.value)return;const t=s.value.list[e.item.MachineId];if(t)if([0,1,3,5].indexOf(t.Status)>=0)c.nk.error("操作中,请稍后!");else if(6!=t.Status){if(2==t.Status){const t=(0,d.KR)(i.value),a=[(0,l.h)(g.P9,{label:`仅[${e.item.MachineName}] -> ${i.value}(最新版本)`,value:i.value})];e.config&&n.value&&a.push((0,l.h)(g.P9,{label:`[所有] -> ${i.value}(最新版本)`,value:`all->${i.value}`})),e.item.Version!=o.value&&i.value!=o.value&&(a.push((0,l.h)(g.P9,{label:`仅[${e.item.MachineName}] -> ${o.value}(服务器版本)`,value:o.value})),e.config&&n.value&&a.push((0,l.h)(g.P9,{label:`[所有] -> ${o.value}(服务器版本)`,value:`all->${o.value}`}))),(0,p.s)({title:"选择版本",message:()=>(0,l.h)(g.AV,{modelValue:t.value,placeholder:"请选择",style:"width:20rem;","onUpdate:modelValue":e=>{t.value=e}},a),confirmButtonText:"确定",cancelButtonText:"取消"}).then((()=>{const a={MachineId:e.item.MachineId,Version:t.value.replace("all->",""),All:t.value.indexOf("all->")>=0};a.All&&(a.MachineId=""),(0,v.lJ)(a)})).catch((()=>{}))}}else p.s.confirm("确定关闭程序吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{exit(e.item.MachineId)})).catch((()=>{}));else c.nk.error("未检测到更新")};return{item:(0,l.EW)((()=>e.item)),updater:s,updaterText:h,updaterColor:f,handleUpdate:k}}},k=a(1241);const b=(0,k.A)(f,[["render",r],["__scopeId","data-v-56d38c60"]]);var y=b},5234:function(e,t,a){a.d(t,{A:function(){return Oe}});var l=a(6768),n=a(4232),s=a.p+"img/memory.a28433e5.svg",o=a.p+"img/wechat.5c371c5d.jpg",i=a.p+"img/alipay.ff9b1e7c.jpg";const r=e=>((0,l.Qi)("data-v-39d602b6"),e=e(),(0,l.jt)(),e),u={class:"status-wrap flex"},d={class:"copy"},c=r((()=>(0,l.Lk)("img",{src:s,alt:"memory"},null,-1))),p=r((()=>(0,l.Lk)("span",null,"赞助",-1))),g=[c,p],v={href:"https://github.com/snltty/linker",target:"_blank"},h=r((()=>(0,l.Lk)("div",{class:"flex-1"},null,-1))),m={class:"export"},f={class:"api"},k={class:"server"},b=r((()=>(0,l.Lk)("div",{class:"pay"},[(0,l.Lk)("img",{src:o,alt:""}),(0,l.Lk)("img",{src:i,alt:""})],-1)));function y(e,t,a,s,o,i){const r=(0,l.g2)("Export"),c=(0,l.g2)("Api"),p=(0,l.g2)("Server"),y=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.CE)("div",u,[(0,l.Lk)("div",d,[(0,l.Lk)("a",{href:"javascript:;",class:"memory",title:"赞助一笔,让作者饱餐一顿",onClick:t[0]||(t[0]=e=>s.state.showPay=!0)},g),(0,l.Lk)("a",v,"©linker "+(0,n.v_)(s.self.Version),1)]),h,(0,l.Lk)("div",m,[(0,l.bF)(r,{config:s.config},null,8,["config"])]),(0,l.Lk)("div",f,[(0,l.bF)(c,{config:s.config},null,8,["config"])]),(0,l.Lk)("div",k,[(0,l.bF)(p,{config:s.config},null,8,["config"])]),(0,l.bF)(y,{modelValue:s.state.showPay,"onUpdate:modelValue":t[1]||(t[1]=e=>s.state.showPay=e),title:"赞助linker",width:"300",top:"1vh"},{default:(0,l.k6)((()=>[b])),_:1},8,["modelValue"])])}var w=a(144);const S={href:"javascript:;",title:"此设备的管理接口"};function C(e,t,a,s,o,i){const r=(0,l.g2)("Tools"),u=(0,l.g2)("el-icon"),d=(0,l.g2)("el-popconfirm");return s.config?((0,l.uX)(),(0,l.CE)("div",{key:0,class:(0,n.C4)(["status-api-wrap",{connected:s.connected}])},[(0,l.bF)(d,{"confirm-button-text":"清除","cancel-button-text":"更改",title:"确定你的操作?",onCancel:s.handleShow,onConfirm:s.handleResetConnect},{reference:(0,l.k6)((()=>[(0,l.Lk)("a",S,[(0,l.bF)(u,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1}),(0,l.eW)(" 管理接口 ")])])),_:1},8,["onCancel","onConfirm"])],2)):(0,l.Q3)("",!0)}var B=a(3830),F=a(4),V=a(7477),_={components:{Tools:V.S0q},props:["config"],setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.api.connected)),n=()=>{localStorage.setItem("api-cache",""),window.location.reload()},s=()=>{(0,F.e3)(),(0,F.a1)(`ws://${window.location.hostname}:12345`,"snltty")};return{config:e.config,connected:a,handleShow:s,handleResetConnect:n}}},T=a(1241);const x=(0,T.A)(_,[["render",C],["__scopeId","data-v-4470fcde"]]);var L=x;const I={class:"status-server-wrap"};function R(e,t,a,n,s,o){const i=(0,l.g2)("ServerConfig"),r=(0,l.g2)("ServerVersion"),u=(0,l.g2)("ServerFlow");return(0,l.uX)(),(0,l.CE)("div",I,[(0,l.bF)(i,{config:n.config},null,8,["config"]),(0,l.bF)(r,{config:n.config},null,8,["config"]),n.config?((0,l.uX)(),(0,l.Wv)(u,{key:0,config:n.config},null,8,["config"])):(0,l.Q3)("",!0)])}const A=e=>((0,l.Qi)("data-v-72d1fe1e"),e=e(),(0,l.jt)(),e),E=A((()=>(0,l.Lk)("span",null,"信标服务器",-1))),W={class:"dialog-footer t-c"};function z(e,t,a,s,o,i){const r=(0,l.g2)("Promotion"),u=(0,l.g2)("el-icon"),d=(0,l.g2)("el-input"),c=(0,l.g2)("el-form-item"),p=(0,l.g2)("el-form"),g=(0,l.g2)("el-button"),v=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("a",{href:"javascript:;",class:(0,n.C4)({connected:s.state.connected}),title:"更改你的连接设置",onClick:t[0]||(t[0]=(...e)=>s.handleConfig&&s.handleConfig(...e))},[(0,l.bF)(u,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1}),(0,l.eW)(),E],2),(0,l.bF)(v,{modelValue:s.state.show,"onUpdate:modelValue":t[4]||(t[4]=e=>s.state.show=e),title:"连接设置",width:"300","append-to-body":""},{footer:(0,l.k6)((()=>[(0,l.Lk)("div",W,[(0,l.bF)(g,{onClick:t[3]||(t[3]=e=>s.state.show=!1),loading:s.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1},8,["loading"]),(0,l.bF)(g,{type:"primary",onClick:s.handleSave,loading:s.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("确定保存")])),_:1},8,["onClick","loading"])])])),default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(p,{model:s.state.form,rules:s.state.rules,"label-width":"6rem"},{default:(0,l.k6)((()=>[(0,l.bF)(c,{label:"机器名",prop:"name"},{default:(0,l.k6)((()=>[(0,l.bF)(d,{modelValue:s.state.form.name,"onUpdate:modelValue":t[1]||(t[1]=e=>s.state.form.name=e),maxlength:"12","show-word-limit":""},null,8,["modelValue"])])),_:1}),(0,l.bF)(c,{label:"分组名",prop:"groupid"},{default:(0,l.k6)((()=>[(0,l.bF)(d,{modelValue:s.state.form.groupid,"onUpdate:modelValue":t[2]||(t[2]=e=>s.state.form.groupid=e),type:"password","show-password":"",maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue"])],64)}var P=a(9299),K=a(1219),D={components:{Promotion:V.Yk4},props:["config"],setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.hasAccess("Config"))),n=(0,w.Kh)({show:!1,loading:!1,connected:(0,l.EW)((()=>t.value.signin.Connected)),form:{name:t.value.config.Client.Name,groupid:t.value.config.Client.GroupId},rules:{}}),s=()=>{e.config&&a.value&&(n.form.name=t.value.config.Client.Name,n.form.groupid=t.value.config.Client.GroupId,n.show=!0)},o=()=>{n.loading=!0,(0,P.rd)(n.form).then((()=>{n.loading=!1,n.show=!1,K.nk.success("已操作")})).catch((e=>{n.loading=!1,K.nk.success("操作失败!")}))};return{config:e.config,state:n,handleConfig:s,handleSave:o}}};const $=(0,T.A)(D,[["render",z],["__scopeId","data-v-72d1fe1e"]]);var M=$;function X(e,t,a,s,o,i){const r=(0,l.g2)("el-table-column"),u=(0,l.g2)("el-button"),d=(0,l.g2)("el-table"),c=(0,l.g2)("el-dialog"),p=(0,l.g2)("ServerFlowMessenger"),g=(0,l.g2)("ServerFlowSForward"),v=(0,l.g2)("ServerFlowRelay");return(0,l.uX)(),(0,l.CE)(l.FK,null,[s.config?((0,l.uX)(),(0,l.CE)("a",{key:0,href:"javascript:;",title:"linker服务端网速,点击查看详细信息",onClick:t[0]||(t[0]=(...e)=>s.handleShow&&s.handleShow(...e))},[(0,l.Lk)("p",null,"上传 "+(0,n.v_)(s.state.overallSendtSpeed)+"/s",1),(0,l.Lk)("p",null,"下载 "+(0,n.v_)(s.state.overallReceiveSpeed)+"/s",1)])):(0,l.Q3)("",!0),(0,l.bF)(c,{title:s.state.time,"destroy-on-close":"",modelValue:s.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>s.state.show=e),width:"540"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(d,{data:s.state.list,border:"",size:"small",width:"100%"},{default:(0,l.k6)((()=>[(0,l.bF)(r,{prop:"text",label:"类别",width:"80"}),(0,l.bF)(r,{prop:"sendtBytes",label:"已上传",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.sendtBytesText),1)])),_:1}),(0,l.bF)(r,{prop:"sendtSpeed",label:"上传速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.sendtSpeedText)+"/s",1)])),_:1}),(0,l.bF)(r,{prop:"receiveBytes",label:"已下载",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.receiveBytesText),1)])),_:1}),(0,l.bF)(r,{prop:"receiveSpeed",label:"下载速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.receiveSpeedText)+"/s",1)])),_:1}),(0,l.bF)(r,{prop:"oper",label:"操作",width:"64"},{default:(0,l.k6)((e=>[e.row.detail?((0,l.uX)(),(0,l.Wv)(u,{key:0,size:"small",onClick:t=>s.handleShowDetail(e.row.id)},{default:(0,l.k6)((()=>[(0,l.eW)("详情")])),_:2},1032,["onClick"])):(0,l.Q3)("",!0)])),_:1})])),_:1},8,["data"])])])),_:1},8,["title","modelValue"]),s.state.details.Messenger?((0,l.uX)(),(0,l.Wv)(p,{key:1,config:s.config,modelValue:s.state.details.Messenger,"onUpdate:modelValue":t[2]||(t[2]=e=>s.state.details.Messenger=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0),s.state.details.SForward?((0,l.uX)(),(0,l.Wv)(g,{key:2,config:s.config,modelValue:s.state.details.SForward,"onUpdate:modelValue":t[3]||(t[3]=e=>s.state.details.SForward=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0),s.state.details.Relay?((0,l.uX)(),(0,l.Wv)(v,{key:3,config:s.config,modelValue:s.state.details.Relay,"onUpdate:modelValue":t[4]||(t[4]=e=>s.state.details.Relay=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0)],64)}a(4114);const U=()=>(0,F.zG)("flowClient/GetFlows"),G=()=>(0,F.zG)("flowClient/GetMessengerFlows"),O=e=>(0,F.zG)("flowClient/GetSForwardFlows",e),j=e=>(0,F.zG)("flowClient/GetRelayFlows",e);function Q(e,t,a,s,o,i){const r=(0,l.g2)("el-table-column"),u=(0,l.g2)("el-table"),d=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(d,{title:"信标流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:s.state.show,"onUpdate:modelValue":t[0]||(t[0]=e=>s.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(u,{data:s.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh"},{default:(0,l.k6)((()=>[(0,l.bF)(r,{prop:"id",label:"信标id",width:"200"}),(0,l.bF)(r,{prop:"sendtBytes",label:"已上传",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.sendtBytesText),1)])),_:1}),(0,l.bF)(r,{prop:"sendtSpeed",label:"上传速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.sendtSpeedText)+"/s",1)])),_:1}),(0,l.bF)(r,{prop:"receiveBytes",label:"已下载",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.receiveBytesText),1)])),_:1}),(0,l.bF)(r,{prop:"receiveSpeed",label:"下载速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.receiveSpeedText)+"/s",1)])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue"])}var N={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,w.Kh)({show:!0,timer:0,list:[],old:null});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const n={0:"登入信标",1:"客户端列表",2:"客户端删除",4:"客户端改名(转发)",7:"获取服务器版本",8:"客户端搜索ids",9:"客户端id列表",10:"客户端排序",11:"客户端在线",12:"生成客户端id",13:"登入信标V_1_3_1",2001:"外网端口(转发)",2002:"外网端口(转发)",2003:"开始打洞(转发)",2004:"开始打洞(转发)",2005:"打洞失败(转发)",2006:"打洞失败(转发)",2007:"打洞成功(转发)",2008:"打洞成功(转发)",2009:"隧道配置(转发)",2010:"隧道配置(转发)",2012:"隧道同步(转发)",2101:"中继通知(转发)",2102:"中继通知(转发)",2103:"中继请求",2105:"中继连通测试",2201:"运行网卡(转发)",2203:"停止网卡(转发)",2205:"更新网卡(转发)",2206:"同步网卡(转发)",2207:"同步网卡(转发)",2301:"添加内网穿透",2302:"移除内网穿透",2303:"通知内网穿透(转发)",2304:"通知内网穿透UDP(转发)",2305:"获取穿透列表(转发)",2401:"测试端口转发(转发)",2403:"获取端口转发(转发)",2503:"获取权限(转发)",2504:"获取权限(转发)",2506:"更新权限(转发)",2508:"同步密钥(转发)",2510:"同步服务器(转发)",2601:"更新信息(转发)",2602:"更新信息(转发)",2603:"确认更新(转发)",2604:"确认更新(转发)",2605:"重启(转发)",2607:"服务器更新信息",2608:"确认服务器更新",2609:"服务器重启",2610:"订阅更新信息(转发)",2611:"订阅更新信息(转发)",2701:"服务器流量",2702:"服务器信标流量",2703:"服务器中继流量",2704:"服务器内网穿透流量"},s=()=>{G().then((e=>{const t=a.old||e,l=[];for(let a in e){const s=e[a],i=t[a],r=`[${a}]${n[`${a}`]||"未知"}`;l.push({id:r,sendtBytes:s.SendtBytes,sendtBytesText:o(s.SendtBytes),sendtSpeed:s.SendtBytes-i.SendtBytes,sendtSpeedText:o(s.SendtBytes-i.SendtBytes),receiveBytes:s.ReceiveBytes,receiveBytesText:o(s.ReceiveBytes),receiveSpeed:s.ReceiveBytes-i.ReceiveBytes,receiveSpeedText:o(s.ReceiveBytes-i.ReceiveBytes)})}a.list=l.filter((e=>!!e.id)),a.old=e,a.timer=setTimeout(s,1e3)})).catch((e=>{a.timer=setTimeout(s,1e3)}))},o=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`};return(0,l.sV)((()=>{s()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a}}};const J=(0,T.A)(N,[["render",Q],["__scopeId","data-v-6238c500"]]);var Y=J;const q={class:"head"},H={class:"page t-c"},Z={class:"page-wrap"};function ee(e,t,a,s,o,i){const r=(0,l.g2)("el-input"),u=(0,l.g2)("el-table-column"),d=(0,l.g2)("el-table"),c=(0,l.g2)("el-pagination"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{title:"内网穿透流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:s.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>s.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",q,[(0,l.bF)(r,{modelValue:s.state.page.Key,"onUpdate:modelValue":t[0]||(t[0]=e=>s.state.page.Key=e),placeholder:"域名/端口搜索"},null,8,["modelValue"])]),(0,l.bF)(d,{data:s.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh",onSortChange:s.handleSort},{default:(0,l.k6)((()=>[(0,l.bF)(u,{prop:"Key",label:"域名/端口",width:"200"}),(0,l.bF)(u,{prop:"SendtBytes",label:"已上传",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.SendtBytesText),1)])),_:1}),(0,l.bF)(u,{prop:"DiffSendtBytes",label:"上传速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.DiffSendtBytesText)+"/s",1)])),_:1}),(0,l.bF)(u,{prop:"ReceiveBytes",label:"已下载",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.ReceiveBytesText),1)])),_:1}),(0,l.bF)(u,{prop:"DiffReceiveBytes",label:"下载速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.DiffReceiveBytesText)+"/s",1)])),_:1})])),_:1},8,["data","onSortChange"]),(0,l.Lk)("div",H,[(0,l.Lk)("div",Z,[(0,l.bF)(c,{small:"",background:"",layout:"total,prev,pager, next",total:s.state.page.Count,"page-size":s.state.page.PageSize,"current-page":s.state.page.Page,onCurrentChange:s.handlePageChange},null,8,["total","page-size","current-page","onCurrentChange"])])])])])),_:1},8,["modelValue"])}var te={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,w.Kh)({show:!0,timer:0,list:[],page:{Key:"",Page:1,PageSize:15,Count:0,Order:1,OrderType:0}});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const n=()=>{O({Key:a.page.Key,Page:a.page.Page,PageSize:a.page.PageSize,Order:a.page.Order,OrderType:a.page.OrderType}).then((e=>{try{a.page.Page=e.Page,a.page.PageSize=e.PageSize,a.page.Count=e.Count;const t=[];for(let a=0;a{a.timer=setTimeout(n,1e3)}))},s=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`},o=e=>{e&&(a.page.Page=e)},i=e=>{const t={ascending:1,descending:0}[e.order],l={SendtBytes:1,DiffSendtBytes:2,ReceiveBytes:3,DiffReceiveBytes:4}[e.prop];a.page.Order=l,a.page.OrderType=t};return(0,l.sV)((()=>{n()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a,handlePageChange:o,handleSort:i}}};const ae=(0,T.A)(te,[["render",ee],["__scopeId","data-v-3e577fa7"]]);var le=ae;const ne={class:"head"},se={class:"page t-c"},oe={class:"page-wrap"};function ie(e,t,a,s,o,i){const r=(0,l.g2)("el-input"),u=(0,l.g2)("el-table-column"),d=(0,l.g2)("el-table"),c=(0,l.g2)("el-pagination"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{title:"中继流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:s.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>s.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",ne,[(0,l.bF)(r,{modelValue:s.state.page.Key,"onUpdate:modelValue":t[0]||(t[0]=e=>s.state.page.Key=e),placeholder:"名字搜索"},null,8,["modelValue"])]),(0,l.bF)(d,{data:s.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh",onSortChange:s.handleSort},{default:(0,l.k6)((()=>[(0,l.bF)(u,{prop:"FromName",label:"发起端",width:"120"}),(0,l.bF)(u,{prop:"ToName",label:"目标端",width:"120"}),(0,l.bF)(u,{prop:"SendtBytes",label:"已上传",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.SendtBytesText),1)])),_:1}),(0,l.bF)(u,{prop:"DiffSendtBytes",label:"上传速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.DiffSendtBytesText)+"/s",1)])),_:1}),(0,l.bF)(u,{prop:"ReceiveBytes",label:"已下载",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.ReceiveBytesText),1)])),_:1}),(0,l.bF)(u,{prop:"DiffReceiveBytes",label:"下载速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.DiffReceiveBytesText)+"/s",1)])),_:1})])),_:1},8,["data","onSortChange"]),(0,l.Lk)("div",se,[(0,l.Lk)("div",oe,[(0,l.bF)(c,{small:"",background:"",layout:"total,prev,pager, next",total:s.state.page.Count,"page-size":s.state.page.PageSize,"current-page":s.state.page.Page,onCurrentChange:s.handlePageChange},null,8,["total","page-size","current-page","onCurrentChange"])])])])])),_:1},8,["modelValue"])}var re={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,w.Kh)({show:!0,timer:0,list:[],page:{Key:"",Page:1,PageSize:15,Count:0,Order:1,OrderType:0}});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const n=()=>{j({Key:a.page.Key,Page:a.page.Page,PageSize:a.page.PageSize,Order:a.page.Order,OrderType:a.page.OrderType}).then((e=>{try{a.page.Page=e.Page,a.page.PageSize=e.PageSize,a.page.Count=e.Count;const t=[];for(let a=0;a{a.timer=setTimeout(n,1e3)}))},s=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`},o=e=>{e&&(a.page.Page=e)},i=e=>{const t={ascending:1,descending:0}[e.order],l={SendtBytes:1,DiffSendtBytes:2,ReceiveBytes:3,DiffReceiveBytes:4}[e.prop];a.page.Order=l,a.page.OrderType=t};return(0,l.sV)((()=>{n()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a,handlePageChange:o,handleSort:i}}};const ue=(0,T.A)(re,[["render",ie],["__scopeId","data-v-7dbf3a4a"]]);var de=ue,ce={props:["config"],components:{ServerFlowMessenger:Y,ServerFlowSForward:le,ServerFlowRelay:de},setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.hasAccess("SForwardFlow"))),n=(0,l.EW)((()=>t.value.hasAccess("RelayFlow"))),s=(0,w.Kh)({show:!1,timer:0,overallSendtSpeed:"0000.00KB",overallReceiveSpeed:"0000.00KB",time:"",list:[],old:null,details:{Messenger:!1,SForward:!1,Relay:!1}}),o=()=>{s.show=!0},i=e=>{s.details[e]=!0},r={External:{text:"外网端口",detail:!1},Relay:{text:"中继",detail:n.value},Messenger:{text:"信标",detail:!0},SForward:{text:"内网穿透",detail:a.value}},u=()=>{U().then((e=>{const t=s.old||e;let a=0,l=0,n=0,o=0;for(let s in t.Items)a+=t.Items[s].ReceiveBytes,l+=t.Items[s].SendtBytes;for(let s in e.Items)n+=e.Items[s].ReceiveBytes,o+=e.Items[s].SendtBytes;s.overallSendtSpeed=d(o-l),s.overallReceiveSpeed=d(n-a),s.time=`从 ${e.Start}启动 至今`;const i=[];for(let s in e.Items){const a=e.Items[s],l=t.Items[s],n=r[`${s}`]||{text:"未知",detail:!1};i.push({id:s,text:n.text,detail:n.detail,sendtBytes:a.SendtBytes,sendtBytesText:d(a.SendtBytes),sendtSpeed:a.SendtBytes-l.SendtBytes,sendtSpeedText:d(a.SendtBytes-l.SendtBytes),receiveBytes:a.ReceiveBytes,receiveBytesText:d(a.ReceiveBytes),receiveSpeed:a.ReceiveBytes-l.ReceiveBytes,receiveSpeedText:d(a.ReceiveBytes-l.ReceiveBytes)})}s.list=i.filter((e=>!!e.id)),s.old=e,s.timer=setTimeout(u,1e3)})).catch((e=>{s.timer=setTimeout(u,1e3)}))},d=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`};return(0,l.sV)((()=>{u()})),(0,l.hi)((()=>{clearTimeout(s.timer)})),{hasSForwardFlow:a,config:e.config,state:s,handleShow:o,handleShowDetail:i}}};const pe=(0,T.A)(ce,[["render",X],["__scopeId","data-v-6ba77111"]]);var ge=pe;const ve=["title"],he={key:0,class:"progress"},me={key:1,class:"progress"};function fe(e,t,a,s,o,i){const r=(0,l.g2)("Loading"),u=(0,l.g2)("el-icon"),d=(0,l.g2)("Download"),c=(0,l.g2)("CircleCheck");return(0,l.uX)(),(0,l.CE)("a",{href:"javascript:;",title:"服务端的程序版本",onClick:t[0]||(t[0]=(...e)=>s.handleUpdate&&s.handleUpdate(...e)),class:(0,n.C4)(["download",s.updateColor()])},[(0,l.Lk)("span",null,(0,n.v_)(s.state.version),1),s.updaterCurrent.Version?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[1==s.updaterCurrent.Status?((0,l.uX)(),(0,l.Wv)(u,{key:0,size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1})):2==s.updaterServer.Status?((0,l.uX)(),(0,l.Wv)(u,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(d)])),_:1})):3==s.updaterServer.Status||5==s.updaterServer.Status?((0,l.uX)(),(0,l.CE)(l.FK,{key:2},[(0,l.bF)(u,{size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1}),0==s.updaterServer.Length?((0,l.uX)(),(0,l.CE)("span",he,"0%")):((0,l.uX)(),(0,l.CE)("span",me,(0,n.v_)(parseInt(s.updaterServer.Current/s.updaterServer.Length*100))+"%",1))],64)):6==s.updaterServer.Status?((0,l.uX)(),(0,l.Wv)(u,{key:3,size:"14",class:"yellow"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1})):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.Wv)(u,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(d)])),_:1}))],10,ve)}var ke=a(2933),be=a(920),ye={components:{Promotion:V.Yk4,Download:V.f5X,Loading:V.Rhj,CircleCheck:V.rW7,ServerFlow:ge},props:["config"],setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.hasAccess("UpdateServer"))),n=(0,w.KR)({Version:"",Msg:[],DateTime:"",Status:0,Length:0,Current:0}),s=(0,w.KR)({Version:"",Status:0,Length:0,Current:0}),o=(0,l.EW)((()=>`${n.value.Version}->${n.value.DateTime}\n${n.value.Msg.map(((e,t)=>`${t+1}、${e}`)).join("\n")}`)),i=(0,w.Kh)({show:!1,loading:!1,connected:(0,l.EW)((()=>t.value.signin.Connected)),version:(0,l.EW)((()=>t.value.signin.Version))}),r=()=>{(0,be.Vk)().then((e=>{n.value.DateTime=e.DateTime,n.value.Version=e.Version,n.value.Status=e.Status,n.value.Length=e.Length,n.value.Current=e.Current,n.value.Msg=e.Msg,setTimeout((()=>{r()}),1e3)})).catch((()=>{setTimeout((()=>{r()}),1e3)}))},u=()=>{(0,be.BJ)().then((e=>{s.value.Version=e.Version,s.value.Status=e.Status,s.value.Length=e.Length,s.value.Current=e.Current,s.value.Status>2&&s.value.Status<6&&setTimeout((()=>{u()}),1e3)})).catch((()=>{setTimeout((()=>{u()}),1e3)}))},d=()=>n.value.Version?s.value.Status<=2?i.version!=n.value.Version?`不是最新版本(${n.value.Version}),建议更新\n${o.value}`:`是最新版本,但我无法阻止你喜欢更新\n${o.value}`:{3:"正在下载",4:"已下载",5:"正在解压",6:"已解压,请重启"}[s.value.Status]:"未检测到更新",c=()=>i.version!=n.value.Version?"yellow":"green",p=()=>{e.config&&a.value&&(n.value.Version?[0,1,3,5].indexOf(s.value.Status)>=0?K.nk.error("操作中,请稍后!"):6!=s.value.Status?2==n.value.Status&&ke.s.confirm("确定更新服务端吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,be.y2)(n.value.Version).then((()=>{setTimeout((()=>{u()}),1e3)}))})).catch((()=>{})):ke.s.confirm("确定关闭服务端吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,be.aP)()})).catch((()=>{})):K.nk.error("未检测到更新"))};return(0,l.sV)((()=>{r(),u()})),{config:e.config,state:i,updaterCurrent:n,updaterServer:s,handleUpdate:p,updateText:d,updateColor:c}}};const we=(0,T.A)(ye,[["render",fe],["__scopeId","data-v-70063cba"]]);var Se=we,Ce={components:{ServerConfig:M,ServerFlow:ge,ServerVersion:Se},props:["config"],setup(e){const t=(0,w.Kh)({show:!1,loading:!1});return{config:e.config,state:t}}};const Be=(0,T.A)(Ce,[["render",R],["__scopeId","data-v-7c1beb5c"]]);var Fe=Be;const Ve=e=>((0,l.Qi)("data-v-117ef7b0"),e=e(),(0,l.jt)(),e),_e={key:0,class:"status-export-wrap"},Te={class:"port-wrap"},xe=Ve((()=>(0,l.Lk)("div",{class:"text"}," 导出配置,作为子设备运行,如果使用docker,容器映射configs文件夹即可 ",-1))),Le={class:"body"},Ie={class:"card-header"},Re={class:"flex"},Ae={style:{"margin-left":"2rem"}},Ee=Ve((()=>(0,l.Lk)("span",null,"设备名 : ",-1))),We=Ve((()=>(0,l.Lk)("span",null,"管理密码 : ",-1)));function ze(e,t,a,n,s,o){const i=(0,l.g2)("Share"),r=(0,l.g2)("el-icon"),u=(0,l.g2)("el-checkbox"),d=(0,l.g2)("el-popover"),c=(0,l.g2)("el-input"),p=(0,l.g2)("Access"),g=(0,l.g2)("el-card"),v=(0,l.g2)("el-button"),h=(0,l.g2)("el-dialog");return n.config&&n.hasExport?((0,l.uX)(),(0,l.CE)("div",_e,[(0,l.Lk)("a",{href:"javascript:;",title:"此设备的管理接口",onClick:t[0]||(t[0]=e=>n.state.show=!0)},[(0,l.bF)(r,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1}),(0,l.eW)(" 导出配置 ")]),(0,l.bF)(h,{class:"options-center",title:"导出配置","destroy-on-close":"",modelValue:n.state.show,"onUpdate:modelValue":t[5]||(t[5]=e=>n.state.show=e),center:"",width:"580",top:"1vh"},{footer:(0,l.k6)((()=>[(0,l.bF)(v,{plain:"",onClick:t[4]||(t[4]=e=>n.state.show=!1),loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1},8,["loading"]),(0,l.bF)(v,{type:"success",plain:"",onClick:n.handleExport,loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("确定导出")])),_:1},8,["onClick","loading"])])),default:(0,l.k6)((()=>[(0,l.Lk)("div",Te,[xe,(0,l.Lk)("div",Le,[(0,l.bF)(g,{shadow:"never"},{header:(0,l.k6)((()=>[(0,l.Lk)("div",Ie,[(0,l.Lk)("div",Re,[(0,l.Lk)("div",null,[(0,l.bF)(d,{placement:"top-start",title:"tips",width:200,trigger:"hover",content:"这将生成唯一ID,多台设备使用产生冲突,挤压下线"},{reference:(0,l.k6)((()=>[(0,l.bF)(u,{disabled:n.onlyNode,modelValue:n.state.single,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.single=e),label:"单设备"},null,8,["disabled","modelValue"])])),_:1})]),(0,l.Lk)("div",Ae,[Ee,(0,l.bF)(c,{disabled:!n.state.single,modelValue:n.state.name,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.name=e),maxlength:"12","show-word-limit":"",style:{width:"15rem"}},null,8,["disabled","modelValue"])]),(0,l.Lk)("div",null,[We,(0,l.bF)(c,{type:"password","show-password":"",disabled:n.onlyNode,modelValue:n.state.apipassword,"onUpdate:modelValue":t[3]||(t[3]=e=>n.state.apipassword=e),maxlength:"36","show-word-limit":"",style:{width:"15rem"}},null,8,["disabled","modelValue"])])])])])),default:(0,l.k6)((()=>[(0,l.bF)(p,{ref:"accessDom",machineid:n.machineId},null,8,["machineid"])])),_:1})])])])),_:1},8,["modelValue"])])):(0,l.Q3)("",!0)}var Pe=a(8835),Ke=a(6611),De={components:{Share:V.SYj,Access:Ke.A},props:["config"],setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.hasAccess("Export"))),n=(0,l.EW)((()=>t.value.config.Client.OnlyNode)),s=(0,l.EW)((()=>t.value.config.Client.Id)),o=(0,w.Kh)({show:!1,loading:!1,single:!0,name:"",apipassword:t.value.config.Client.CApi.ApiPassword}),i=(0,w.KR)(null),r=()=>{if(!a.value)return;const e={access:i.value.getValue(),single:o.single,name:o.name,apipassword:o.apipassword};if(e.single){if(!e.name)return void K.nk.error("请输入设备名")}else e.name="";if(!e.single||o.name)return e;K.nk.error("请输入管理密码")},u=()=>{const e=document.createElement("a");o.single?e.download=`client-node-export-${o.name}.zip`:e.download="client-node-export.zip",e.href="/client-node-export.zip",document.body.appendChild(e),e.click(),document.body.removeChild(e)},d=()=>{const e=r();e&&(o.loading=!0,(0,Pe.P$)(e).then((()=>{o.loading=!1,o.show=!1,K.nk.success("导出成功"),u()})).catch((()=>{o.loading=!1})))};return{config:e.config,onlyNode:n,hasExport:a,machineId:s,state:o,accessDom:i,handleExport:d}}};const $e=(0,T.A)(De,[["render",ze],["__scopeId","data-v-117ef7b0"]]);var Me=$e,Xe=a(2126),Ue={components:{Api:L,Server:Fe,Export:Me,UpdaterBtn:Xe.A},props:["config"],setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.self)),n=(0,w.Kh)({showPay:!1});return{state:n,config:e.config,self:a}}};const Ge=(0,T.A)(Ue,[["render",y],["__scopeId","data-v-39d602b6"]]);var Oe=Ge}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/273.059a1d98.js b/linker.tray.win/web/js/273.059a1d98.js deleted file mode 100644 index 2d4f1c44..00000000 --- a/linker.tray.win/web/js/273.059a1d98.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[273],{743:function(e,t,a){a.d(t,{$U:function(){return s},Ap:function(){return n},Co:function(){return o},DY:function(){return u},Qs:function(){return d},eX:function(){return i},pY:function(){return r}});var l=a(4);const n=()=>(0,l.zG)("sforwardclient/GetSecretKey"),o=e=>(0,l.zG)("sforwardclient/SetSecretKey",e),r=(e="0")=>(0,l.zG)("sforwardclient/get",e),s=e=>(0,l.zG)("sforwardclient/getremote",e),u=e=>(0,l.zG)("sforwardclient/remove",e),d=e=>(0,l.zG)("sforwardclient/add",e),i=()=>(0,l.zG)("sforwardclient/TestLocal")},83:function(e,t,a){a.d(t,{$M:function(){return d},KW:function(){return u},S3:function(){return c},Vn:function(){return i},b0:function(){return o},gM:function(){return s},ix:function(){return n},r7:function(){return r}});var l=a(4);const n=()=>(0,l.zG)("tunnel/gettypes"),o=e=>(0,l.zG)("tunnel/SetServers",e),r=(e="0")=>(0,l.zG)("tunnel/get",e),s=()=>(0,l.zG)("tunnel/refresh"),u=e=>(0,l.zG)("tunnel/SetRouteLevel",e),d=e=>(0,l.zG)("tunnel/SetTransports",e),i=()=>(0,l.zG)("tunnel/GeInterfaces"),c=e=>(0,l.zG)("tunnel/SetInterface",e)},920:function(e,t,a){a.d(t,{BJ:function(){return i},NS:function(){return r},UB:function(){return m},Vk:function(){return d},aP:function(){return h},ir:function(){return u},lJ:function(){return o},mK:function(){return n},y2:function(){return c},yN:function(){return s}});var l=a(4);const n=(e="0")=>(0,l.zG)("updaterclient/get",e),o=e=>(0,l.zG)("updaterclient/confirm",e),r=e=>(0,l.zG)("updaterclient/exit",e),s=()=>(0,l.zG)("updaterclient/GetSecretKey"),u=e=>(0,l.zG)("updaterclient/SetSecretKey",e),d=()=>(0,l.zG)("updaterclient/getcurrent"),i=()=>(0,l.zG)("updaterclient/getserver"),c=e=>(0,l.zG)("updaterclient/confirmserver",e),h=()=>(0,l.zG)("updaterclient/exitserver"),m=()=>(0,l.zG)("updaterclient/Subscribe")},5962:function(e,t,a){a.d(t,{Y:function(){return s},q:function(){return u}});var l=a(8835),n=a(144),o=a(6768);const r=Symbol(),s=()=>{const e=(0,n.KR)({list:{},timer:0,hashcode:0});(0,o.Gt)(r,e);const t=()=>{(0,l.QI)(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(t,1e3)})).catch((()=>{e.value.timer=setTimeout(t,1e3)}))},a=()=>{clearTimeout(e.value.timer)};return{access:e,_getAccessInfo:t,clearAccessTimeout:a}},u=()=>(0,o.WQ)(r)},9383:function(e,t,a){a.d(t,{T:function(){return d},d:function(){return u}});var l=a(920),n=a(3830),o=a(144),r=a(6768);const s=Symbol(),u=()=>{const e=(0,n.B)(),t=(0,o.KR)({timer:0,list:{},hashcode:0,current:{Version:"",Msg:[],DateTime:"",Status:0,Length:0,Current:0},subscribeTimer:0});(0,r.Gt)(s,t);const a=()=>{(0,l.mK)(t.value.hashcode.toString()).then((l=>{if(t.value.hashcode=l.HashCode,l.List){const a=Object.values(l.List).filter((e=>!!e.Version))[0];a&&(Object.assign(t.value.current,{DateTime:a.DateTime,Version:a.Version,Status:a.Status,Length:a.Length,Current:a.Current,Msg:a.Msg}),e.value.updater=t.value.current),t.value.list=l.List}t.value.timer=setTimeout(a,800)})).catch((()=>{t.value.timer=setTimeout(a,800)}))},u=()=>{(0,l.UB)().then((()=>{t.value.subscribeTimer=setTimeout(u,5e3)})).catch((()=>{t.value.subscribeTimer=setTimeout(u,5e3)}))},d=()=>{clearTimeout(t.value.timer),clearTimeout(t.value.subscribeTimer)};return{updater:t,_getUpdater:a,_subscribeUpdater:u,clearUpdaterTimeout:d}},d=()=>(0,r.WQ)(s)},6611:function(e,t,a){a.d(t,{A:function(){return c}});var l=a(6768);function n(e,t,a,n,o,r){const s=(0,l.g2)("el-checkbox"),u=(0,l.g2)("el-col"),d=(0,l.g2)("el-row"),i=(0,l.g2)("el-checkbox-group");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.bF)(d,null,{default:(0,l.k6)((()=>[(0,l.bF)(u,{span:8},{default:(0,l.k6)((()=>[(0,l.bF)(s,{modelValue:n.state.checkAll,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.checkAll=e),onChange:n.handleCheckAllChange,label:"全选",indeterminate:n.state.isIndeterminate},null,8,["modelValue","onChange","indeterminate"])])),_:1})])),_:1}),(0,l.bF)(i,{modelValue:n.state.checkList,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.checkList=e),onChange:n.handleCheckedChange},{default:(0,l.k6)((()=>[(0,l.bF)(d,null,{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.access,((e,t)=>((0,l.uX)(),(0,l.Wv)(u,{key:t,span:8},{default:(0,l.k6)((()=>[(0,l.bF)(s,{value:e.Value,label:e.Text},null,8,["value","label"])])),_:2},1024)))),128))])),_:1})])),_:1},8,["modelValue","onChange"])],64)}a(4114);var o=a(144),r=a(3830),s=a(5962),u={props:["machineid"],setup(e){const t=(0,r.B)(),a=(0,s.q)(),n=(0,l.EW)((()=>{const e=t.value.config.Client.Accesss;return Object.keys(e).reduce(((a,l,n)=>{if(t.value.hasAccess(l)){const t=e[l];t.Key=l,a.push(t)}return a}),[])})),u=(0,o.Kh)({checkList:[t.value.config.Client.Accesss.Api.Value,t.value.config.Client.Accesss.Web.Value,t.value.config.Client.Accesss.NetManager.Value,t.value.config.Client.Accesss.FullManager.Value,t.value.config.Client.Accesss.Transport.Value,t.value.config.Client.Accesss.Action.Value],checkAll:!1,isIndeterminate:!1}),d=()=>u.checkList.reduce(((e,t)=>(e|t)>>>0),0),i=e=>{const t=e.length;u.checkAll=t===n.value.length,u.isIndeterminate=t>0&&t{u.checkAll=e,u.checkList=e?n.value.map((e=>e.Value)):[],u.isIndeterminate=!1};return(0,l.sV)((()=>{if(a&&a.value.list[e.machineid]){const t=a.value.list[e.machineid];u.checkList=n.value.reduce(((e,a)=>((t&a.Value)>>>0==a.Value&&e.push(a.Value),e)),[])}i(u.checkList)})),{state:u,access:n,getValue:d,handleCheckAllChange:c,handleCheckedChange:i}}},d=a(1241);const i=(0,d.A)(u,[["render",n],["__scopeId","data-v-bdd023b0"]]);var c=i},1848:function(e,t,a){a.r(t),a.d(t,{default:function(){return ia}});var l=a(6768);const n={class:"home-list-wrap absolute"},o={class:"page t-c"},r={class:"page-wrap"};function s(e,t,a,s,u,d){const i=(0,l.g2)("el-table-column"),c=(0,l.g2)("el-table"),h=(0,l.g2)("Device"),m=(0,l.g2)("Tunnel"),p=(0,l.g2)("Tuntap"),g=(0,l.g2)("Forward"),v=(0,l.g2)("Oper"),f=(0,l.g2)("el-pagination"),w=(0,l.g2)("DeviceEdit"),k=(0,l.g2)("AccessEdit"),b=(0,l.g2)("TunnelEdit"),F=(0,l.g2)("ConnectionsEdit"),C=(0,l.g2)("TuntapEdit"),T=(0,l.g2)("ForwardEdit"),L=(0,l.g2)("ForwardCopy"),V=(0,l.g2)("SForwardEdit"),_=(0,l.g2)("SForwardCopy");return(0,l.uX)(),(0,l.CE)("div",n,[(0,l.bF)(c,{border:"",style:{width:"100%"},height:"32px",size:"small",onSortChange:s.handleSortChange,class:"table-sort"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{prop:"MachineId",label:"设备名",width:"120",sortable:"custom"}),(0,l.bF)(i,{prop:"Version",label:"版本",width:"120",sortable:"custom"}),(0,l.bF)(i,{prop:"tunnel",label:"网关",width:"90",sortable:"custom"}),(0,l.bF)(i,{prop:"tuntap",label:"网卡IP",width:"160",sortable:"custom"}),(0,l.bF)(i,{prop:"forward",label:""}),(0,l.bF)(i,{label:"",width:"74",fixed:"right"})])),_:1},8,["onSortChange"]),(0,l.bF)(c,{data:s.devices.page.List,stripe:"",border:"",style:{width:"100%"},height:`${s.state.height}px`,size:"small"},{default:(0,l.k6)((()=>[(0,l.bF)(h,{onEdit:s.handleDeviceEdit,onRefresh:s.handlePageRefresh},null,8,["onEdit","onRefresh"]),(0,l.bF)(m,{onEdit:s.handleTunnelEdit,onRefresh:s.handleTunnelRefresh,onConnections:s.handleTunnelConnections},null,8,["onEdit","onRefresh","onConnections"]),(0,l.bF)(p,{onEdit:s.handleTuntapEdit,onRefresh:s.handleTuntapRefresh},null,8,["onEdit","onRefresh"]),(0,l.bF)(g,{onEdit:s._handleForwardEdit,onSedit:s.handleSForwardEdit},null,8,["onEdit","onSedit"]),(0,l.bF)(v,{onRefresh:s.handlePageRefresh,onAccess:s.handleAccessEdit},null,8,["onRefresh","onAccess"])])),_:1},8,["data","height"]),(0,l.Lk)("div",o,[(0,l.Lk)("div",r,[(0,l.bF)(f,{small:"",background:"",layout:"total,sizes,prev,pager, next",total:s.devices.page.Count,"page-size":s.devices.page.Request.Size,"current-page":s.devices.page.Request.Page,onCurrentChange:s.handlePageChange,onSizeChange:s.handlePageSizeChange,"page-sizes":[10,20,50,100,255]},null,8,["total","page-size","current-page","onCurrentChange","onSizeChange"])])]),s.devices.showDeviceEdit?((0,l.uX)(),(0,l.Wv)(w,{key:0,modelValue:s.devices.showDeviceEdit,"onUpdate:modelValue":t[0]||(t[0]=e=>s.devices.showDeviceEdit=e),onChange:s.handlePageChange,data:s.devices.deviceInfo},null,8,["modelValue","onChange","data"])):(0,l.Q3)("",!0),s.devices.showAccessEdit?((0,l.uX)(),(0,l.Wv)(k,{key:1,modelValue:s.devices.showAccessEdit,"onUpdate:modelValue":t[1]||(t[1]=e=>s.devices.showAccessEdit=e),onChange:s.handlePageChange,data:s.devices.deviceInfo},null,8,["modelValue","onChange","data"])):(0,l.Q3)("",!0),s.tunnel.showEdit?((0,l.uX)(),(0,l.Wv)(b,{key:2,modelValue:s.tunnel.showEdit,"onUpdate:modelValue":t[2]||(t[2]=e=>s.tunnel.showEdit=e),onChange:s.handleTunnelRefresh},null,8,["modelValue","onChange"])):(0,l.Q3)("",!0),s.connections.showEdit?((0,l.uX)(),(0,l.Wv)(F,{key:3,modelValue:s.connections.showEdit,"onUpdate:modelValue":t[3]||(t[3]=e=>s.connections.showEdit=e)},null,8,["modelValue"])):(0,l.Q3)("",!0),s.tuntap.showEdit?((0,l.uX)(),(0,l.Wv)(C,{key:4,modelValue:s.tuntap.showEdit,"onUpdate:modelValue":t[4]||(t[4]=e=>s.tuntap.showEdit=e),onChange:s.handleTuntapRefresh},null,8,["modelValue","onChange"])):(0,l.Q3)("",!0),s.forward.showEdit?((0,l.uX)(),(0,l.Wv)(T,{key:5,modelValue:s.forward.showEdit,"onUpdate:modelValue":t[5]||(t[5]=e=>s.forward.showEdit=e)},null,8,["modelValue"])):(0,l.Q3)("",!0),s.forward.showCopy?((0,l.uX)(),(0,l.Wv)(L,{key:6,modelValue:s.forward.showCopy,"onUpdate:modelValue":t[6]||(t[6]=e=>s.forward.showCopy=e)},null,8,["modelValue"])):(0,l.Q3)("",!0),s.sforward.showEdit?((0,l.uX)(),(0,l.Wv)(V,{key:7,modelValue:s.sforward.showEdit,"onUpdate:modelValue":t[7]||(t[7]=e=>s.sforward.showEdit=e)},null,8,["modelValue"])):(0,l.Q3)("",!0),s.sforward.showCopy?((0,l.uX)(),(0,l.Wv)(_,{key:8,modelValue:s.sforward.showCopy,"onUpdate:modelValue":t[8]||(t[8]=e=>s.sforward.showCopy=e)},null,8,["modelValue"])):(0,l.Q3)("",!0)])}a(4114);var u=a(3830),d=a(144);const i=e=>((0,l.Qi)("data-v-1e7a30d3"),e=e(),(0,l.jt)(),e),c={class:"dropdown"},h=i((()=>(0,l.Lk)("span",null,"操作",-1)));function m(e,t,a,n,o,r){const s=(0,l.g2)("ArrowDown"),u=(0,l.g2)("el-icon"),d=(0,l.g2)("SwitchButton"),i=(0,l.g2)("el-dropdown-item"),m=(0,l.g2)("Delete"),p=(0,l.g2)("Flag"),g=(0,l.g2)("el-dropdown-menu"),v=(0,l.g2)("el-dropdown"),f=(0,l.g2)("el-table-column");return(0,l.uX)(),(0,l.Wv)(f,{label:"操作",width:"74",fixed:"right"},{default:(0,l.k6)((e=>[(0,l.bF)(v,{size:"small"},{dropdown:(0,l.k6)((()=>[(0,l.bF)(g,null,{default:(0,l.k6)((()=>[e.row.showReboot&&n.hasReboot?((0,l.uX)(),(0,l.Wv)(i,{key:0,onClick:t=>n.handleExit(e.row.MachineId,e.row.MachineName)},{default:(0,l.k6)((()=>[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[(0,l.bF)(d)])),_:1}),(0,l.eW)(" 重启")])),_:2},1032,["onClick"])):(0,l.Q3)("",!0),e.row.showDel&&n.hasRemove?((0,l.uX)(),(0,l.Wv)(i,{key:1,onClick:t=>n.handleDel(e.row.MachineId,e.row.MachineName)},{default:(0,l.k6)((()=>[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1}),(0,l.eW)(" 删除")])),_:2},1032,["onClick"])):(0,l.Q3)("",!0),n.handleShowAccess(e.row,n.accessList[e.row.MachineId]||0)?((0,l.uX)(),(0,l.Wv)(i,{key:2,onClick:t=>n.handleAccess(e.row)},{default:(0,l.k6)((()=>[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[(0,l.bF)(p)])),_:1}),(0,l.eW)(" 权限")])),_:2},1032,["onClick"])):(0,l.Q3)("",!0)])),_:2},1024)])),default:(0,l.k6)((()=>[(0,l.Lk)("div",c,[h,(0,l.bF)(u,{class:"el-icon--right"},{default:(0,l.k6)((()=>[(0,l.bF)(s)])),_:1})])])),_:2},1024)])),_:1})}var p=a(9299),g=a(920),v=a(7477),f=a(2933),w=a(5962),k={emits:["refresh","access"],components:{Delete:v.epd,SwitchButton:v.L$q,ArrowDown:v.yd$,Flag:v.lNU},setup(e,{emit:t}){const a=(0,u.B)(),n=(0,w.q)(),o=(0,l.EW)((()=>a.value.config.Client.Access)),r=(0,l.EW)((()=>a.value.hasAccess("Access"))),s=(0,l.EW)((()=>n.value.list)),d=(0,l.EW)((()=>a.value.hasAccess("Reboot"))),i=(0,l.EW)((()=>a.value.hasAccess("Remove"))),c=(e,a)=>{f.s.confirm(`确认删除[${a}]?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,p.Se)(e).then((()=>{t("refresh")}))})).catch((()=>{}))},h=(e,a)=>{f.s.confirm(`确认关闭[${a}]?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,g.NS)(e).then((()=>{t("refresh")}))})).catch((()=>{}))},m=(e,t)=>e.showAccess&&r.value&&t>=0&&(~o.value&t)>>>0==0,v=e=>{t("access",e)};return{accessList:s,handleDel:c,handleExit:h,hasReboot:d,hasRemove:i,hasAccess:r,handleShowAccess:m,handleAccess:v}}},b=a(1241);const F=(0,b.A)(k,[["render",m],["__scopeId","data-v-1e7a30d3"]]);var C=F,T=a(4232);const L=e=>((0,l.Qi)("data-v-358fba0e"),e=e(),(0,l.jt)(),e),V={class:"flex"},_=L((()=>(0,l.Lk)("span",{class:"flex-1"},"设备",-1))),E={class:"flex"},y=["onClick"],I=["onClick"],S=L((()=>(0,l.Lk)("span",null,"😴㊙.㊙.㊙.㊙",-1))),P=[S],M=L((()=>(0,l.Lk)("span",{class:"flex-1"},null,-1)));function R(e,t,a,n,o,r){const s=(0,l.g2)("el-input"),u=(0,l.g2)("Search"),d=(0,l.g2)("el-icon"),i=(0,l.g2)("el-button"),c=(0,l.g2)("DeviceName"),h=(0,l.g2)("UpdaterBtn"),m=(0,l.g2)("el-table-column");return(0,l.uX)(),(0,l.Wv)(m,{prop:"MachineId",label:"设备",width:"240"},{header:(0,l.k6)((()=>[(0,l.Lk)("div",V,[_,(0,l.Lk)("span",null,[(0,l.bF)(s,{size:"small",modelValue:n.name,"onUpdate:modelValue":t[0]||(t[0]=e=>n.name=e),clearable:"",onInput:n.handleRefresh,placeholder:"设备/虚拟网卡/端口转发"},null,8,["modelValue","onInput"])]),(0,l.Lk)("span",null,[(0,l.bF)(i,{size:"small",onClick:n.handleRefresh},{default:(0,l.k6)((()=>[(0,l.bF)(d,null,{default:(0,l.k6)((()=>[(0,l.bF)(u)])),_:1})])),_:1},8,["onClick"])])])])),default:(0,l.k6)((e=>[(0,l.Lk)("div",null,[(0,l.Lk)("p",null,[(0,l.bF)(c,{onEdit:n.handleEdit,config:!0,item:e.row},null,8,["onEdit","item"])]),(0,l.Lk)("p",E,[e.row.showip?((0,l.uX)(),(0,l.CE)("span",{key:0,title:"此设备的外网IP",class:"ipaddress",onClick:t=>n.handleExternal(e.row)},[(0,l.Lk)("span",null,"😀"+(0,T.v_)(e.row.IP),1)],8,y)):((0,l.uX)(),(0,l.CE)("span",{key:1,title:"此设备的外网IP",class:"ipaddress",onClick:t=>n.handleExternal(e.row)},P,8,I)),M,(0,l.bF)(h,{config:!0,item:e.row},null,8,["item"])])])])),_:1})}var W=a(2126),A=a(886),B={emits:["edit","refresh"],components:{Search:v.vji,UpdaterBtn:W.A,DeviceName:A.A},setup(e,{emit:t}){const a=(0,u.B)(),n=(0,l.EW)((()=>a.value.hasAccess("ExternalShow"))),o=(0,d.KR)(sessionStorage.getItem("search-name")||""),r=e=>{n.value&&(e.showip=!e.showip)},s=e=>{t("edit",e)},i=()=>{sessionStorage.setItem("search-name",o.value),t("refresh",o.value)};return{handleEdit:s,handleRefresh:i,name:o,handleExternal:r}}};const z=(0,b.A)(B,[["render",R],["__scopeId","data-v-358fba0e"]]);var N=z;const U=(0,l.Lk)("div",null,"修改后最好能重启一次客户端",-1),X={class:"t-c w-100"};function x(e,t,a,n,o,r){const s=(0,l.g2)("el-form-item"),u=(0,l.g2)("el-input"),d=(0,l.g2)("el-button"),i=(0,l.g2)("el-form"),c=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(c,{modelValue:n.state.show,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.ruleForm.MachineName}]设备`,width:"300"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(i,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"auto"},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:""},{default:(0,l.k6)((()=>[U])),_:1}),(0,l.bF)(s,{label:"设备名",prop:"MachineName"},{default:(0,l.k6)((()=>[(0,l.bF)(u,{maxlength:"12","show-word-limit":"",modelValue:n.state.ruleForm.MachineName,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.ruleForm.MachineName=e)},null,8,["modelValue"])])),_:1}),(0,l.bF)(s,{label:"",prop:"Btns"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",X,[(0,l.bF)(d,{onClick:t[1]||(t[1]=e=>n.state.show=!1)},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1}),(0,l.bF)(d,{type:"primary",onClick:n.handleSave},{default:(0,l.k6)((()=>[(0,l.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var D=a(1219),K={props:["data","modelValue"],emits:["change","update:modelValue"],setup(e,{emit:t}){const a=(0,d.KR)(null),n=(0,d.Kh)({show:!0,ruleForm:{MachineName1:e.data.MachineName,MachineName:e.data.MachineName},rules:{}});(0,l.wB)((()=>n.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const o=()=>{e.data.MachineName!=n.ruleForm.MachineName&&(0,p.gC)({Id:e.data.MachineId,newName:n.ruleForm.MachineName}).then((()=>{n.show=!1,D.nk.success("已操作!"),t("change")})).catch((()=>{D.nk.error("操作失败!")}))};return{state:n,ruleFormRef:a,handleSave:o}}};const G=(0,b.A)(K,[["render",x]]);var O=G;function $(e,t,a,n,o,r){const s=(0,l.g2)("Access"),u=(0,l.g2)("el-button"),d=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(d,{modelValue:n.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.show=e),"close-on-click-modal":!1,center:"","append-to":".app-wrap",title:`设置[${n.machineName}]的权限`,width:"580",top:"1vh"},{footer:(0,l.k6)((()=>[(0,l.bF)(u,{plain:"",onClick:t[0]||(t[0]=e=>n.state.show=!1),loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1},8,["loading"]),(0,l.bF)(u,{type:"success",plain:"",onClick:n.handleSave,loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("确定保存")])),_:1},8,["onClick","loading"])])),default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(s,{machineid:n.machineid,ref:"accessDom"},null,8,["machineid"])])])),_:1},8,["modelValue","title"])}var Q=a(8835),q=a(6611),j={props:["data","modelValue"],emits:["change","update:modelValue"],components:{Access:q.A},setup(e,{emit:t}){const a=(0,d.Kh)({show:!0,loading:!1});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const n=(0,d.KR)(null),o=()=>{a.loading=!0,(0,Q.ZK)({ToMachineId:e.data.MachineId,Access:n.value.getValue()}).then((()=>{a.loading=!1,a.show=!1,D.nk.success("已操作!"),t("change")})).catch((()=>{a.loading=!1,D.nk.error("操作失败!")}))};return{machineName:e.data.MachineName,machineid:e.data.MachineId,state:a,accessDom:n,handleSave:o}}};const H=(0,b.A)(j,[["render",$]]);var J=H;const Y={key:0};function Z(e,t,a,n,o,r){const s=(0,l.g2)("TuntapShow"),u=(0,l.g2)("el-table-column");return(0,l.uX)(),(0,l.Wv)(u,{prop:"tuntap",label:"虚拟网卡",width:"160"},{default:(0,l.k6)((e=>[n.tuntap.list[e.row.MachineId]?((0,l.uX)(),(0,l.CE)("div",Y,[(0,l.bF)(s,{config:!0,item:e.row,onEdit:n.handleTuntapIP,onRefresh:n.handleTuntapRefresh},null,8,["item","onEdit","onRefresh"])])):(0,l.Q3)("",!0)])),_:1})}var ee=a(8104),te=a(3630),ae={emits:["edit","refresh"],components:{TuntapShow:te.A},setup(e,{emit:t}){const a=(0,ee.W)(),l=e=>{t("edit",e)},n=()=>{t("refresh")};return{tuntap:a,handleTuntapIP:l,handleTuntapRefresh:n}}};const le=(0,b.A)(ae,[["render",Z]]);var ne=le;const oe=e=>((0,l.Qi)("data-v-7c827302"),e=e(),(0,l.jt)(),e),re=oe((()=>(0,l.Lk)("span",null,"/",-1))),se=oe((()=>(0,l.Lk)("span",{style:{width:"2rem"}},null,-1))),ue={key:0,class:"upgrade-wrap"},de=oe((()=>(0,l.Lk)("span",{class:"yellow"},"此设备能使用NAT转发,只需局域网IP,剩下的交给NAT(linux、macos、win10+)",-1))),ie={class:"flex-1"},ce=oe((()=>(0,l.Lk)("span",null,"/",-1))),he={class:"pdl-10"},me=oe((()=>(0,l.Lk)("span",{class:"yellow"},"此设备无法使用NAT转发,或只想使用端口转发",-1))),pe={class:"flex-1"},ge={class:"pdl-10"};function ve(e,t,a,n,o,r){const s=(0,l.g2)("el-form-item"),u=(0,l.g2)("el-input"),d=(0,l.g2)("el-checkbox"),i=(0,l.g2)("Delete"),c=(0,l.g2)("el-icon"),h=(0,l.g2)("el-button"),m=(0,l.g2)("Plus"),p=(0,l.g2)("el-form"),g=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(g,{modelValue:n.state.show,"onUpdate:modelValue":t[6]||(t[6]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]组网`,top:"1vh",width:"700"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(p,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"140"},{default:(0,l.k6)((()=>[(0,l.bF)(s,{prop:"gateway",style:{"margin-bottom":"0"}},{default:(0,l.k6)((()=>[(0,l.eW)(" 赐予此设备IP,其它设备可通过此IP访问 ")])),_:1}),(0,l.bF)(s,{label:"此设备的虚拟网卡IP",prop:"IP"},{default:(0,l.k6)((()=>[(0,l.bF)(u,{modelValue:n.state.ruleForm.IP,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.ruleForm.IP=e),style:{width:"14rem"}},null,8,["modelValue"]),re,(0,l.bF)(u,{onChange:n.handlePrefixLengthChange,modelValue:n.state.ruleForm.PrefixLength,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.ruleForm.PrefixLength=e),style:{width:"4rem"}},null,8,["onChange","modelValue"]),se,(0,l.bF)(d,{modelValue:n.state.ruleForm.ShowDelay,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.ruleForm.ShowDelay=e),label:"显示延迟",size:"large"},null,8,["modelValue"]),(0,l.bF)(d,{modelValue:n.state.ruleForm.AutoConnect,"onUpdate:modelValue":t[3]||(t[3]=e=>n.state.ruleForm.AutoConnect=e),label:"自动连接",size:"large"},null,8,["modelValue"])])),_:1}),(0,l.bF)(s,{prop:"upgrade",style:{"margin-bottom":"0"}},{default:(0,l.k6)((()=>[(0,l.bF)(d,{modelValue:n.state.ruleForm.Upgrade,"onUpdate:modelValue":t[4]||(t[4]=e=>n.state.ruleForm.Upgrade=e),label:"我很懂,我要使用高级功能(点对网和网对网)",size:"large"},null,8,["modelValue"])])),_:1}),n.state.ruleForm.Upgrade?((0,l.uX)(),(0,l.CE)("div",ue,[(0,l.bF)(s,{prop:"nat",style:{"margin-bottom":"0"}},{default:(0,l.k6)((()=>[de])),_:1}),(0,l.bF)(s,{label:"此设备局域网IP",prop:"LanIP",style:{"border-bottom":"1px solid #ddd","margin-bottom":"0"}},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.ruleForm.LanIPs,((e,t)=>((0,l.uX)(),(0,l.CE)("div",{key:t,class:"flex",style:{"margin-bottom":".6rem"}},[(0,l.Lk)("div",ie,[(0,l.bF)(u,{modelValue:n.state.ruleForm.LanIPs[t],"onUpdate:modelValue":e=>n.state.ruleForm.LanIPs[t]=e,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),ce,(0,l.bF)(u,{onChange:e=>n.handleMaskChange(t),modelValue:n.state.ruleForm.Masks[t],"onUpdate:modelValue":e=>n.state.ruleForm.Masks[t]=e,style:{width:"4rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"])]),(0,l.Lk)("div",he,[(0,l.bF)(h,{type:"danger",onClick:e=>n.handleDel(t)},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})])),_:2},1032,["onClick"]),(0,l.bF)(h,{type:"primary",onClick:e=>n.handleAdd(t)},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])))),128))])),_:1}),(0,l.bF)(s,{prop:"forward",style:{"margin-bottom":"0"}},{default:(0,l.k6)((()=>[me])),_:1}),(0,l.bF)(s,{label:"端口转发",prop:"forwards"},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.ruleForm.Forwards,((e,t)=>((0,l.uX)(),(0,l.CE)("div",{key:t,class:"flex",style:{"margin-bottom":".6rem"}},[(0,l.Lk)("div",pe,[(0,l.bF)(u,{modelValue:e.ListenAddr,"onUpdate:modelValue":t=>e.ListenAddr=t,style:{width:"7rem"},readonly:""},null,8,["modelValue","onUpdate:modelValue"]),(0,l.eW)(" : "),(0,l.bF)(u,{onChange:e=>n.handleForwardChange(t),modelValue:e.ListenPort,"onUpdate:modelValue":t=>e.ListenPort=t,style:{width:"6rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"]),(0,l.eW)(" -> "),(0,l.bF)(u,{modelValue:e.ConnectAddr,"onUpdate:modelValue":t=>e.ConnectAddr=t,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),(0,l.eW)(" : "),(0,l.bF)(u,{onChange:e=>n.handleForwardChange(t),modelValue:e.ConnectPort,"onUpdate:modelValue":t=>e.ConnectPort=t,style:{width:"6rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"])]),(0,l.Lk)("div",ge,[(0,l.bF)(h,{type:"danger",onClick:e=>n.handleDelForward(t)},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})])),_:2},1032,["onClick"]),(0,l.bF)(h,{type:"primary",onClick:e=>n.handleAddForward(t)},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])))),128))])),_:1})])):(0,l.Q3)("",!0),(0,l.bF)(s,{label:"",prop:"Btns"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(h,{onClick:t[5]||(t[5]=e=>n.state.show=!1)},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1}),(0,l.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,l.k6)((()=>[(0,l.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var fe=a(5241),we={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:v.epd,Plus:v.FWt},setup(e,{emit:t}){const a=(0,u.B)(),n=(0,ee.W)(),o=(0,d.KR)(null),r=(0,d.Kh)({show:!0,machineName:n.value.current.device.MachineName,bufferSize:a.value.bufferSize,ruleForm:{IP:n.value.current.IP,LanIPs:n.value.current.LanIPs.slice(0),Masks:n.value.current.Masks.slice(0),PrefixLength:n.value.current.PrefixLength||24,Gateway:n.value.current.Gateway,ShowDelay:n.value.current.ShowDelay,AutoConnect:n.value.current.AutoConnect,Upgrade:n.value.current.Upgrade,Multicast:n.value.current.Multicast,Forwards:0==n.value.current.Forwards.length?[{ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0}]:n.value.current.Forwards.slice(0)},rules:{}});0==r.ruleForm.LanIPs.length&&(r.ruleForm.LanIPs.push(""),r.ruleForm.Masks.push(24)),(0,l.wB)((()=>r.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const s=()=>{var e=+r.ruleForm.PrefixLength;(e>32||e<16||isNaN(e))&&(e=24),r.ruleForm.PrefixLength=e},i=e=>{var t=+r.ruleForm.Masks[e];(t>32||t<16||isNaN(t))&&(t=24),r.ruleForm.Masks[e]=t},c=e=>{r.ruleForm.LanIPs.splice(e,1),r.ruleForm.Masks.splice(e,1),0==r.ruleForm.LanIPs.length&&h(0)},h=e=>{r.ruleForm.LanIPs.splice(e+1,0,""),r.ruleForm.Masks.splice(e+1,0,24)},m=()=>{const e=JSON.parse(JSON.stringify(n.value.current));e.IP=r.ruleForm.IP||"0.0.0.0";const{lanips:a,masks:l}=r.ruleForm.LanIPs.reduce(((e,t,a)=>(t&&r.ruleForm.Masks[a]&&(e.lanips.push(t),e.masks.push(r.ruleForm.Masks[a])),e)),{lanips:[],masks:[]});e.LanIPs=a,e.Masks=l,e.PrefixLength=+r.ruleForm.PrefixLength,e.Gateway=r.ruleForm.Gateway,e.ShowDelay=r.ruleForm.ShowDelay,e.AutoConnect=r.ruleForm.AutoConnect,e.Upgrade=r.ruleForm.Upgrade,e.Multicast=r.ruleForm.Multicast,e.Forwards=r.ruleForm.Forwards,e.Forwards.forEach((e=>{e.ListenPort=+e.ListenPort,e.ConnectPort=+e.ConnectPort})),(0,fe.ac)(e).then((()=>{r.show=!1,D.nk.success("已操作!"),t("change")})).catch((()=>{D.nk.error("操作失败!")}))},p=e=>{r.ruleForm.Forwards.splice(e,1),0==r.ruleForm.Forwards.length&&g(0)},g=e=>{r.ruleForm.Forwards.splice(e+1,0,{ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0})},v=()=>{};return{state:r,ruleFormRef:o,handlePrefixLengthChange:s,handleMaskChange:i,handleDel:c,handleAdd:h,handleSave:m,handleForwardChange:v,handleDelForward:p,handleAddForward:g}}};const ke=(0,b.A)(we,[["render",ve],["__scopeId","data-v-7c827302"]]);var be=ke;const Fe={key:0},Ce=["title","onClick"],Te=["onClick"];function Le(e,t,a,n,o,r){const s=(0,l.g2)("el-table-column");return(0,l.uX)(),(0,l.Wv)(s,{prop:"tunnel",label:"隧道",width:"90"},{default:(0,l.k6)((e=>[n.tunnel.list[e.row.MachineId]?((0,l.uX)(),(0,l.CE)("div",Fe,[(0,l.Lk)("a",{href:"javascript:;",class:(0,T.C4)(["a-line",{yellow:n.tunnel.list[e.row.MachineId].NeedReboot}]),title:n.tunnel.list[e.row.MachineId].NeedReboot?"需要重启":"调整网关层级有助于打洞成功",onClick:t=>n.handleTunnel(n.tunnel.list[e.row.MachineId],e.row)},[(0,l.Lk)("span",null,"网关 : "+(0,T.v_)(n.tunnel.list[e.row.MachineId].RouteLevel)+" + "+(0,T.v_)(n.tunnel.list[e.row.MachineId].RouteLevelPlus),1)],10,Ce)])):(0,l.Q3)("",!0),(0,l.Lk)("div",null,[(0,l.Lk)("a",{href:"javascript:;",title:"与此设备的隧道连接",class:(0,T.C4)(["a-line",{green:n.connectionCount(e.row.MachineId)>0}]),onClick:t=>n.handleConnections(e.row)},[(0,l.eW)(" 连接数 : "),(0,l.Lk)("span",null,(0,T.v_)(n.connectionCount(e.row.MachineId)),1)],10,Te)])])),_:1})}var Ve=a(83);const _e=Symbol(),Ee=()=>{(0,u.B)();const e=(0,d.KR)({timer:0,showEdit:!1,current:null,list:{},hashcode:0});(0,l.Gt)(_e,e);const t=()=>{(0,Ve.r7)(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(t,1060)})).catch((()=>{e.value.timer=setTimeout(t,1060)}))},a=t=>{e.value.current=t,e.value.showEdit=!0},n=()=>{(0,Ve.gM)(),D.nk.success({message:"刷新成功",grouping:!0})},o=()=>{clearTimeout(e.value.timer)},r=t=>Object.values(e.value.list).sort(((e,t)=>e.RouteLevel+e.RouteLevelPlus-t.RouteLevel+t.RouteLevelPlus)).map((e=>e.MachineId));return{tunnel:e,_getTunnelInfo:t,handleTunnelEdit:a,handleTunnelRefresh:n,clearTunnelTimeout:o,sortTunnel:r}},ye=()=>(0,l.WQ)(_e);var Ie=a(4);const Se=(e="0")=>(0,Ie.zG)("forwardclient/connections",e),Pe=e=>(0,Ie.zG)("forwardclient/removeconnection",e),Me=(e="0")=>(0,Ie.zG)("forwardclient/get",e),Re=e=>(0,Ie.zG)("forwardclient/getremote",e),We=()=>(0,Ie.zG)("forwardclient/bindips"),Ae=e=>(0,Ie.zG)("forwardclient/remove",e),Be=e=>(0,Ie.zG)("forwardclient/add",e),ze=e=>(0,Ie.zG)("forwardclient/TestTarget",e),Ne=Symbol(),Ue=Symbol(),Xe=Symbol(),xe=()=>{const e=(0,d.KR)({showEdit:!1,speedCache:{},current:"",currentName:"",hashcode:0,hashcode1:0,_updateRealTime:!1,updateRealTime:t=>{e.value.hashcode=0,e.value.hashcode1=0,e.value._updateRealTime=t}});(0,l.Gt)(Ne,e);const t=(0,d.KR)({timer:0,list:{}});(0,l.Gt)(Ue,t);const a=()=>{Se(e.value.hashcode.toString()).then((l=>{0==e.value._updateRealTime&&(e.value.hashcode=l.HashCode),l.List&&(r(l.List,Pe),t.value.list=l.List),t.value.timer=setTimeout(a,1e3)})).catch((e=>{t.value.timer=setTimeout(a,1e3)}))},n=(0,d.KR)({timer:0,list:{}});(0,l.Gt)(Xe,n);const o=()=>{(0,fe.kl)(e.value.hashcode1.toString()).then((t=>{0==e.value._updateRealTime&&(e.value.hashcode1=t.HashCode),t.List&&(r(t.List,fe.vB),n.value.list=t.List),n.value.timer=setTimeout(o,1e3)})).catch((e=>{n.value.timer=setTimeout(o,1e3)}))},r=(t,a)=>{const l=e.value.speedCache;for(let e in t){const n=t[e];n.removeFunc=a;const o=`${n.RemoteMachineId}-${n.TransactionId}`,r=l[o]||{SendBytes:0,ReceiveBytes:0};n.SendBytesText=s(n.SendBytes-r.SendBytes),n.ReceiveBytesText=s(n.ReceiveBytes-r.ReceiveBytes),r.SendBytes=n.SendBytes,r.ReceiveBytes=n.ReceiveBytes,l[o]=r}},s=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B/s","KB/s","MB/s","GB/s","TB/s"][t]}`},u=t=>{e.value.current=t.MachineId,e.value.currentName=t.MachineName,e.value.showEdit=!0},i=()=>{clearTimeout(t.value.timer),clearTimeout(n.value.timer)};return{connections:e,forwardConnections:t,_getForwardConnections:a,tuntapConnections:n,_getTuntapConnections:o,handleTunnelConnections:u,clearConnectionsTimeout:i}},De=()=>(0,l.WQ)(Ne),Ke=()=>(0,l.WQ)(Ue),Ge=()=>(0,l.WQ)(Xe);var Oe={emits:["edit","refresh"],setup(e,{emit:t}){const a=(0,u.B)(),n=(0,l.EW)((()=>a.value.config.Client.Id)),o=(0,l.EW)((()=>a.value.hasAccess("TunnelChangeSelf"))),r=(0,l.EW)((()=>a.value.hasAccess("TunnelChangeOther"))),s=ye(),d=(De(),Ke()),i=Ge(),c=e=>[d.value.list[e],i.value.list[e]].filter((e=>!!e&&e.Connected)).length,h=(e,a)=>{if(n.value===e.MachineId){if(!o.value)return}else if(!r.value)return;e.device=a,t("edit",e)},m=()=>{t("refresh")},p=e=>{t("connections",e)};return{tunnel:s,handleTunnel:h,handleTunnelRefresh:m,connectionCount:c,handleConnections:p}}};const $e=(0,b.A)(Oe,[["render",Le],["__scopeId","data-v-56597dfc"]]);var Qe=$e;const qe=e=>((0,l.Qi)("data-v-1f7f67a4"),e=e(),(0,l.jt)(),e),je=qe((()=>(0,l.Lk)("div",null,"网关层级为你的设备与外网的距离,你可以手动调整数值",-1))),He=qe((()=>(0,l.Lk)("div",null,"光猫映射了端口后,可以直接连接,把TcpPortMap调到第一",-1))),Je={class:"t-c w-100"};function Ye(e,t,a,n,o,r){const s=(0,l.g2)("el-form-item"),u=(0,l.g2)("el-input"),d=(0,l.g2)("el-col"),i=(0,l.g2)("el-input-number"),c=(0,l.g2)("el-row"),h=(0,l.g2)("el-button"),m=(0,l.g2)("el-form"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":t[5]||(t[5]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]网关`,width:"400"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(m,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"auto"},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:"",prop:"alert"},{default:(0,l.k6)((()=>[je])),_:1}),(0,l.bF)(s,{label:""},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(d,{span:12},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:"网关层级",prop:"RouteLevel"},{default:(0,l.k6)((()=>[(0,l.bF)(u,{readonly:"",modelValue:n.state.ruleForm.RouteLevel,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.ruleForm.RouteLevel=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,l.bF)(d,{span:12},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:"调整层级",prop:"RouteLevelPlus"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{modelValue:n.state.ruleForm.RouteLevelPlus,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.ruleForm.RouteLevelPlus=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,l.bF)(s,{label:"",prop:"alert"},{default:(0,l.k6)((()=>[He])),_:1}),(0,l.bF)(s,{label:""},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(d,{span:12},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:"外网端口",prop:"PortMapWan"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{modelValue:n.state.ruleForm.PortMapWan,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.ruleForm.PortMapWan=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,l.bF)(d,{span:12},{default:(0,l.k6)((()=>[(0,l.bF)(s,{label:"内网端口",prop:"PortMapLan"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{modelValue:n.state.ruleForm.PortMapLan,"onUpdate:modelValue":t[3]||(t[3]=e=>n.state.ruleForm.PortMapLan=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,l.bF)(s,{label:"",prop:"Btns"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",Je,[(0,l.bF)(h,{onClick:t[4]||(t[4]=e=>n.state.show=!1)},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1}),(0,l.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,l.k6)((()=>[(0,l.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var Ze={props:["modelValue"],emits:["change","update:modelValue"],setup(e,{emit:t}){const a=ye(),n=(0,d.KR)(null),o=(0,d.Kh)({show:!0,machineName:a.value.current.device.MachineName,ruleForm:{RouteLevel:a.value.current.RouteLevel,RouteLevelPlus:a.value.current.RouteLevelPlus,PortMapWan:a.value.current.PortMapWan,PortMapLan:a.value.current.PortMapLan},rules:{}});(0,l.wB)((()=>o.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const r=()=>{const e=JSON.parse(JSON.stringify(a.value.current));e.RouteLevel=+o.ruleForm.RouteLevel,e.RouteLevelPlus=+o.ruleForm.RouteLevelPlus,e.PortMapWan=+o.ruleForm.PortMapWan,e.PortMapLan=+o.ruleForm.PortMapLan,(0,Ve.KW)(e).then((()=>{o.show=!1,D.nk.success("已操作!"),t("change")})).catch((()=>{D.nk.error("操作失败!")}))};return{state:o,ruleFormRef:n,handleSave:r}}};const et=(0,b.A)(Ze,[["render",Ye],["__scopeId","data-v-1f7f67a4"]]);var tt=et;const at={key:0},lt={class:"list forward"},nt=["onClick"],ot={key:1},rt=["onClick"],st={key:0},ut={class:"list sforward"},dt={key:1};function it(e,t,a,n,o,r){const s=(0,l.g2)("el-table-column");return(0,l.uX)(),(0,l.Wv)(s,{prop:"forward",label:"端口转发"},{default:(0,l.k6)((e=>[e.row.isSelf?((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[n.hasForwardShowSelf?((0,l.uX)(),(0,l.CE)("div",st,[(0,l.Lk)("ul",ut,[n.sforward.list&&n.sforward.list.length>0?((0,l.uX)(!0),(0,l.CE)(l.FK,{key:0},(0,l.pI)(n.sforward.list.slice(0,5),((e,a)=>((0,l.uX)(),(0,l.CE)("li",{key:a,class:(0,T.C4)({red:!!e.Msg})},[(0,l.Lk)("a",{href:"javascript:;",onClick:t[0]||(t[0]=e=>n.handleSEdit()),class:(0,T.C4)({green:e.Started})},[(0,l.Lk)("span",null,[(0,l.Lk)("span",{class:(0,T.C4)({red:!!e.Msg})},(0,T.v_)(e.Domain||e.RemotePort),3),(0,l.eW)(" -> "),(0,l.Lk)("span",{class:(0,T.C4)({red:!!e.LocalMsg})},(0,T.v_)(e.LocalEP),3)])],2),(0,l.Lk)("span",null," ("+(0,T.v_)(1<n.handleSEdit())},"暂无配置")]))])])):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[n.hasForwardShowOther?((0,l.uX)(),(0,l.CE)("div",at,[(0,l.Lk)("ul",lt,[n.forward.list[e.row.MachineId]&&n.forward.list[e.row.MachineId].length>0?((0,l.uX)(!0),(0,l.CE)(l.FK,{key:0},(0,l.pI)(n.forward.list[e.row.MachineId],((t,a)=>((0,l.uX)(),(0,l.CE)("li",{key:a},[(0,l.Lk)("a",{href:"javascript:;",onClick:t=>n.handleEdit(e.row.MachineId),class:(0,T.C4)({green:t.Started})},[(0,l.Lk)("span",null,[(0,l.Lk)("span",{class:(0,T.C4)({red:!!t.Msg})},(0,T.v_)(t.Port),3),(0,l.eW)(" -> "),(0,l.Lk)("span",{class:(0,T.C4)({red:!!t.TargetMsg})},(0,T.v_)(t.TargetEP),3)])],10,nt),(0,l.Lk)("span",null," ("+(0,T.v_)(1<n.handleEdit(e.row.MachineId)},"暂无配置",8,rt)]))])])):(0,l.Q3)("",!0)],64))])),_:1})}const ct=Symbol(),ht=()=>{(0,u.B)();const e=(0,d.KR)({timer:0,showEdit:!1,showCopy:!1,current:null,list:{},testTimer:0,testTargetTimer:0,hashcode:0,hashcode1:0});(0,l.Gt)(ct,e);const t=()=>{Me(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(t,1020)})).catch((()=>{e.value.timer=setTimeout(t,1020)}))},a=(t,a)=>{e.value.current=t,e.value.machineName=a,e.value.showEdit=!0},n=()=>{clearTimeout(e.value.testTargetTimer),ze(e.value.current).then((t=>{e.value.testTargetTimer=setTimeout(n,5e3)})).catch((()=>{e.value.testTargetTimer=setTimeout(n,5e3)}))},o=()=>{clearTimeout(e.value.timer),clearTimeout(e.value.testTimer),clearTimeout(e.value.testTargetTimer)},r=t=>Object.values(e.value.list).reduce(((e,t)=>(e=e.concat(t),e)),[]).filter((e=>(e.Name||"").indexOf(t)>=0||(e.BindIPAddress||"").indexOf(t)>=0||e.Port.toString().indexOf(t)>=0||(e.TargetEP||"").indexOf(t)>=0)).map((e=>e.MachineId));return{forward:e,_getForwardInfo:t,handleForwardEdit:a,_testTargetForwardInfo:n,clearForwardTimeout:o,getForwardMachines:r}},mt=()=>(0,l.WQ)(ct);var pt=a(743);const gt=Symbol(),vt=()=>{const e=(0,u.B)(),t=(0,l.EW)((()=>e.value.config.Client.Id)),a=(0,d.KR)({timer:0,showEdit:!1,showCopy:!1,list:[],testTimer:0,hashcode:0});(0,l.Gt)(gt,a);const n=()=>{(0,pt.pY)(a.value.hashcode.toString()).then((e=>{a.value.hashcode=e.HashCode,e.List&&(a.value.list=e.List),a.value.timer=setTimeout(n,1040)})).catch((()=>{a.value.timer=setTimeout(n,1040)}))},o=()=>{a.value.showEdit=!0},r=()=>{clearTimeout(a.value.testTimer),(0,pt.eX)().then((e=>{a.value.testTimer=setTimeout(r,5e3)})).catch((()=>{a.value.testTimer=setTimeout(r,5e3)}))},s=()=>{clearTimeout(a.value.timer),clearTimeout(a.value.testTimer)},i=e=>{const l=a.value.list.filter((t=>(t.Name||"").indexOf(e)>=0||(t.Domain||"").indexOf(e)>=0||t.RemotePort.toString().indexOf(e)>=0||t.LocalEP.indexOf(e)>=0));return l.length>0?[t.value]:[]};return{sforward:a,_getSForwardInfo:n,handleSForwardEdit:o,_testLocalSForwardInfo:r,clearSForwardTimeout:s,getSForwardMachines:i}},ft=()=>(0,l.WQ)(gt);var wt={emits:["edit","sedit"],setup(e,{emit:t}){const a=mt(),n=ft(),o=(0,u.B)(),r=(0,l.EW)((()=>o.value.config.Client.Id)),s=(0,l.EW)((()=>o.value.hasAccess("ForwardShowSelf"))),d=(0,l.EW)((()=>o.value.hasAccess("ForwardShowOther"))),i=(0,l.EW)((()=>o.value.hasAccess("ForwardSelf"))),c=(0,l.EW)((()=>o.value.hasAccess("ForwardOther"))),h=e=>{if(r.value===e){if(!i.value)return}else if(!c.value)return;t("edit",e)},m=()=>{i.value&&t("sedit")},p=()=>{t("refresh")};return{forward:a,sforward:n,hasForwardShowSelf:s,hasForwardShowOther:d,handleEdit:h,handleSEdit:m,handleForwardRefresh:p}}};const kt=(0,b.A)(wt,[["render",it],["__scopeId","data-v-19db1f43"]]);var bt=kt;const Ft={class:"t-c head"},Ct={class:"error red"},Tt={class:"error red"};function Lt(e,t,a,n,o,r){const s=(0,l.g2)("el-button"),u=(0,l.g2)("el-input"),d=(0,l.g2)("el-table-column"),i=(0,l.g2)("el-option"),c=(0,l.g2)("el-select"),h=(0,l.g2)("WarnTriangleFilled"),m=(0,l.g2)("el-icon"),p=(0,l.g2)("el-popover"),g=(0,l.g2)("el-switch"),v=(0,l.g2)("Delete"),f=(0,l.g2)("el-popconfirm"),w=(0,l.g2)("el-table"),k=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(k,{modelValue:n.state.show,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:`端口转发到【${n.state.machineName}】`,top:"1vh",width:"700"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",Ft,[(0,l.bF)(s,{type:"success",size:"small",onClick:n.handleAdd},{default:(0,l.k6)((()=>[(0,l.eW)("添加")])),_:1},8,["onClick"]),(0,l.bF)(s,{size:"small",onClick:n.handleRefresh},{default:(0,l.k6)((()=>[(0,l.eW)("刷新")])),_:1},8,["onClick"]),(0,l.bF)(s,{size:"small",onClick:n.handleCopy},{default:(0,l.k6)((()=>[(0,l.eW)("复制转发配置")])),_:1},8,["onClick"])]),(0,l.bF)(w,{data:n.state.data,size:"small",border:"",height:"500",onCellDblclick:n.handleCellClick},{default:(0,l.k6)((()=>[(0,l.bF)(d,{property:"Name",label:"名称"},{default:(0,l.k6)((e=>[e.row.NameEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":t=>e.row.Name=t,onBlur:t=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[(0,l.eW)((0,T.v_)(e.row.Name),1)],64))])),_:1}),(0,l.bF)(d,{prop:"BufferSize",label:"缓冲区",width:"100"},{default:(0,l.k6)((e=>[(0,l.bF)(c,{modelValue:e.row.BufferSize,"onUpdate:modelValue":t=>e.row.BufferSize=t,placeholder:"Select",size:"small",disabled:e.row.Started,onChange:t=>n.handleEditBlur(e.row,"BufferSize")},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.bufferSize,((e,t)=>((0,l.uX)(),(0,l.Wv)(i,{key:t,label:e,value:t},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"])])),_:1}),(0,l.bF)(d,{property:"BindIPAddress",label:"监听IP",width:"140"},{default:(0,l.k6)((e=>[(0,l.bF)(c,{modelValue:e.row.BindIPAddress,"onUpdate:modelValue":t=>e.row.BindIPAddress=t,size:"small",disabled:e.row.Started},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.ips,(e=>((0,l.uX)(),(0,l.Wv)(i,{key:e,label:e,value:e},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","disabled"])])),_:1}),(0,l.bF)(d,{property:"Port",label:"监听端口",width:"80"},{default:(0,l.k6)((e=>[e.row.PortEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,type:"number",autofocus:"",size:"small",modelValue:e.row.Port,"onUpdate:modelValue":t=>e.row.Port=t,onBlur:t=>n.handleEditBlur(e.row,"Port")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[e.row.Msg?((0,l.uX)(),(0,l.Wv)(p,{key:0,placement:"top",title:"msg",width:"20rem",trigger:"hover",content:e.row.Msg},{reference:(0,l.k6)((()=>[(0,l.Lk)("div",Ct,[(0,l.Lk)("span",null,(0,T.v_)(e.row.Port),1),(0,l.bF)(m,{size:"20"},{default:(0,l.k6)((()=>[(0,l.bF)(h)])),_:1})])])),_:2},1032,["content"])):((0,l.uX)(),(0,l.CE)("span",{key:1,class:(0,T.C4)({green:e.row.Started})},(0,T.v_)(e.row.Port),3))],64))])),_:1}),(0,l.bF)(d,{property:"TargetEP",label:"目标服务",width:"140"},{default:(0,l.k6)((e=>[e.row.TargetEPEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.TargetEP,"onUpdate:modelValue":t=>e.row.TargetEP=t,onBlur:t=>n.handleEditBlur(e.row,"TargetEP")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[e.row.TargetMsg?((0,l.uX)(),(0,l.Wv)(p,{key:0,placement:"top",title:"msg",width:"20rem",trigger:"hover",content:e.row.TargetMsg},{reference:(0,l.k6)((()=>[(0,l.Lk)("span",Tt,(0,T.v_)(e.row.TargetEP),1),(0,l.bF)(m,{size:"20"},{default:(0,l.k6)((()=>[(0,l.bF)(h)])),_:1})])),_:2},1032,["content"])):((0,l.uX)(),(0,l.CE)("span",{key:1,class:(0,T.C4)({green:e.row.Started})},(0,T.v_)(e.row.TargetEP),3))],64))])),_:1}),(0,l.bF)(d,{property:"Started",label:"状态",width:"60"},{default:(0,l.k6)((e=>[(0,l.bF)(g,{modelValue:e.row.Started,"onUpdate:modelValue":t=>e.row.Started=t,onChange:t=>n.handleStartChange(e.row),"inline-prompt":"","active-text":"开","inactive-text":"关"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,l.bF)(d,{label:"操作",width:"54"},{default:(0,l.k6)((e=>[(0,l.bF)(f,{"confirm-button-text":"确认","cancel-button-text":"取消",title:"删除不可逆,是否确认?",onConfirm:t=>n.handleDel(e.row.Id)},{reference:(0,l.k6)((()=>[(0,l.bF)(s,{type:"danger",size:"small"},{default:(0,l.k6)((()=>[(0,l.bF)(m,null,{default:(0,l.k6)((()=>[(0,l.bF)(v)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onCellDblclick"])])])),_:1},8,["modelValue","onOpen","title"])}var Vt={props:["data","modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:v.DtC,Delete:v.epd},setup(e,{emit:t}){const a=(0,u.B)(),n=mt(),o=(0,d.Kh)({show:!0,machineId:n.value.current,machineName:n.value.machineName,data:[],ips:[],timerTestTarget:0,timerTestListen:0,bufferSize:a.value.bufferSize});(0,l.wB)((()=>o.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const r=()=>{We().then((e=>{e.splice(0,0,"127.0.0.1"),e.splice(0,0,"0.0.0.0"),o.ips=e})).catch((()=>{}))},s=()=>{ze(n.value.current).then((e=>{o.timerTestTarget=setTimeout(s,1e3)})).catch((()=>{o.timerTestTarget=setTimeout(s,1e3)}))},i=()=>{Me().then((e=>{e.List&&(o.data=e.List[o.machineId]||[])})).catch((()=>{}))},c=()=>{i()},h=(e,t)=>{g(e,t.property)},m=()=>{i(),D.nk.success("已刷新")},p=()=>{k({ID:0,Name:"",Port:0,TargetEP:"127.0.0.1:80",machineId:o.machineId})},g=(e,t)=>{e.Started?D.nk.error("请先停止"):(o.data.forEach((e=>{e["NameEditing"]=!1,e["PortEditing"]=!1,e["TargetEPEditing"]=!1,e["BindIPAddressEditing"]=!1})),e[`${t}Editing`]=!0)},v=(e,t)=>{e.Started?D.nk.error("请先停止"):(e[`${t}Editing`]=!1,k(e))},f=e=>{Ae(e).then((()=>{i()}))},w=e=>{k(e)},k=e=>{e.Port=parseInt(e.Port),Be(e).then((()=>{i()})).catch((e=>{D.nk.error(e)}))},b=()=>{n.value.showCopy=!0};return(0,l.sV)((()=>{i(),r(),s()})),(0,l.hi)((()=>{clearTimeout(o.timerTestTarget),clearTimeout(o.timerTestListen)})),{state:o,handleOnShowList:c,handleCellClick:h,handleRefresh:m,handleAdd:p,handleEdit:g,handleEditBlur:v,handleDel:f,handleStartChange:w,handleCopy:b}}};const _t=(0,b.A)(Vt,[["render",Lt],["__scopeId","data-v-2c1a8404"]]);var Et=_t;const yt=e=>((0,l.Qi)("data-v-3a13c86f"),e=e(),(0,l.jt)(),e),It={class:"t-c head"},St=yt((()=>(0,l.Lk)("span",null,"复制",-1))),Pt={class:"t-c"},Mt={class:"page-wrap"},Rt={class:"foot t-c"};function Wt(e,t,a,n,o,r){const s=(0,l.g2)("el-pagination"),u=(0,l.g2)("el-option"),d=(0,l.g2)("el-select"),i=(0,l.g2)("el-table-column"),c=(0,l.g2)("el-checkbox"),h=(0,l.g2)("el-table"),m=(0,l.g2)("el-button"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:"复制端口转发",top:"1vh",width:"500"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",It,[St,(0,l.bF)(d,{modelValue:n.state.machineId,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.machineId=e),onChange:n.handleMachineChange,filterable:"",remote:"",loading:n.state.loading,"remote-method":n.handleSearch},{header:(0,l.k6)((()=>[(0,l.Lk)("div",Pt,[(0,l.Lk)("div",Mt,[(0,l.bF)(s,{small:"",background:"",layout:"prev, pager, next","page-size":n.state.machineIds.Request.Size,total:n.state.machineIds.Count,"pager-count":5,"current-page":n.state.machineIds.Request.Page,onCurrentChange:n.handlePageChange},null,8,["page-size","total","current-page","onCurrentChange"])])])])),default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.machineIds.List,((e,t)=>((0,l.uX)(),(0,l.Wv)(u,{key:t,label:e.MachineName,value:e.MachineId},null,8,["label","value"])))),128))])),_:1},8,["modelValue","onChange","loading","remote-method"]),(0,l.Lk)("span",null,"到【"+(0,T.v_)(n.state.toMachineName)+"】的端口转发记录",1)]),(0,l.bF)(h,{data:n.state.forwards,size:"small",border:""},{default:(0,l.k6)((()=>[(0,l.bF)(i,{property:"Name",label:"名称"}),(0,l.bF)(i,{prop:"BufferSize",label:"缓冲区",width:"60"},{default:(0,l.k6)((e=>[(0,l.eW)((0,T.v_)(1<[(0,l.bF)(c,{modelValue:e.row.use,"onUpdate:modelValue":t=>e.row.use=t},{default:(0,l.k6)((()=>[(0,l.eW)("使用")])),_:2},1032,["modelValue","onUpdate:modelValue"])])),_:1})])),_:1},8,["data"]),(0,l.Lk)("div",Rt,[(0,l.bF)(m,{type:"primary",onClick:n.handleConfirm},{default:(0,l.k6)((()=>[(0,l.eW)("确定复制")])),_:1},8,["onClick"])])])])),_:1},8,["modelValue","onOpen"])}var At={props:["modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:v.DtC},setup(e,{emit:t}){(0,u.B)();const a=mt(),n=(0,d.Kh)({show:!0,loading:!1,machineId:"",toMachineId:a.value.current,toMachineName:a.value.machineName,machineIds:{Request:{Page:1,Size:10,Name:""},Count:0,List:[]},forwards:[]});(0,l.wB)((()=>n.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const o=()=>{r()},r=()=>{n.loading=!0,(0,p.BS)(n.machineIds.Request).then((e=>{n.loading=!1,n.machineIds.Request=e.Request,n.machineIds.Count=e.Count,n.machineIds.List=e.List,!n.machineId&&n.machineIds.List.length>0&&(n.machineId=n.machineIds.List[0].MachineId,c())})).catch((e=>{n.loading=!1}))},s=e=>{n.machineIds.Request.Page=e,r()},i=e=>{n.machineIds.Request.Name=e,r()},c=()=>{Re({MachineId:n.machineId,ToMachineId:n.toMachineId}).then((e=>{e.forEach((e=>{e.use=!0})),n.forwards=e})).catch((e=>{console.log(e)}))},h=()=>{c()},m=()=>{const e=n.forwards.filter((e=>e.use)).map((e=>Be({Name:e.Name,Port:e.Port,TargetEP:e.TargetEP,BufferSize:e.BufferSize,MachineId:n.toMachineId})));Promise.all(e).then((()=>{D.nk.success("已操作!"),n.show=!1})).catch((()=>{D.nk.success("操作失败!")}))};return(0,l.sV)((()=>{r()})),(0,l.hi)((()=>{})),{state:n,handleSearch:i,handleOnShowList:o,handleMachineChange:h,handleConfirm:m,handlePageChange:s}}};const Bt=(0,b.A)(At,[["render",Wt],["__scopeId","data-v-3a13c86f"]]);var zt=Bt;const Nt={class:"t-c head"},Ut={class:"error red"},Xt={class:"error red"};function xt(e,t,a,n,o,r){const s=(0,l.g2)("el-button"),u=(0,l.g2)("el-input"),d=(0,l.g2)("el-table-column"),i=(0,l.g2)("WarnTriangleFilled"),c=(0,l.g2)("el-icon"),h=(0,l.g2)("el-popover"),m=(0,l.g2)("el-switch"),p=(0,l.g2)("Delete"),g=(0,l.g2)("el-popconfirm"),v=(0,l.g2)("el-table"),f=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(f,{modelValue:n.state.show,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:"服务器代理穿透",top:"1vh",width:"700"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",Nt,[(0,l.bF)(s,{type:"success",size:"small",onClick:n.handleAdd},{default:(0,l.k6)((()=>[(0,l.eW)("添加")])),_:1},8,["onClick"]),(0,l.bF)(s,{size:"small",onClick:n.handleRefresh},{default:(0,l.k6)((()=>[(0,l.eW)("刷新")])),_:1},8,["onClick"]),(0,l.bF)(s,{size:"small",onClick:n.handleCopy},{default:(0,l.k6)((()=>[(0,l.eW)("复制穿透配置")])),_:1},8,["onClick"])]),(0,l.bF)(v,{data:n.state.data,size:"small",border:"",height:"500",onCellDblclick:n.handleCellClick},{default:(0,l.k6)((()=>[(0,l.bF)(d,{property:"Name",label:"名称"},{default:(0,l.k6)((e=>[e.row.NameEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":t=>e.row.Name=t,onBlur:t=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[(0,l.eW)((0,T.v_)(e.row.Name),1)],64))])),_:1}),(0,l.bF)(d,{prop:"BufferSize",label:"缓冲区",width:"100"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,T.v_)(1<[e.row.TempEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.Temp,"onUpdate:modelValue":t=>e.row.Temp=t,onBlur:t=>n.handleEditBlur(e.row,"Temp")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[e.row.Msg?((0,l.uX)(),(0,l.Wv)(h,{key:0,placement:"top",title:"msg",width:"20rem",trigger:"hover",content:e.row.Msg},{reference:(0,l.k6)((()=>[(0,l.Lk)("div",Ut,[(0,l.Lk)("span",null,(0,T.v_)(e.row.Temp),1),(0,l.bF)(c,{size:"20"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})])])),_:2},1032,["content"])):((0,l.uX)(),(0,l.CE)("span",{key:1,class:(0,T.C4)({green:e.row.Started})},(0,T.v_)(e.row.Temp),3))],64))])),_:1}),(0,l.bF)(d,{property:"LocalEP",label:"本机服务",width:"140"},{default:(0,l.k6)((e=>[e.row.LocalEPEditing&&0==e.row.Started?((0,l.uX)(),(0,l.Wv)(u,{key:0,autofocus:"",size:"small",modelValue:e.row.LocalEP,"onUpdate:modelValue":t=>e.row.LocalEP=t,onBlur:t=>n.handleEditBlur(e.row,"LocalEP")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[e.row.LocalMsg?((0,l.uX)(),(0,l.Wv)(h,{key:0,placement:"top",title:"msg",width:"20rem",trigger:"hover",content:e.row.LocalMsg},{reference:(0,l.k6)((()=>[(0,l.Lk)("span",Xt,(0,T.v_)(e.row.LocalEP),1),(0,l.bF)(c,{size:"20"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})])),_:2},1032,["content"])):((0,l.uX)(),(0,l.CE)("span",{key:1,class:(0,T.C4)({green:e.row.Started})},(0,T.v_)(e.row.LocalEP),3))],64))])),_:1}),(0,l.bF)(d,{property:"Started",label:"状态",width:"60"},{default:(0,l.k6)((e=>[(0,l.bF)(m,{modelValue:e.row.Started,"onUpdate:modelValue":t=>e.row.Started=t,onChange:t=>n.handleStartChange(e.row),"inline-prompt":"","active-text":"是","inactive-text":"否"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,l.bF)(d,{label:"操作",width:"54"},{default:(0,l.k6)((e=>[(0,l.bF)(g,{"confirm-button-text":"确认","cancel-button-text":"取消",title:"删除不可逆,是否确认?",onConfirm:t=>n.handleDel(e.row.Id)},{reference:(0,l.k6)((()=>[(0,l.bF)(s,{type:"danger",size:"small"},{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.bF)(p)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onCellDblclick"])])])),_:1},8,["modelValue","onOpen"])}var Dt={props:["data","modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:v.DtC,Delete:v.epd},setup(e,{emit:t}){const a=(0,u.B)(),n=ft(),o=(0,d.Kh)({bufferSize:a.value.bufferSize,show:!0,data:[],timerTestLocal:0});(0,l.wB)((()=>o.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const r=()=>{(0,pt.eX)().then((e=>{o.timerTestLocal=setTimeout(r,1e3)})).catch((()=>{o.timerTestLocal=setTimeout(r,1e3)}))},s=()=>{(0,pt.pY)().then((e=>{let t=e.List||[];t.forEach((e=>{e.Temp=(e.Domain||e.RemotePort).toString(),e.RemotePort=0,e.Domain=""})),o.data=t})).catch((()=>{}))},i=()=>{s()},c=(e,t)=>{p(e,t.property)},h=()=>{s(),D.nk.success("已刷新")},m=()=>{(0,pt.Qs)({Id:0,Name:"",RemotePort:0,LocalEP:"127.0.0.1:80",Domain:"",Temp:""}).then((()=>{setTimeout((()=>{s()}),100)})).catch((e=>{D.nk.error(e)}))},p=(e,t)=>{e.Started?D.nk.error("请先停止运行"):(o.data.forEach((e=>{e["NameEditing"]=!1,e["RemotePortEditing"]=!1,e["LocalEPEditing"]=!1,e["DomainEditing"]=!1,e["TempEditing"]=!1})),e[`${t}Editing`]=!0)},g=(e,t)=>{e.Started?D.nk.error("请先停止运行"):(e[`${t}Editing`]=!1,w(e))},v=e=>{(0,pt.DY)(e).then((()=>{s()}))},f=e=>{w(e)},w=e=>{e.Temp&&(/^\d+$/.test(e.Temp)?e.RemotePort=parseInt(e.Temp):e.Domain=e.Temp,(0,pt.Qs)(e).then((()=>{setTimeout((()=>{s()}),100)})).catch((e=>{D.nk.error(e)})))},k=()=>{n.value.showCopy=!0},b=()=>{const e=(t=1e4)=>{if(t>2e4)return;const a={Name:`s-${t}`,RemotePort:t,LocalEP:"127.0.0.1:80",Started:!0};(0,pt.Qs)(a).then((a=>{setTimeout((()=>{e(++t)}),50)})).catch((a=>{console.log(a),D.nk.error(a),setTimeout((()=>{e(++t)}),100)}))};e()};return(0,l.sV)((()=>{s(),r()})),(0,l.hi)((()=>{clearTimeout(o.timerTestLocal)})),{state:o,handleOnShowList:i,handleCellClick:c,handleRefresh:h,handleAdd:m,handleEdit:p,handleEditBlur:g,handleDel:v,handleStartChange:f,handleCopy:k,handle10000:b}}};const Kt=(0,b.A)(Dt,[["render",xt],["__scopeId","data-v-5e37381c"]]);var Gt=Kt;const Ot=e=>((0,l.Qi)("data-v-5512121a"),e=e(),(0,l.jt)(),e),$t={class:"t-c head"},Qt=Ot((()=>(0,l.Lk)("span",null,"复制",-1))),qt={class:"t-c"},jt={class:"page-wrap"},Ht=Ot((()=>(0,l.Lk)("span",null,"的服务器代理穿透记录",-1))),Jt={class:"foot t-c"};function Yt(e,t,a,n,o,r){const s=(0,l.g2)("el-pagination"),u=(0,l.g2)("el-option"),d=(0,l.g2)("el-select"),i=(0,l.g2)("el-table-column"),c=(0,l.g2)("el-checkbox"),h=(0,l.g2)("el-table"),m=(0,l.g2)("el-button"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:"复制服务器代理穿透",top:"1vh",width:"500"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",$t,[Qt,(0,l.bF)(d,{modelValue:n.state.machineId,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.machineId=e),onChange:n.handleMachineChange,filterable:"",remote:"",loading:n.state.loading,"remote-method":n.handleSearch},{header:(0,l.k6)((()=>[(0,l.Lk)("div",qt,[(0,l.Lk)("div",jt,[(0,l.bF)(s,{small:"",background:"",layout:"prev, pager, next","page-size":n.state.machineIds.Request.Size,total:n.state.machineIds.Count,"pager-count":5,"current-page":n.state.machineIds.Request.Page,onCurrentChange:n.handlePageChange},null,8,["page-size","total","current-page","onCurrentChange"])])])])),default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.machineIds.List,((e,t)=>((0,l.uX)(),(0,l.Wv)(u,{key:t,label:e.MachineName,value:e.MachineId},null,8,["label","value"])))),128))])),_:1},8,["modelValue","onChange","loading","remote-method"]),Ht]),(0,l.bF)(h,{data:n.state.forwards,size:"small",border:""},{default:(0,l.k6)((()=>[(0,l.bF)(i,{property:"Name",label:"名称"}),(0,l.bF)(i,{property:"Domain",label:"域名/端口"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,T.v_)(e.row.Domain||e.row.RemotePort),1)])),_:1}),(0,l.bF)(i,{property:"LocalEP",label:"本机服务",width:"140"}),(0,l.bF)(i,{label:"操作",width:"80"},{default:(0,l.k6)((e=>[(0,l.bF)(c,{modelValue:e.row.use,"onUpdate:modelValue":t=>e.row.use=t},{default:(0,l.k6)((()=>[(0,l.eW)("使用")])),_:2},1032,["modelValue","onUpdate:modelValue"])])),_:1})])),_:1},8,["data"]),(0,l.Lk)("div",Jt,[(0,l.bF)(m,{type:"primary",onClick:n.handleConfirm},{default:(0,l.k6)((()=>[(0,l.eW)("确定复制")])),_:1},8,["onClick"])])])])),_:1},8,["modelValue","onOpen"])}var Zt={props:["modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:v.DtC},setup(e,{emit:t}){(0,u.B)();const a=(0,d.Kh)({show:!0,loading:!1,machineId:"",machineIds:{Request:{Page:1,Size:10,Name:""},Count:0,List:[]},forwards:[]});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const n=()=>{o()},o=()=>{a.loading=!0,(0,p.BS)(a.machineIds.Request).then((e=>{a.loading=!1,a.machineIds.Request=e.Request,a.machineIds.Count=e.Count,a.machineIds.List=e.List,!a.machineId&&a.machineIds.List.length>0&&(a.machineId=a.machineIds.List[0].MachineId,i())})).catch((e=>{a.loading=!1}))},r=e=>{a.machineIds.Request.Page=e,o()},s=e=>{a.machineIds.Request.Name=e,o()},i=()=>{(0,pt.$U)(a.machineId).then((e=>{e.forEach((e=>{e.use=!0})),a.forwards=e})).catch((e=>{console.log(e)}))},c=()=>{i()},h=()=>{const e=a.forwards.filter((e=>e.use)).map((e=>(0,pt.Qs)({Name:e.Name,Domain:e.Domain,RemotePort:e.RemotePort,LocalEP:e.LocalEP})));Promise.all(e).then((()=>{D.nk.success("已操作!"),a.show=!1})).catch((()=>{D.nk.success("操作失败!")}))};return(0,l.sV)((()=>{o()})),(0,l.hi)((()=>{})),{state:a,handleSearch:s,handleOnShowList:n,handleMachineChange:c,handleConfirm:h,handlePageChange:r}}};const ea=(0,b.A)(Zt,[["render",Yt],["__scopeId","data-v-5512121a"]]);var ta=ea;function aa(e,t,a,n,o,r){const s=(0,l.g2)("el-table-column"),u=(0,l.g2)("Delete"),d=(0,l.g2)("el-icon"),i=(0,l.g2)("el-button"),c=(0,l.g2)("el-popconfirm"),h=(0,l.g2)("el-table"),m=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(m,{modelValue:n.state.show,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.show=e),"append-to":".app-wrap",title:`与[${n.state.machineName}]的链接`,top:"1vh",width:"700"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(h,{data:n.state.data,size:"small",border:"",height:"500"},{default:(0,l.k6)((()=>[(0,l.bF)(s,{property:"RemoteMachineId",label:"目标"},{default:(0,l.k6)((e=>[(0,l.Lk)("div",{class:(0,T.C4)({green:e.row.Connected})},[(0,l.Lk)("p",null,(0,T.v_)(e.row.IPEndPoint),1),(0,l.Lk)("p",null,"ssl : "+(0,T.v_)(e.row.SSL),1)],2)])),_:1}),(0,l.bF)(s,{property:"TransactionId",label:"事务",width:"80"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,T.v_)(n.state.transactions[e.row.TransactionId]),1)])),_:1}),(0,l.bF)(s,{property:"TransportName",label:"协议"},{default:(0,l.k6)((e=>[(0,l.Lk)("div",null,[(0,l.Lk)("p",null,(0,T.v_)(e.row.TransportName)+"("+(0,T.v_)(n.state.protocolTypes[e.row.ProtocolType])+")",1),(0,l.Lk)("p",null,(0,T.v_)(n.state.types[e.row.Type])+" - "+(0,T.v_)(1<[(0,l.Lk)("span",null,(0,T.v_)(e.row.Delay)+"ms",1)])),_:1}),(0,l.bF)(s,{property:"Bytes",label:"通信"},{default:(0,l.k6)((e=>[(0,l.Lk)("div",null,[(0,l.Lk)("p",null,"up : "+(0,T.v_)(e.row.SendBytesText),1),(0,l.Lk)("p",null,"down : "+(0,T.v_)(e.row.ReceiveBytesText),1)])])),_:1}),(0,l.bF)(s,{label:"操作",width:"54"},{default:(0,l.k6)((e=>[n.hasTunnelRemove?((0,l.uX)(),(0,l.Wv)(c,{key:0,"confirm-button-text":"确认","cancel-button-text":"取消",title:"确定关闭此连接?",onConfirm:t=>n.handleDel(e.row)},{reference:(0,l.k6)((()=>[(0,l.bF)(i,{type:"danger",size:"small"},{default:(0,l.k6)((()=>[(0,l.bF)(d,null,{default:(0,l.k6)((()=>[(0,l.bF)(u)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])):(0,l.Q3)("",!0)])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue","title"])}var la={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:v.epd},setup(e,{emit:t}){const a=(0,u.B)(),n=(0,l.EW)((()=>a.value.hasAccess("TunnelRemove"))),o=De(),r=Ke(),s=Ge(),i=(0,d.Kh)({show:!0,protocolTypes:{1:"tcp",2:"udp",4:"msquic"},types:{0:"打洞",1:"中继"},transactions:{forward:"端口转发",tuntap:"虚拟网卡"},machineName:o.value.currentName,data:(0,l.EW)((()=>[r.value.list[o.value.current],s.value.list[o.value.current]].filter((e=>!!e))))});(0,l.wB)((()=>i.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e),t("change")}),300)}));const c=e=>{n.value&&e.removeFunc(e.RemoteMachineId).then((()=>{D.nk.success("删除成功")})).catch((()=>{}))};return(0,l.sV)((()=>{o.value.updateRealTime(!0)})),(0,l.hi)((()=>{o.value.updateRealTime(!1)})),{state:i,handleDel:c,hasTunnelRemove:n}}};const na=(0,b.A)(la,[["render",aa],["__scopeId","data-v-337b0bab"]]);var oa=na,ra=a(7985),sa=a(9383),ua={components:{Oper:C,Device:N,DeviceEdit:O,AccessEdit:J,Tunnel:Qe,TunnelEdit:tt,ConnectionsEdit:oa,Tuntap:ne,TuntapEdit:be,Forward:bt,ForwardEdit:Et,ForwardCopy:zt,SForwardEdit:Gt,SForwardCopy:ta},setup(e){const t=(0,u.B)(),a=(0,d.Kh)({height:(0,l.EW)((()=>t.value.height-90))}),{devices:n,machineId:o,_getSignList:r,_getSignList1:s,handleDeviceEdit:i,handleAccessEdit:c,handlePageChange:h,handlePageSizeChange:m,handleDel:p,clearDevicesTimeout:g,setSort:v}=(0,ra.r)(),{tuntap:f,_getTuntapInfo:k,handleTuntapEdit:b,handleTuntapRefresh:F,clearTuntapTimeout:C,getTuntapMachines:T,sortTuntapIP:L}=(0,ee.O)(),{tunnel:V,_getTunnelInfo:_,handleTunnelEdit:E,handleTunnelRefresh:y,clearTunnelTimeout:I,sortTunnel:S}=Ee(),{forward:P,_getForwardInfo:M,handleForwardEdit:R,_testTargetForwardInfo:W,clearForwardTimeout:A,getForwardMachines:B}=ht(),{sforward:z,_getSForwardInfo:N,handleSForwardEdit:U,_testLocalSForwardInfo:X,clearSForwardTimeout:x,getSForwardMachines:K}=vt(),{connections:G,forwardConnections:O,_getForwardConnections:$,tuntapConnections:Q,_getTuntapConnections:q,handleTunnelConnections:j,clearConnectionsTimeout:H}=xe(),{_getUpdater:J,_subscribeUpdater:Y,clearUpdaterTimeout:Z}=(0,sa.d)(),{_getAccessInfo:te,clearAccessTimeout:ae}=(0,w.Y)(),le=e=>{n.page.Request.Prop=e.prop,n.page.Request.Asc="ascending"==e.order;let t=new Promise(((e,t)=>{e()}));if("tunnel"==e.prop){const e=S(n.page.Request.Asc);e.length>0&&(t=v(e))}else if("tuntap"==e.prop){const e=L(n.page.Request.Asc);e.length>0&&(t=v(e))}t.then((()=>{h()})).catch((()=>{}))},ne=e=>{R(e,n.page.List.filter((t=>t.MachineId==e))[0].MachineName)},oe=e=>{n.page.Request.Name=e||"",n.page.Request.Name?n.page.Request.Ids=T(n.page.Request.Name).concat(B(n.page.Request.Name)).concat(K(n.page.Request.Name)).reduce(((e,t)=>(-1==e.indexOf(t)&&e.push(t),e)),[]):n.page.Request.Ids=[],h(),y(),F(),D.nk.success({message:"刷新成功",grouping:!0})},re=()=>{h(),y(),F(),D.nk.success({message:"刷新成功",grouping:!0})};return(0,l.sV)((()=>{h(),y(),F(),r(),s(),k(),_(),$(),q(),M(),N(),J(),Y(),te(),W(),X()})),(0,l.hi)((()=>{g(),H(),C(),I(),A(),x(),Z(),ae()})),{state:a,devices:n,machineId:o,handleSortChange:le,handleDeviceEdit:i,handleAccessEdit:c,handlePageRefresh:oe,handlePageSearch:re,handlePageChange:h,handlePageSizeChange:m,handleDel:p,tuntap:f,handleTuntapEdit:b,handleTuntapRefresh:F,tunnel:V,connections:G,handleTunnelEdit:E,handleTunnelRefresh:y,handleTunnelConnections:j,forward:P,_handleForwardEdit:ne,sforward:z,handleSForwardEdit:U}}};const da=(0,b.A)(ua,[["render",s],["__scopeId","data-v-137c2b43"]]);var ia=da},2126:function(e,t,a){a.d(t,{A:function(){return b}});var l=a(6768),n=a(4232);const o=["title"],r={key:0,class:"progress"},s={key:1,class:"progress"};function u(e,t,a,u,d,i){const c=(0,l.g2)("Loading"),h=(0,l.g2)("el-icon"),m=(0,l.g2)("Download"),p=(0,l.g2)("CircleCheck");return(0,l.uX)(),(0,l.CE)("a",{href:"javascript:;",class:(0,n.C4)(["download",u.updaterColor]),onClick:t[0]||(t[0]=e=>u.handleUpdate()),title:u.updaterText},[(0,l.Lk)("span",null,[(0,l.Lk)("span",null,(0,n.v_)(u.item.Version),1),u.updater.list[u.item.MachineId]?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[1==u.updater.list[u.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:0,size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1})):2==u.updater.list[u.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1})):3==u.updater.list[u.item.MachineId].Status||5==u.updater.list[u.item.MachineId].Status?((0,l.uX)(),(0,l.CE)(l.FK,{key:2},[(0,l.bF)(h,{size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1}),0==u.updater.list[u.item.MachineId].Length?((0,l.uX)(),(0,l.CE)("span",r,"0%")):((0,l.uX)(),(0,l.CE)("span",s,(0,n.v_)(parseInt(u.updater.list[u.item.MachineId].Current/u.updater.list[u.item.MachineId].Length*100))+"%",1))],64)):6==u.updater.list[u.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:3,size:"14",class:"yellow"},{default:(0,l.k6)((()=>[(0,l.bF)(p)])),_:1})):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.Wv)(h,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1}))])],10,o)}a(4114);var d=a(3830),i=a(144),c=a(1219),h=a(2933),m=a(2248),p=a(920),g=a(7477),v=a(9383),f={props:["item","config"],components:{Download:g.f5X,Loading:g.Rhj,CircleCheck:g.rW7},setup(e){const t=(0,d.B)(),a=(0,l.EW)((()=>t.value.hasAccess("UpdateSelf"))),n=(0,l.EW)((()=>t.value.hasAccess("UpdateOther"))),o=(0,v.T)(),r=(0,l.EW)((()=>t.value.signin.Version)),s=(0,l.EW)((()=>o.value.current.Version)),u=(0,l.EW)((()=>`${s.value}->${o.value.current.DateTime}\n${o.value.current.Msg.map(((e,t)=>`${t+1}、${e}`)).join("\n")}`)),g=(0,l.EW)((()=>o.value.list[e.item.MachineId]?o.value.list[e.item.MachineId].Status<=2?e.item.Version!=r.value?`与服务器版本(${r.value})不一致,建议更新`:s.value!=e.item.Version?`不是最新版本(${s.value}),建议更新\n${u.value}`:`是最新版本,但我无法阻止你喜欢更新\n${u.value}`:{3:"正在下载",4:"已下载",5:"正在解压",6:"已解压,请重启"}[o.value.list[e.item.MachineId].Status]:"未检测到更新")),f=(0,l.EW)((()=>e.item.Version!=r.value?"red":o.value.list[e.item.MachineId]&&s.value!=e.item.Version?"yellow":"green")),w=()=>{if(!e.config)return;if(!a.value)return;const t=o.value.list[e.item.MachineId];if(t)if([0,1,3,5].indexOf(t.Status)>=0)c.nk.error("操作中,请稍后!");else if(6!=t.Status){if(2==t.Status){const t=(0,i.KR)(s.value),a=[(0,l.h)(m.P9,{label:`仅[${e.item.MachineName}] -> ${s.value}(最新版本)`,value:s.value})];e.config&&n.value&&a.push((0,l.h)(m.P9,{label:`[所有] -> ${s.value}(最新版本)`,value:`all->${s.value}`})),e.item.Version!=r.value&&s.value!=r.value&&(a.push((0,l.h)(m.P9,{label:`仅[${e.item.MachineName}] -> ${r.value}(服务器版本)`,value:r.value})),e.config&&n.value&&a.push((0,l.h)(m.P9,{label:`[所有] -> ${r.value}(服务器版本)`,value:`all->${r.value}`}))),(0,h.s)({title:"选择版本",message:()=>(0,l.h)(m.AV,{modelValue:t.value,placeholder:"请选择",style:"width:20rem;","onUpdate:modelValue":e=>{t.value=e}},a),confirmButtonText:"确定",cancelButtonText:"取消"}).then((()=>{const a={MachineId:e.item.MachineId,Version:t.value.replace("all->",""),All:t.value.indexOf("all->")>=0};a.All&&(a.MachineId=""),(0,p.lJ)(a)})).catch((()=>{}))}}else h.s.confirm("确定关闭程序吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{exit(e.item.MachineId)})).catch((()=>{}));else c.nk.error("未检测到更新")};return{item:(0,l.EW)((()=>e.item)),updater:o,updaterText:g,updaterColor:f,handleUpdate:w}}},w=a(1241);const k=(0,w.A)(f,[["render",u],["__scopeId","data-v-56d38c60"]]);var b=k}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/201.7528665b.js b/linker.tray.win/web/js/497.296f6b51.js similarity index 61% rename from linker.tray.win/web/js/201.7528665b.js rename to linker.tray.win/web/js/497.296f6b51.js index 8abaab8a..ef0c07a2 100644 --- a/linker.tray.win/web/js/201.7528665b.js +++ b/linker.tray.win/web/js/497.296f6b51.js @@ -1 +1 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[201],{5241:function(e,t,n){n.d(t,{Jd:function(){return d},PR:function(){return u},Yh:function(){return o},ac:function(){return r},en:function(){return c},kl:function(){return a},vB:function(){return s},zi:function(){return l}});var i=n(4);const a=(e="0")=>(0,i.zG)("tuntapclient/connections",e),s=e=>(0,i.zG)("tuntapclient/removeconnection",e),l=(e="0")=>(0,i.zG)("tuntapclient/get",e),c=e=>(0,i.zG)("tuntapclient/run",e),u=e=>(0,i.zG)("tuntapclient/stop",e),r=e=>(0,i.zG)("tuntapclient/update",e),o=()=>(0,i.zG)("tuntapclient/refresh"),d=()=>(0,i.zG)("tuntapclient/SubscribePing")},7985:function(e,t,n){n.d(t,{r:function(){return u}});n(4114);var i=n(9299),a=n(3830),s=n(6768),l=n(144);const c=[],u=()=>{const e=(0,a.B)(),t=(0,s.EW)((()=>e.value.config.Client.Id)),n=(0,l.Kh)({timer:0,page:{Request:{Page:1,Size:+(localStorage.getItem("ps")||"10"),Name:"",Ids:[],Prop:"",Asc:!0},Count:0,List:[]},showDeviceEdit:!1,showAccessEdit:!1,deviceInfo:null}),u=()=>{(0,i.nD)(n.page.Request).then((i=>{n.page.Request=i.Request,n.page.Count=i.Count;for(let n in i.List)Object.assign(i.List[n],{showDel:t.value!=i.List[n].MachineId&&0==i.List[n].Connected,showAccess:t.value!=i.List[n].MachineId&&i.List[n].Connected,showReboot:i.List[n].Connected,isSelf:t.value==i.List[n].MachineId,showip:!1}),i.List[n].isSelf&&(e.value.self=i.List[n]);n.page.List=i.List;for(let e=0;e{}))},r=()=>{(0,i.nD)(n.page.Request).then((i=>{for(let a in i.List){const s=n.page.List.filter((e=>e.MachineId==i.List[a].MachineId))[0];s&&(Object.assign(s,{Connected:i.List[a].Connected,Version:i.List[a].Version,LastSignIn:i.List[a].LastSignIn,Args:i.List[a].Args,showDel:t.value!=i.List[a].MachineId&&0==i.List[a].Connected,showAccess:t.value!=i.List[a].MachineId&&i.List[a].Connected,showReboot:i.List[a].Connected,isSelf:t.value==i.List[a].MachineId}),s.isSelf&&(e.value.self=s))}n.timer=setTimeout(r,5e3)})).catch((e=>{n.timer=setTimeout(r,5e3)}))},o=()=>{try{if(0==c.length)return void setTimeout(o,1e3);const e=c.shift();fetch(`http://ip-api.com/json/${e.IP.split(":")[0]}`).then((async t=>{try{const n=await t.json();e.countryFlag=`https://unpkg.com/flag-icons@7.2.3/flags/4x3/${n.countryCode.toLowerCase()}.svg`}catch(n){}setTimeout(o,1e3)})).catch((()=>{setTimeout(o,1e3)}))}catch(e){setTimeout(o,1e3)}};o();const d=e=>{n.deviceInfo=e,n.showDeviceEdit=!0},h=e=>{n.deviceInfo=e,n.showAccessEdit=!0},m=e=>{e&&(n.page.Request.Page=e),u()},p=e=>{e&&(n.page.Request.Size=e,localStorage.setItem("ps",e)),u()},g=e=>{(0,i.Se)(e).then((()=>{u()}))},f=()=>{clearTimeout(n.timer),n.timer=0},v=e=>(0,i.VN)(e);return{devices:n,machineId:t,_getSignList:u,_getSignList1:r,handleDeviceEdit:d,handleAccessEdit:h,handlePageChange:m,handlePageSizeChange:p,handleDel:g,clearDevicesTimeout:f,setSort:v}}},8104:function(e,t,n){n.d(t,{O:function(){return r},W:function(){return o}});var i=n(3830),a=n(1219),s=n(144),l=n(6768),c=n(5241);const u=Symbol(),r=()=>{(0,i.B)();const e=(0,s.KR)({timer:0,showEdit:!1,current:null,list:{},hashcode:0});(0,l.Gt)(u,e);const t={linux:["debian","ubuntu","alpine","rocky","centos"],windows:["windows"],android:["android"],ios:["ios"]},n=()=>{clearTimeout(e.value.timer),(0,c.zi)(e.value.hashcode.toString()).then((i=>{if(e.value.hashcode=i.HashCode,i.List){for(let e in i.List){let n="system";const a=i.List[e].SystemInfo.toLowerCase();for(let e in t)if(a.indexOf(e)>=0){const i=t[e];if(1==i.length)n=i[0];else for(let e=0;e=0){n=i[e];break}break}Object.assign(i.List[e],{running:2==i.List[e].Status,loading:1==i.List[e].Status,system:n,systemDocker:a.indexOf("docker")>=0})}e.value.list=i.List}e.value.timer=setTimeout(n,1100),(0,c.Jd)()})).catch((t=>{e.value.timer=setTimeout(n,1100)}))},r=t=>{e.value.current=t,e.value.showEdit=!0},o=()=>{(0,c.Yh)(),a.nk.success({message:"刷新成功",grouping:!0})},d=()=>{clearTimeout(e.value.timer),e.value.timer=0},h=t=>Object.values(e.value.list).filter((e=>e.IP.indexOf(t)>=0||e.LanIPs.filter((e=>e.indexOf(t)>=0)).length>0)).map((e=>e.MachineId)),m=t=>{const n=Object.values(e.value.list).filter((e=>e.IP)).sort(((e,t)=>{const n=e.IP.split(".").map((e=>Number(e))),i=t.IP.split(".").map((e=>Number(e)));for(let a=0;ae.MachineId))};return{tuntap:e,_getTuntapInfo:n,handleTuntapEdit:r,handleTuntapRefresh:o,clearTuntapTimeout:d,getTuntapMachines:h,sortTuntapIP:m}},o=()=>(0,l.WQ)(u)},886:function(e,t,n){n.d(t,{A:function(){return v}});var i=n(6768),a=n(4232);const s=["title"],l=["src"],c=["src"],u={key:1,class:"system",src:"/docker.svg"},r={key:1};function o(e,t,n,o,d,h){const m=(0,i.g2)("StarFilled"),p=(0,i.g2)("el-icon");return(0,i.uX)(),(0,i.CE)("div",null,[o.tuntap.list[o.item.MachineId]&&o.tuntap.list[o.item.MachineId].system?((0,i.uX)(),(0,i.CE)("span",{key:0,title:o.tuntap.list[o.item.MachineId].SystemInfo},[o.item.countryFlag?((0,i.uX)(),(0,i.CE)("img",{key:0,class:"system",src:o.item.countryFlag},null,8,l)):(0,i.Q3)("",!0),(0,i.Lk)("img",{class:"system",src:`/${o.tuntap.list[o.item.MachineId].system}.svg`},null,8,c),o.tuntap.list[o.item.MachineId].systemDocker?((0,i.uX)(),(0,i.CE)("img",u)):(0,i.Q3)("",!0)],8,s)):(0,i.Q3)("",!0),(0,i.Lk)("a",{href:"javascript:;",onClick:t[0]||(t[0]=(...e)=>o.handleEdit&&o.handleEdit(...e)),title:"此客户端的设备名",class:(0,a.C4)({green:o.item.Connected})},(0,a.v_)(o.item.MachineName),3),o.item.isSelf?((0,i.uX)(),(0,i.CE)("strong",r,[(0,i.eW)(" - ("),(0,i.bF)(p,null,{default:(0,i.k6)((()=>[(0,i.bF)(m)])),_:1}),(0,i.eW)(" 本机) ")])):(0,i.Q3)("",!0)])}var d=n(3830),h=n(8104),m=n(7477),p={props:["item","config"],emits:["edit","refresh"],components:{StarFilled:m.BQ2},setup(e,{emit:t}){const n=(0,h.W)(),a=(0,d.B)(),s=(0,i.EW)((()=>a.value.hasAccess("RenameSelf"))),l=(0,i.EW)((()=>a.value.hasAccess("RenameOther"))),c=(0,i.EW)((()=>a.value.config.Client.Id)),u=()=>{if(e.config){if(c.value===e.item.MachineId){if(!s.value)return}else if(!l.value)return;t("edit",e.item)}};return{item:(0,i.EW)((()=>e.item)),tuntap:n,handleEdit:u}}},g=n(1241);const f=(0,g.A)(p,[["render",o],["__scopeId","data-v-a998806a"]]);var v=f},3630:function(e,t,n){n.d(t,{A:function(){return C}});var i=n(6768),a=n(4232);const s={class:"flex"},l={class:"flex-1"},c=["title"],u={class:"red"},r={key:0},o={class:"yellow"},d={key:1},h={key:0,class:"delay green"},m={class:"delay yellow"};function p(e,t,n,p,g,f){const v=(0,i.g2)("el-popover"),I=(0,i.g2)("Loading"),L=(0,i.g2)("el-icon"),k=(0,i.g2)("el-switch");return(0,i.uX)(),(0,i.CE)("div",null,[(0,i.Lk)("div",s,[(0,i.Lk)("div",l,[(0,i.Lk)("a",{href:"javascript:;",class:"a-line",onClick:t[0]||(t[0]=e=>p.handleTuntapIP(p.tuntap.list[p.item.MachineId])),title:p.tuntap.list[p.item.MachineId].Gateway?"我在路由器上,所以略有不同":"此设备的虚拟网卡IP"},[p.tuntap.list[p.item.MachineId].Error?((0,i.uX)(),(0,i.Wv)(v,{key:0,placement:"top",title:"msg",width:"20rem",trigger:"hover",content:p.tuntap.list[p.item.MachineId].Error},{reference:(0,i.k6)((()=>[(0,i.Lk)("strong",u,(0,a.v_)(p.tuntap.list[p.item.MachineId].IP),1)])),_:1},8,["content"])):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[p.tuntap.list[p.item.MachineId].running?((0,i.uX)(),(0,i.CE)("strong",{key:0,class:(0,a.C4)(["green",{gateway:p.tuntap.list[p.item.MachineId].Gateway}])},(0,a.v_)(p.tuntap.list[p.item.MachineId].IP),3)):((0,i.uX)(),(0,i.CE)("strong",{key:1,class:(0,a.C4)({gateway:p.tuntap.list[p.item.MachineId].Gateway})},(0,a.v_)(p.tuntap.list[p.item.MachineId].IP),3))],64))],8,c)]),p.tuntap.list[p.item.MachineId].loading?((0,i.uX)(),(0,i.CE)("div",r,[(0,i.bF)(L,{size:"14",class:"loading"},{default:(0,i.k6)((()=>[(0,i.bF)(I)])),_:1})])):((0,i.uX)(),(0,i.Wv)(k,{key:1,modelValue:p.tuntap.list[p.item.MachineId].running,"onUpdate:modelValue":t[1]||(t[1]=e=>p.tuntap.list[p.item.MachineId].running=e),loading:p.tuntap.list[p.item.MachineId].loading,disabled:"",onClick:t[2]||(t[2]=e=>p.handleTuntap(p.tuntap.list[p.item.MachineId])),size:"small","inline-prompt":"","active-text":"😀","inactive-text":"😣"},null,8,["modelValue","loading"]))]),(0,i.Lk)("div",null,[p.tuntap.list[p.item.MachineId].Error1?((0,i.uX)(),(0,i.Wv)(v,{key:0,placement:"top",title:"msg",width:"20rem",trigger:"hover",content:p.tuntap.list[p.item.MachineId].Error1},{reference:(0,i.k6)((()=>[(0,i.Lk)("div",o,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(p.tuntap.list[p.item.MachineId].LanIPs,((e,t)=>((0,i.uX)(),(0,i.CE)("div",{key:t},(0,a.v_)(e)+" / "+(0,a.v_)(p.tuntap.list[p.item.MachineId].Masks[t]),1)))),128))])])),_:1},8,["content"])):((0,i.uX)(),(0,i.CE)("div",d,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(p.tuntap.list[p.item.MachineId].LanIPs,((e,t)=>((0,i.uX)(),(0,i.CE)("div",{key:t},(0,a.v_)(e)+" / "+(0,a.v_)(p.tuntap.list[p.item.MachineId].Masks[t]),1)))),128))])),p.showDelay?((0,i.uX)(),(0,i.CE)(i.FK,{key:2},[p.tuntap.list[p.item.MachineId].Delay>=0&&p.tuntap.list[p.item.MachineId].Delay<=100?((0,i.uX)(),(0,i.CE)("div",h,(0,a.v_)(p.tuntap.list[p.item.MachineId].Delay)+"ms",1)):(0,i.Q3)("",!0),(0,i.Lk)("template",null,[(0,i.Lk)("div",m,(0,a.v_)(p.tuntap.list[p.item.MachineId].Delay)+"ms",1)])],64)):(0,i.Q3)("",!0)])])}var g=n(5241),f=n(1219),v=n(8104),I=n(7477),L=n(3830),k={props:["item","config"],emits:["edit","refresh"],components:{Loading:I.Rhj},setup(e,{emit:t}){const n=(0,v.W)(),a=(0,L.B)(),s=(0,i.EW)((()=>a.value.config.Client.Id)),l=(0,i.EW)((()=>a.value.hasAccess("TuntapChangeSelf"))),c=(0,i.EW)((()=>a.value.hasAccess("TuntapChangeOther"))),u=(0,i.EW)((()=>a.value.hasAccess("TuntapStatusSelf"))),r=(0,i.EW)((()=>a.value.hasAccess("TuntapStatusOther"))),o=(0,i.EW)((()=>2==(2&(a.value.config.Running.Tuntap||{Switch:0}).Switch))),d=t=>{if(!e.config)return;if(s.value===t.MachineId){if(!u.value)return}else if(!r.value)return;const n=t.running?(0,g.PR)(t.MachineId):(0,g.en)(t.MachineId);t.loading=!0,n.then((()=>{f.nk.success("操作成功!")})).catch((()=>{f.nk.error("操作失败!")}))},h=n=>{if(e.config||s.value==n.MachineId){if(s.value===n.MachineId){if(!l.value)return}else if(!c.value)return;n.device=e.item,t("edit",n)}},m=()=>{t("refresh")};return{item:(0,i.EW)((()=>e.item)),tuntap:n,showDelay:o,handleTuntap:d,handleTuntapIP:h,handleTuntapRefresh:m}}},y=n(1241);const M=(0,y.A)(k,[["render",p],["__scopeId","data-v-8a7ccef2"]]);var C=M}}]); \ No newline at end of file +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[497],{5241:function(e,t,n){n.d(t,{Jd:function(){return d},PR:function(){return u},Yh:function(){return o},ac:function(){return r},en:function(){return c},kl:function(){return a},vB:function(){return s},zi:function(){return l}});var i=n(4);const a=(e="0")=>(0,i.zG)("tuntapclient/connections",e),s=e=>(0,i.zG)("tuntapclient/removeconnection",e),l=(e="0")=>(0,i.zG)("tuntapclient/get",e),c=e=>(0,i.zG)("tuntapclient/run",e),u=e=>(0,i.zG)("tuntapclient/stop",e),r=e=>(0,i.zG)("tuntapclient/update",e),o=()=>(0,i.zG)("tuntapclient/refresh"),d=()=>(0,i.zG)("tuntapclient/SubscribePing")},7985:function(e,t,n){n.d(t,{r:function(){return u}});n(4114);var i=n(9299),a=n(3830),s=n(6768),l=n(144);const c=[],u=()=>{const e=(0,a.B)(),t=(0,s.EW)((()=>e.value.config.Client.Id)),n=(0,l.Kh)({timer:0,page:{Request:{Page:1,Size:+(localStorage.getItem("ps")||"10"),Name:"",Ids:[],Prop:"",Asc:!0},Count:0,List:[]},showDeviceEdit:!1,showAccessEdit:!1,deviceInfo:null}),u=()=>{(0,i.nD)(n.page.Request).then((i=>{n.page.Request=i.Request,n.page.Count=i.Count;for(let n in i.List)Object.assign(i.List[n],{showDel:t.value!=i.List[n].MachineId&&0==i.List[n].Connected,showAccess:t.value!=i.List[n].MachineId&&i.List[n].Connected,showReboot:i.List[n].Connected,isSelf:t.value==i.List[n].MachineId,showip:!1}),i.List[n].isSelf&&(e.value.self=i.List[n]);n.page.List=i.List;for(let e=0;e{}))},r=()=>{(0,i.nD)(n.page.Request).then((i=>{for(let a in i.List){const s=n.page.List.filter((e=>e.MachineId==i.List[a].MachineId))[0];s&&(Object.assign(s,{Connected:i.List[a].Connected,Version:i.List[a].Version,LastSignIn:i.List[a].LastSignIn,Args:i.List[a].Args,showDel:t.value!=i.List[a].MachineId&&0==i.List[a].Connected,showAccess:t.value!=i.List[a].MachineId&&i.List[a].Connected,showReboot:i.List[a].Connected,isSelf:t.value==i.List[a].MachineId}),s.isSelf&&(e.value.self=s))}n.timer=setTimeout(r,5e3)})).catch((e=>{n.timer=setTimeout(r,5e3)}))},o=()=>{try{if(0==c.length)return void setTimeout(o,1e3);const e=c.shift();fetch(`http://ip-api.com/json/${e.IP.split(":")[0]}`).then((async t=>{try{const n=await t.json();e.countryFlag=`https://unpkg.com/flag-icons@7.2.3/flags/4x3/${n.countryCode.toLowerCase()}.svg`}catch(n){}setTimeout(o,1e3)})).catch((()=>{setTimeout(o,1e3)}))}catch(e){setTimeout(o,1e3)}};o();const d=e=>{n.deviceInfo=e,n.showDeviceEdit=!0},h=e=>{n.deviceInfo=e,n.showAccessEdit=!0},m=e=>{e&&(n.page.Request.Page=e),u()},p=e=>{e&&(n.page.Request.Size=e,localStorage.setItem("ps",e)),u()},g=e=>{(0,i.Se)(e).then((()=>{u()}))},v=()=>{clearTimeout(n.timer),n.timer=0},f=e=>(0,i.VN)(e);return{devices:n,machineId:t,_getSignList:u,_getSignList1:r,handleDeviceEdit:d,handleAccessEdit:h,handlePageChange:m,handlePageSizeChange:p,handleDel:g,clearDevicesTimeout:v,setSort:f}}},8104:function(e,t,n){n.d(t,{O:function(){return r},W:function(){return o}});var i=n(3830),a=n(1219),s=n(144),l=n(6768),c=n(5241);const u=Symbol(),r=()=>{(0,i.B)();const e=(0,s.KR)({timer:0,showEdit:!1,current:null,list:{},hashcode:0});(0,l.Gt)(u,e);const t={linux:["debian","ubuntu","alpine","rocky","centos"],windows:["windows"],android:["android"],ios:["ios"]},n=()=>{clearTimeout(e.value.timer),(0,c.zi)(e.value.hashcode.toString()).then((i=>{if(e.value.hashcode=i.HashCode,i.List){for(let e in i.List){let n="system";const a=i.List[e].SystemInfo.toLowerCase();for(let e in t)if(a.indexOf(e)>=0){const i=t[e];if(1==i.length)n=i[0];else for(let e=0;e=0){n=i[e];break}break}Object.assign(i.List[e],{running:2==i.List[e].Status,loading:1==i.List[e].Status,system:n,systemDocker:a.indexOf("docker")>=0})}e.value.list=i.List}e.value.timer=setTimeout(n,1100),(0,c.Jd)()})).catch((t=>{e.value.timer=setTimeout(n,1100)}))},r=t=>{e.value.current=t,e.value.showEdit=!0},o=()=>{(0,c.Yh)(),a.nk.success({message:"刷新成功",grouping:!0})},d=()=>{clearTimeout(e.value.timer),e.value.timer=0},h=t=>Object.values(e.value.list).filter((e=>e.IP.indexOf(t)>=0||e.LanIPs.filter((e=>e.indexOf(t)>=0)).length>0)).map((e=>e.MachineId)),m=t=>{const n=Object.values(e.value.list).filter((e=>e.IP)).sort(((e,t)=>{const n=e.IP.split(".").map((e=>Number(e))),i=t.IP.split(".").map((e=>Number(e)));for(let a=0;ae.MachineId))};return{tuntap:e,_getTuntapInfo:n,handleTuntapEdit:r,handleTuntapRefresh:o,clearTuntapTimeout:d,getTuntapMachines:h,sortTuntapIP:m}},o=()=>(0,l.WQ)(u)},886:function(e,t,n){n.d(t,{A:function(){return f}});var i=n(6768),a=n(4232);const s=["title"],l=["src"],c=["src"],u={key:1,class:"system",src:"/docker.svg"},r={key:1};function o(e,t,n,o,d,h){const m=(0,i.g2)("StarFilled"),p=(0,i.g2)("el-icon");return(0,i.uX)(),(0,i.CE)("div",null,[o.tuntap.list[o.item.MachineId]&&o.tuntap.list[o.item.MachineId].system?((0,i.uX)(),(0,i.CE)("span",{key:0,title:o.tuntap.list[o.item.MachineId].SystemInfo},[o.item.countryFlag?((0,i.uX)(),(0,i.CE)("img",{key:0,class:"system",src:o.item.countryFlag},null,8,l)):(0,i.Q3)("",!0),(0,i.Lk)("img",{class:"system",src:`/${o.tuntap.list[o.item.MachineId].system}.svg`},null,8,c),o.tuntap.list[o.item.MachineId].systemDocker?((0,i.uX)(),(0,i.CE)("img",u)):(0,i.Q3)("",!0)],8,s)):(0,i.Q3)("",!0),(0,i.Lk)("a",{href:"javascript:;",onClick:t[0]||(t[0]=(...e)=>o.handleEdit&&o.handleEdit(...e)),title:"此客户端的设备名",class:(0,a.C4)({green:o.item.Connected})},(0,a.v_)(o.item.MachineName),3),o.item.isSelf?((0,i.uX)(),(0,i.CE)("strong",r,[(0,i.eW)(" - ("),(0,i.bF)(p,null,{default:(0,i.k6)((()=>[(0,i.bF)(m)])),_:1}),(0,i.eW)(" 本机) ")])):(0,i.Q3)("",!0)])}var d=n(3830),h=n(8104),m=n(7477),p={props:["item","config"],emits:["edit","refresh"],components:{StarFilled:m.BQ2},setup(e,{emit:t}){const n=(0,h.W)(),a=(0,d.B)(),s=(0,i.EW)((()=>a.value.hasAccess("RenameSelf"))),l=(0,i.EW)((()=>a.value.hasAccess("RenameOther"))),c=(0,i.EW)((()=>a.value.config.Client.Id)),u=()=>{if(e.config){if(c.value===e.item.MachineId){if(!s.value)return}else if(!l.value)return;t("edit",e.item)}};return{item:(0,i.EW)((()=>e.item)),tuntap:n,handleEdit:u}}},g=n(1241);const v=(0,g.A)(p,[["render",o],["__scopeId","data-v-a998806a"]]);var f=v},1198:function(e,t,n){n.d(t,{A:function(){return C}});var i=n(6768),a=n(4232);const s={class:"flex"},l={class:"flex-1"},c=["title"],u={class:"red"},r={key:0},o={class:"yellow"},d={key:1},h={key:0,class:"delay green"},m={class:"delay yellow"};function p(e,t,n,p,g,v){const f=(0,i.g2)("el-popover"),I=(0,i.g2)("Loading"),L=(0,i.g2)("el-icon"),k=(0,i.g2)("el-switch");return(0,i.uX)(),(0,i.CE)("div",null,[(0,i.Lk)("div",s,[(0,i.Lk)("div",l,[(0,i.Lk)("a",{href:"javascript:;",class:"a-line",onClick:t[0]||(t[0]=e=>p.handleTuntapIP(p.tuntap.list[p.item.MachineId])),title:p.tuntap.list[p.item.MachineId].Gateway?"我在路由器上,所以略有不同":"此设备的虚拟网卡IP"},[p.tuntap.list[p.item.MachineId].Error?((0,i.uX)(),(0,i.Wv)(f,{key:0,placement:"top",title:"提示",width:"20rem",trigger:"hover",content:p.tuntap.list[p.item.MachineId].Error},{reference:(0,i.k6)((()=>[(0,i.Lk)("strong",u,(0,a.v_)(p.tuntap.list[p.item.MachineId].IP),1)])),_:1},8,["content"])):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[p.tuntap.list[p.item.MachineId].running?((0,i.uX)(),(0,i.CE)("strong",{key:0,class:(0,a.C4)(["green",{gateway:p.tuntap.list[p.item.MachineId].Gateway}])},(0,a.v_)(p.tuntap.list[p.item.MachineId].IP),3)):((0,i.uX)(),(0,i.CE)("strong",{key:1,class:(0,a.C4)({gateway:p.tuntap.list[p.item.MachineId].Gateway})},(0,a.v_)(p.tuntap.list[p.item.MachineId].IP),3))],64))],8,c)]),p.tuntap.list[p.item.MachineId].loading?((0,i.uX)(),(0,i.CE)("div",r,[(0,i.bF)(L,{size:"14",class:"loading"},{default:(0,i.k6)((()=>[(0,i.bF)(I)])),_:1})])):((0,i.uX)(),(0,i.Wv)(k,{key:1,modelValue:p.tuntap.list[p.item.MachineId].running,"onUpdate:modelValue":t[1]||(t[1]=e=>p.tuntap.list[p.item.MachineId].running=e),loading:p.tuntap.list[p.item.MachineId].loading,disabled:"",onClick:t[2]||(t[2]=e=>p.handleTuntap(p.tuntap.list[p.item.MachineId])),size:"small","inline-prompt":"","active-text":"😀","inactive-text":"😣"},null,8,["modelValue","loading"]))]),(0,i.Lk)("div",null,[p.tuntap.list[p.item.MachineId].Error1?((0,i.uX)(),(0,i.Wv)(f,{key:0,placement:"top",title:"提示",width:"20rem",trigger:"hover",content:p.tuntap.list[p.item.MachineId].Error1},{reference:(0,i.k6)((()=>[(0,i.Lk)("div",o,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(p.tuntap.list[p.item.MachineId].LanIPs,((e,t)=>((0,i.uX)(),(0,i.CE)("div",{key:t},(0,a.v_)(e)+" / "+(0,a.v_)(p.tuntap.list[p.item.MachineId].Masks[t]),1)))),128))])])),_:1},8,["content"])):((0,i.uX)(),(0,i.CE)("div",d,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(p.tuntap.list[p.item.MachineId].LanIPs,((e,t)=>((0,i.uX)(),(0,i.CE)("div",{key:t},(0,a.v_)(e)+" / "+(0,a.v_)(p.tuntap.list[p.item.MachineId].Masks[t]),1)))),128))])),p.showDelay?((0,i.uX)(),(0,i.CE)(i.FK,{key:2},[p.tuntap.list[p.item.MachineId].Delay>=0&&p.tuntap.list[p.item.MachineId].Delay<=100?((0,i.uX)(),(0,i.CE)("div",h,(0,a.v_)(p.tuntap.list[p.item.MachineId].Delay)+"ms",1)):(0,i.Q3)("",!0),(0,i.Lk)("template",null,[(0,i.Lk)("div",m,(0,a.v_)(p.tuntap.list[p.item.MachineId].Delay)+"ms",1)])],64)):(0,i.Q3)("",!0)])])}var g=n(5241),v=n(1219),f=n(8104),I=n(7477),L=n(3830),k={props:["item","config"],emits:["edit","refresh"],components:{Loading:I.Rhj},setup(e,{emit:t}){const n=(0,f.W)(),a=(0,L.B)(),s=(0,i.EW)((()=>a.value.config.Client.Id)),l=(0,i.EW)((()=>a.value.hasAccess("TuntapChangeSelf"))),c=(0,i.EW)((()=>a.value.hasAccess("TuntapChangeOther"))),u=(0,i.EW)((()=>a.value.hasAccess("TuntapStatusSelf"))),r=(0,i.EW)((()=>a.value.hasAccess("TuntapStatusOther"))),o=(0,i.EW)((()=>2==(2&(a.value.config.Running.Tuntap||{Switch:0}).Switch))),d=t=>{if(!e.config)return;if(s.value===t.MachineId){if(!u.value)return}else if(!r.value)return;const n=t.running?(0,g.PR)(t.MachineId):(0,g.en)(t.MachineId);t.loading=!0,n.then((()=>{v.nk.success("操作成功!")})).catch((()=>{v.nk.error("操作失败!")}))},h=n=>{if(e.config||s.value==n.MachineId){if(s.value===n.MachineId){if(!l.value)return}else if(!c.value)return;n.device=e.item,t("edit",n)}},m=()=>{t("refresh")};return{item:(0,i.EW)((()=>e.item)),tuntap:n,showDelay:o,handleTuntap:d,handleTuntapIP:h,handleTuntapRefresh:m}}},y=n(1241);const M=(0,y.A)(k,[["render",p],["__scopeId","data-v-3b6dbb12"]]);var C=M}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/612.1ec87021.js b/linker.tray.win/web/js/612.1ec87021.js new file mode 100644 index 00000000..b03909a4 --- /dev/null +++ b/linker.tray.win/web/js/612.1ec87021.js @@ -0,0 +1 @@ +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[612],{920:function(e,t,a){a.d(t,{BJ:function(){return d},NS:function(){return o},UB:function(){return g},Vk:function(){return u},aP:function(){return p},ir:function(){return r},lJ:function(){return s},mK:function(){return n},y2:function(){return c},yN:function(){return i}});var l=a(4);const n=(e="0")=>(0,l.zG)("updaterclient/get",e),s=e=>(0,l.zG)("updaterclient/confirm",e),o=e=>(0,l.zG)("updaterclient/exit",e),i=()=>(0,l.zG)("updaterclient/GetSecretKey"),r=e=>(0,l.zG)("updaterclient/SetSecretKey",e),u=()=>(0,l.zG)("updaterclient/getcurrent"),d=()=>(0,l.zG)("updaterclient/getserver"),c=e=>(0,l.zG)("updaterclient/confirmserver",e),p=()=>(0,l.zG)("updaterclient/exitserver"),g=()=>(0,l.zG)("updaterclient/Subscribe")},5962:function(e,t,a){a.d(t,{Y:function(){return i},q:function(){return r}});var l=a(8835),n=a(144),s=a(6768);const o=Symbol(),i=()=>{const e=(0,n.KR)({list:{},timer:0,hashcode:0});(0,s.Gt)(o,e);const t=()=>{(0,l.QI)(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(t,1e3)})).catch((()=>{e.value.timer=setTimeout(t,1e3)}))},a=()=>{clearTimeout(e.value.timer)};return{access:e,_getAccessInfo:t,clearAccessTimeout:a}},r=()=>(0,s.WQ)(o)},9383:function(e,t,a){a.d(t,{T:function(){return u},d:function(){return r}});var l=a(920),n=a(3830),s=a(144),o=a(6768);const i=Symbol(),r=()=>{const e=(0,n.B)(),t=(0,s.KR)({timer:0,list:{},hashcode:0,current:{Version:"",Msg:[],DateTime:"",Status:0,Length:0,Current:0},subscribeTimer:0});(0,o.Gt)(i,t);const a=()=>{(0,l.mK)(t.value.hashcode.toString()).then((l=>{if(t.value.hashcode=l.HashCode,l.List){const a=Object.values(l.List).filter((e=>!!e.Version))[0];a&&(Object.assign(t.value.current,{DateTime:a.DateTime,Version:a.Version,Status:a.Status,Length:a.Length,Current:a.Current,Msg:a.Msg}),e.value.updater=t.value.current),t.value.list=l.List}t.value.timer=setTimeout(a,800)})).catch((()=>{t.value.timer=setTimeout(a,800)}))},r=()=>{(0,l.UB)().then((()=>{t.value.subscribeTimer=setTimeout(r,5e3)})).catch((()=>{t.value.subscribeTimer=setTimeout(r,5e3)}))},u=()=>{clearTimeout(t.value.timer),clearTimeout(t.value.subscribeTimer)};return{updater:t,_getUpdater:a,_subscribeUpdater:r,clearUpdaterTimeout:u}},u=()=>(0,o.WQ)(i)},5096:function(e,t,a){a.d(t,{A:function(){return p}});var l=a(6768);const n=e=>((0,l.Qi)("data-v-4892cd3c"),e=e(),(0,l.jt)(),e),s=n((()=>(0,l.Lk)("input",{type:"file",id:"file-input"},null,-1)));function o(e,t,a,n,o,i){const r=(0,l.g2)("PictureRounded"),u=(0,l.g2)("el-icon");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("a",{href:"javascript:;",onClick:t[0]||(t[0]=(...e)=>n.handleBg&&n.handleBg(...e))},[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1})]),s],64)}var i=a(7477),r=a(2933),u={components:{PictureRounded:i.syp},props:["name"],setup(e){const t=`bg-${e.name}`,a=()=>{localStorage.getItem(t)?r.s.confirm("清除背景?","Warning",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{s()})).catch((()=>{})):document.getElementById("file-input").click()},n=e=>{const t=e.target.files[0];if(t)try{const e=new FileReader;e.onload=function(e){s(e.target.result)},e.readAsDataURL(t)}catch(a){}e.target.value=""},s=e=>{e?(document.body.className="sunny",localStorage.setItem(t,e),document.body.style=`background-image:url(${e})`):(document.body.className="",document.body.style="",localStorage.setItem(t,""))};return(0,l.sV)((()=>{document.getElementById("file-input").addEventListener("change",n),s(localStorage.getItem(t))})),{handleBg:a}}},d=a(1241);const c=(0,d.A)(u,[["render",o],["__scopeId","data-v-4892cd3c"]]);var p=c},6611:function(e,t,a){a.d(t,{A:function(){return c}});var l=a(6768);function n(e,t,a,n,s,o){const i=(0,l.g2)("el-checkbox"),r=(0,l.g2)("el-col"),u=(0,l.g2)("el-row"),d=(0,l.g2)("el-checkbox-group");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[(0,l.bF)(r,{span:8},{default:(0,l.k6)((()=>[(0,l.bF)(i,{modelValue:n.state.checkAll,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.checkAll=e),onChange:n.handleCheckAllChange,label:"全选",indeterminate:n.state.isIndeterminate},null,8,["modelValue","onChange","indeterminate"])])),_:1})])),_:1}),(0,l.bF)(d,{modelValue:n.state.checkList,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.checkList=e),onChange:n.handleCheckedChange},{default:(0,l.k6)((()=>[(0,l.bF)(u,null,{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.access,((e,t)=>((0,l.uX)(),(0,l.Wv)(r,{key:t,span:8},{default:(0,l.k6)((()=>[(0,l.bF)(i,{value:e.Value,label:e.Text},null,8,["value","label"])])),_:2},1024)))),128))])),_:1})])),_:1},8,["modelValue","onChange"])],64)}a(4114);var s=a(144),o=a(3830),i=a(5962),r={props:["machineid"],setup(e){const t=(0,o.B)(),a=(0,i.q)(),n=(0,l.EW)((()=>{const e=t.value.config.Client.Accesss;return Object.keys(e).reduce(((a,l,n)=>{if(t.value.hasAccess(l)){const t=e[l];t.Key=l,a.push(t)}return a}),[])})),r=(0,s.Kh)({checkList:[t.value.config.Client.Accesss.Api.Value,t.value.config.Client.Accesss.Web.Value,t.value.config.Client.Accesss.NetManager.Value,t.value.config.Client.Accesss.FullManager.Value,t.value.config.Client.Accesss.Transport.Value,t.value.config.Client.Accesss.Action.Value],checkAll:!1,isIndeterminate:!1}),u=()=>r.checkList.reduce(((e,t)=>(e|t)>>>0),0),d=e=>{const t=e.length;r.checkAll=t===n.value.length,r.isIndeterminate=t>0&&t{r.checkAll=e,r.checkList=e?n.value.map((e=>e.Value)):[],r.isIndeterminate=!1};return(0,l.sV)((()=>{if(a&&a.value.list[e.machineid]){const t=a.value.list[e.machineid];r.checkList=n.value.reduce(((e,a)=>((t&a.Value)>>>0==a.Value&&e.push(a.Value),e)),[])}d(r.checkList)})),{state:r,access:n,getValue:u,handleCheckAllChange:c,handleCheckedChange:d}}},u=a(1241);const d=(0,u.A)(r,[["render",n],["__scopeId","data-v-bdd023b0"]]);var c=d},2126:function(e,t,a){a.d(t,{A:function(){return y}});var l=a(6768),n=a(4232);const s=["title"],o={key:0,class:"progress"},i={key:1,class:"progress"};function r(e,t,a,r,u,d){const c=(0,l.g2)("Loading"),p=(0,l.g2)("el-icon"),g=(0,l.g2)("Download"),v=(0,l.g2)("CircleCheck");return(0,l.uX)(),(0,l.CE)("a",{href:"javascript:;",class:(0,n.C4)(["download",r.updaterColor]),onClick:t[0]||(t[0]=e=>r.handleUpdate()),title:r.updaterText},[(0,l.Lk)("span",null,[(0,l.Lk)("span",null,(0,n.v_)(r.item.Version),1),r.updater.list[r.item.MachineId]?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[1==r.updater.list[r.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(p,{key:0,size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1})):2==r.updater.list[r.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(p,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(g)])),_:1})):3==r.updater.list[r.item.MachineId].Status||5==r.updater.list[r.item.MachineId].Status?((0,l.uX)(),(0,l.CE)(l.FK,{key:2},[(0,l.bF)(p,{size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1}),0==r.updater.list[r.item.MachineId].Length?((0,l.uX)(),(0,l.CE)("span",o,"0%")):((0,l.uX)(),(0,l.CE)("span",i,(0,n.v_)(parseInt(r.updater.list[r.item.MachineId].Current/r.updater.list[r.item.MachineId].Length*100))+"%",1))],64)):6==r.updater.list[r.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(p,{key:3,size:"14",class:"yellow"},{default:(0,l.k6)((()=>[(0,l.bF)(v)])),_:1})):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.Wv)(p,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(g)])),_:1}))])],10,s)}a(4114);var u=a(3830),d=a(144),c=a(1219),p=a(2933),g=a(2248),v=a(920),h=a(7477),m=a(9383),f={props:["item","config"],components:{Download:h.f5X,Loading:h.Rhj,CircleCheck:h.rW7},setup(e){const t=(0,u.B)(),a=(0,l.EW)((()=>t.value.hasAccess("UpdateSelf"))),n=(0,l.EW)((()=>t.value.hasAccess("UpdateOther"))),s=(0,m.T)(),o=(0,l.EW)((()=>t.value.signin.Version)),i=(0,l.EW)((()=>s.value.current.Version)),r=(0,l.EW)((()=>`${i.value}->${s.value.current.DateTime}\n${s.value.current.Msg.map(((e,t)=>`${t+1}、${e}`)).join("\n")}`)),h=(0,l.EW)((()=>s.value.list[e.item.MachineId]?s.value.list[e.item.MachineId].Status<=2?e.item.Version!=o.value?`与服务器版本(${o.value})不一致,建议更新`:i.value!=e.item.Version?`不是最新版本(${i.value}),建议更新\n${r.value}`:`是最新版本,但我无法阻止你喜欢更新\n${r.value}`:{3:"正在下载",4:"已下载",5:"正在解压",6:"已解压,请重启"}[s.value.list[e.item.MachineId].Status]:"未检测到更新")),f=(0,l.EW)((()=>e.item.Version!=o.value?"red":s.value.list[e.item.MachineId]&&i.value!=e.item.Version?"yellow":"green")),k=()=>{if(!e.config)return;if(!a.value)return;const t=s.value.list[e.item.MachineId];if(t)if([0,1,3,5].indexOf(t.Status)>=0)c.nk.error("操作中,请稍后!");else if(6!=t.Status){if(2==t.Status){const t=(0,d.KR)(i.value),a=[(0,l.h)(g.P9,{label:`仅[${e.item.MachineName}] -> ${i.value}(最新版本)`,value:i.value})];e.config&&n.value&&a.push((0,l.h)(g.P9,{label:`[所有] -> ${i.value}(最新版本)`,value:`all->${i.value}`})),e.item.Version!=o.value&&i.value!=o.value&&(a.push((0,l.h)(g.P9,{label:`仅[${e.item.MachineName}] -> ${o.value}(服务器版本)`,value:o.value})),e.config&&n.value&&a.push((0,l.h)(g.P9,{label:`[所有] -> ${o.value}(服务器版本)`,value:`all->${o.value}`}))),(0,p.s)({title:"选择版本",message:()=>(0,l.h)(g.AV,{modelValue:t.value,placeholder:"请选择",style:"width:20rem;","onUpdate:modelValue":e=>{t.value=e}},a),confirmButtonText:"确定",cancelButtonText:"取消"}).then((()=>{const a={MachineId:e.item.MachineId,Version:t.value.replace("all->",""),All:t.value.indexOf("all->")>=0};a.All&&(a.MachineId=""),(0,v.lJ)(a)})).catch((()=>{}))}}else p.s.confirm("确定关闭程序吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{exit(e.item.MachineId)})).catch((()=>{}));else c.nk.error("未检测到更新")};return{item:(0,l.EW)((()=>e.item)),updater:s,updaterText:h,updaterColor:f,handleUpdate:k}}},k=a(1241);const b=(0,k.A)(f,[["render",r],["__scopeId","data-v-56d38c60"]]);var y=b},3933:function(e,t,a){a.d(t,{A:function(){return Oe}});var l=a(6768),n=a(4232),s=a.p+"img/memory.a28433e5.svg",o=a.p+"img/wechat.5c371c5d.jpg",i=a.p+"img/alipay.ff9b1e7c.jpg";const r=e=>((0,l.Qi)("data-v-39d602b6"),e=e(),(0,l.jt)(),e),u={class:"status-wrap flex"},d={class:"copy"},c=r((()=>(0,l.Lk)("img",{src:s,alt:"memory"},null,-1))),p=r((()=>(0,l.Lk)("span",null,"赞助",-1))),g=[c,p],v={href:"https://github.com/snltty/linker",target:"_blank"},h=r((()=>(0,l.Lk)("div",{class:"flex-1"},null,-1))),m={class:"export"},f={class:"api"},k={class:"server"},b=r((()=>(0,l.Lk)("div",{class:"pay"},[(0,l.Lk)("img",{src:o,alt:""}),(0,l.Lk)("img",{src:i,alt:""})],-1)));function y(e,t,a,s,o,i){const r=(0,l.g2)("Export"),c=(0,l.g2)("Api"),p=(0,l.g2)("Server"),y=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.CE)("div",u,[(0,l.Lk)("div",d,[(0,l.Lk)("a",{href:"javascript:;",class:"memory",title:"赞助一笔,让作者饱餐一顿",onClick:t[0]||(t[0]=e=>s.state.showPay=!0)},g),(0,l.Lk)("a",v,"©linker "+(0,n.v_)(s.self.Version),1)]),h,(0,l.Lk)("div",m,[(0,l.bF)(r,{config:s.config},null,8,["config"])]),(0,l.Lk)("div",f,[(0,l.bF)(c,{config:s.config},null,8,["config"])]),(0,l.Lk)("div",k,[(0,l.bF)(p,{config:s.config},null,8,["config"])]),(0,l.bF)(y,{modelValue:s.state.showPay,"onUpdate:modelValue":t[1]||(t[1]=e=>s.state.showPay=e),title:"赞助linker",width:"300",top:"1vh"},{default:(0,l.k6)((()=>[b])),_:1},8,["modelValue"])])}var w=a(144);const S={href:"javascript:;",title:"此设备的管理接口"};function C(e,t,a,s,o,i){const r=(0,l.g2)("Tools"),u=(0,l.g2)("el-icon"),d=(0,l.g2)("el-popconfirm");return s.config?((0,l.uX)(),(0,l.CE)("div",{key:0,class:(0,n.C4)(["status-api-wrap",{connected:s.connected}])},[(0,l.bF)(d,{"confirm-button-text":"清除","cancel-button-text":"更改",title:"确定你的操作?",onCancel:s.handleShow,onConfirm:s.handleResetConnect},{reference:(0,l.k6)((()=>[(0,l.Lk)("a",S,[(0,l.bF)(u,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1}),(0,l.eW)(" 管理接口 ")])])),_:1},8,["onCancel","onConfirm"])],2)):(0,l.Q3)("",!0)}var B=a(3830),F=a(4),V=a(7477),_={components:{Tools:V.S0q},props:["config"],setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.api.connected)),n=()=>{localStorage.setItem("api-cache",""),window.location.reload()},s=()=>{(0,F.e3)(),(0,F.a1)(`ws://${window.location.hostname}:12345`,"snltty")};return{config:e.config,connected:a,handleShow:s,handleResetConnect:n}}},T=a(1241);const x=(0,T.A)(_,[["render",C],["__scopeId","data-v-4470fcde"]]);var L=x;const I={class:"status-server-wrap"};function R(e,t,a,n,s,o){const i=(0,l.g2)("ServerConfig"),r=(0,l.g2)("ServerVersion"),u=(0,l.g2)("ServerFlow");return(0,l.uX)(),(0,l.CE)("div",I,[(0,l.bF)(i,{config:n.config},null,8,["config"]),(0,l.bF)(r,{config:n.config},null,8,["config"]),n.config?((0,l.uX)(),(0,l.Wv)(u,{key:0,config:n.config},null,8,["config"])):(0,l.Q3)("",!0)])}const A=e=>((0,l.Qi)("data-v-16c62865"),e=e(),(0,l.jt)(),e),E=A((()=>(0,l.Lk)("span",null,"信标服务器",-1))),W={class:"dialog-footer t-c"};function z(e,t,a,s,o,i){const r=(0,l.g2)("Promotion"),u=(0,l.g2)("el-icon"),d=(0,l.g2)("el-input"),c=(0,l.g2)("el-form-item"),p=(0,l.g2)("el-form"),g=(0,l.g2)("el-button"),v=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("a",{href:"javascript:;",class:(0,n.C4)({connected:s.state.connected}),title:"更改你的连接设置",onClick:t[0]||(t[0]=(...e)=>s.handleConfig&&s.handleConfig(...e))},[(0,l.bF)(u,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1}),(0,l.eW)(),E],2),(0,l.bF)(v,{modelValue:s.state.show,"onUpdate:modelValue":t[4]||(t[4]=e=>s.state.show=e),title:"连接设置",width:"300","append-to-body":""},{footer:(0,l.k6)((()=>[(0,l.Lk)("div",W,[(0,l.bF)(g,{onClick:t[3]||(t[3]=e=>s.state.show=!1),loading:s.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1},8,["loading"]),(0,l.bF)(g,{type:"primary",onClick:s.handleSave,loading:s.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("确定保存")])),_:1},8,["onClick","loading"])])])),default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(p,{model:s.state.form,rules:s.state.rules,"label-width":"6rem"},{default:(0,l.k6)((()=>[(0,l.bF)(c,{label:"机器名",prop:"name"},{default:(0,l.k6)((()=>[(0,l.bF)(d,{modelValue:s.state.form.name,"onUpdate:modelValue":t[1]||(t[1]=e=>s.state.form.name=e),maxlength:"12","show-word-limit":""},null,8,["modelValue"])])),_:1}),(0,l.bF)(c,{label:"分组名",prop:"groupid"},{default:(0,l.k6)((()=>[(0,l.bF)(d,{modelValue:s.state.form.groupid,"onUpdate:modelValue":t[2]||(t[2]=e=>s.state.form.groupid=e),type:"password","show-password":"",maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue"])],64)}var P=a(9299),K=a(1219),D={components:{Promotion:V.Yk4},props:["config"],setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.hasAccess("Config"))),n=(0,w.Kh)({show:!1,loading:!1,connected:(0,l.EW)((()=>t.value.signin.Connected)),form:{name:t.value.config.Client.Name,groupid:t.value.config.Client.GroupId},rules:{}}),s=()=>{e.config&&a.value&&(n.form.name=t.value.config.Client.Name,n.form.groupid=t.value.config.Client.GroupId,n.show=!0)},o=()=>{n.loading=!0,(0,P.rd)(n.form).then((()=>{n.loading=!1,n.show=!1,K.nk.success("已操作"),setTimeout((()=>{window.location.reload()}),1e3)})).catch((e=>{n.loading=!1,K.nk.success("操作失败!")}))};return{config:e.config,state:n,handleConfig:s,handleSave:o}}};const $=(0,T.A)(D,[["render",z],["__scopeId","data-v-16c62865"]]);var M=$;function X(e,t,a,s,o,i){const r=(0,l.g2)("el-table-column"),u=(0,l.g2)("el-button"),d=(0,l.g2)("el-table"),c=(0,l.g2)("el-dialog"),p=(0,l.g2)("ServerFlowMessenger"),g=(0,l.g2)("ServerFlowSForward"),v=(0,l.g2)("ServerFlowRelay");return(0,l.uX)(),(0,l.CE)(l.FK,null,[s.config?((0,l.uX)(),(0,l.CE)("a",{key:0,href:"javascript:;",title:"linker服务端网速,点击查看详细信息",onClick:t[0]||(t[0]=(...e)=>s.handleShow&&s.handleShow(...e))},[(0,l.Lk)("p",null,"上传 "+(0,n.v_)(s.state.overallSendtSpeed)+"/s",1),(0,l.Lk)("p",null,"下载 "+(0,n.v_)(s.state.overallReceiveSpeed)+"/s",1)])):(0,l.Q3)("",!0),(0,l.bF)(c,{title:s.state.time,"destroy-on-close":"",modelValue:s.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>s.state.show=e),width:"540"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(d,{data:s.state.list,border:"",size:"small",width:"100%"},{default:(0,l.k6)((()=>[(0,l.bF)(r,{prop:"text",label:"类别",width:"80"}),(0,l.bF)(r,{prop:"sendtBytes",label:"已上传",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.sendtBytesText),1)])),_:1}),(0,l.bF)(r,{prop:"sendtSpeed",label:"上传速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.sendtSpeedText)+"/s",1)])),_:1}),(0,l.bF)(r,{prop:"receiveBytes",label:"已下载",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.receiveBytesText),1)])),_:1}),(0,l.bF)(r,{prop:"receiveSpeed",label:"下载速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.receiveSpeedText)+"/s",1)])),_:1}),(0,l.bF)(r,{prop:"oper",label:"操作",width:"64"},{default:(0,l.k6)((e=>[e.row.detail?((0,l.uX)(),(0,l.Wv)(u,{key:0,size:"small",onClick:t=>s.handleShowDetail(e.row.id)},{default:(0,l.k6)((()=>[(0,l.eW)("详情")])),_:2},1032,["onClick"])):(0,l.Q3)("",!0)])),_:1})])),_:1},8,["data"])])])),_:1},8,["title","modelValue"]),s.state.details.Messenger?((0,l.uX)(),(0,l.Wv)(p,{key:1,config:s.config,modelValue:s.state.details.Messenger,"onUpdate:modelValue":t[2]||(t[2]=e=>s.state.details.Messenger=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0),s.state.details.SForward?((0,l.uX)(),(0,l.Wv)(g,{key:2,config:s.config,modelValue:s.state.details.SForward,"onUpdate:modelValue":t[3]||(t[3]=e=>s.state.details.SForward=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0),s.state.details.Relay?((0,l.uX)(),(0,l.Wv)(v,{key:3,config:s.config,modelValue:s.state.details.Relay,"onUpdate:modelValue":t[4]||(t[4]=e=>s.state.details.Relay=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0)],64)}a(4114);const U=()=>(0,F.zG)("flowClient/GetFlows"),G=()=>(0,F.zG)("flowClient/GetMessengerFlows"),O=e=>(0,F.zG)("flowClient/GetSForwardFlows",e),j=e=>(0,F.zG)("flowClient/GetRelayFlows",e);function Q(e,t,a,s,o,i){const r=(0,l.g2)("el-table-column"),u=(0,l.g2)("el-table"),d=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(d,{title:"信标流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:s.state.show,"onUpdate:modelValue":t[0]||(t[0]=e=>s.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(u,{data:s.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh"},{default:(0,l.k6)((()=>[(0,l.bF)(r,{prop:"id",label:"信标id",width:"200"}),(0,l.bF)(r,{prop:"sendtBytes",label:"已上传",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.sendtBytesText),1)])),_:1}),(0,l.bF)(r,{prop:"sendtSpeed",label:"上传速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.sendtSpeedText)+"/s",1)])),_:1}),(0,l.bF)(r,{prop:"receiveBytes",label:"已下载",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.receiveBytesText),1)])),_:1}),(0,l.bF)(r,{prop:"receiveSpeed",label:"下载速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.receiveSpeedText)+"/s",1)])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue"])}var N={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,w.Kh)({show:!0,timer:0,list:[],old:null});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const n={0:"登入信标",1:"客户端列表",2:"客户端删除",4:"客户端改名(转发)",7:"获取服务器版本",8:"客户端搜索ids",9:"客户端id列表",10:"客户端排序",11:"客户端在线",12:"生成客户端id",13:"登入信标V_1_3_1",2001:"外网端口(转发)",2002:"外网端口(转发)",2003:"开始打洞(转发)",2004:"开始打洞(转发)",2005:"打洞失败(转发)",2006:"打洞失败(转发)",2007:"打洞成功(转发)",2008:"打洞成功(转发)",2009:"隧道配置(转发)",2010:"隧道配置(转发)",2012:"隧道同步(转发)",2101:"中继通知(转发)",2102:"中继通知(转发)",2103:"中继请求",2105:"中继连通测试",2201:"运行网卡(转发)",2203:"停止网卡(转发)",2205:"更新网卡(转发)",2206:"同步网卡(转发)",2207:"同步网卡(转发)",2301:"添加内网穿透",2302:"移除内网穿透",2303:"通知内网穿透(转发)",2304:"通知内网穿透UDP(转发)",2305:"获取穿透列表(转发)",2401:"测试端口转发(转发)",2403:"获取端口转发(转发)",2503:"获取权限(转发)",2504:"获取权限(转发)",2506:"更新权限(转发)",2508:"同步密钥(转发)",2510:"同步服务器(转发)",2601:"更新信息(转发)",2602:"更新信息(转发)",2603:"确认更新(转发)",2604:"确认更新(转发)",2605:"重启(转发)",2607:"服务器更新信息",2608:"确认服务器更新",2609:"服务器重启",2610:"订阅更新信息(转发)",2611:"订阅更新信息(转发)",2701:"服务器流量",2702:"服务器信标流量",2703:"服务器中继流量",2704:"服务器内网穿透流量"},s=()=>{G().then((e=>{const t=a.old||e,l=[];for(let a in e){const s=e[a],i=t[a],r=`[${a}]${n[`${a}`]||"未知"}`;l.push({id:r,sendtBytes:s.SendtBytes,sendtBytesText:o(s.SendtBytes),sendtSpeed:s.SendtBytes-i.SendtBytes,sendtSpeedText:o(s.SendtBytes-i.SendtBytes),receiveBytes:s.ReceiveBytes,receiveBytesText:o(s.ReceiveBytes),receiveSpeed:s.ReceiveBytes-i.ReceiveBytes,receiveSpeedText:o(s.ReceiveBytes-i.ReceiveBytes)})}a.list=l.filter((e=>!!e.id)),a.old=e,a.timer=setTimeout(s,1e3)})).catch((e=>{a.timer=setTimeout(s,1e3)}))},o=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`};return(0,l.sV)((()=>{s()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a}}};const J=(0,T.A)(N,[["render",Q],["__scopeId","data-v-6238c500"]]);var Y=J;const q={class:"head"},H={class:"page t-c"},Z={class:"page-wrap"};function ee(e,t,a,s,o,i){const r=(0,l.g2)("el-input"),u=(0,l.g2)("el-table-column"),d=(0,l.g2)("el-table"),c=(0,l.g2)("el-pagination"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{title:"内网穿透流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:s.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>s.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",q,[(0,l.bF)(r,{modelValue:s.state.page.Key,"onUpdate:modelValue":t[0]||(t[0]=e=>s.state.page.Key=e),placeholder:"域名/端口搜索"},null,8,["modelValue"])]),(0,l.bF)(d,{data:s.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh",onSortChange:s.handleSort},{default:(0,l.k6)((()=>[(0,l.bF)(u,{prop:"Key",label:"域名/端口",width:"200"}),(0,l.bF)(u,{prop:"SendtBytes",label:"已上传",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.SendtBytesText),1)])),_:1}),(0,l.bF)(u,{prop:"DiffSendtBytes",label:"上传速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.DiffSendtBytesText)+"/s",1)])),_:1}),(0,l.bF)(u,{prop:"ReceiveBytes",label:"已下载",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.ReceiveBytesText),1)])),_:1}),(0,l.bF)(u,{prop:"DiffReceiveBytes",label:"下载速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.DiffReceiveBytesText)+"/s",1)])),_:1})])),_:1},8,["data","onSortChange"]),(0,l.Lk)("div",H,[(0,l.Lk)("div",Z,[(0,l.bF)(c,{small:"",background:"",layout:"total,prev,pager, next",total:s.state.page.Count,"page-size":s.state.page.PageSize,"current-page":s.state.page.Page,onCurrentChange:s.handlePageChange},null,8,["total","page-size","current-page","onCurrentChange"])])])])])),_:1},8,["modelValue"])}var te={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,w.Kh)({show:!0,timer:0,list:[],page:{Key:"",Page:1,PageSize:15,Count:0,Order:1,OrderType:0}});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const n=()=>{O({Key:a.page.Key,Page:a.page.Page,PageSize:a.page.PageSize,Order:a.page.Order,OrderType:a.page.OrderType}).then((e=>{try{a.page.Page=e.Page,a.page.PageSize=e.PageSize,a.page.Count=e.Count;const t=[];for(let a=0;a{a.timer=setTimeout(n,1e3)}))},s=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`},o=e=>{e&&(a.page.Page=e)},i=e=>{const t={ascending:1,descending:0}[e.order],l={SendtBytes:1,DiffSendtBytes:2,ReceiveBytes:3,DiffReceiveBytes:4}[e.prop];a.page.Order=l,a.page.OrderType=t};return(0,l.sV)((()=>{n()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a,handlePageChange:o,handleSort:i}}};const ae=(0,T.A)(te,[["render",ee],["__scopeId","data-v-3e577fa7"]]);var le=ae;const ne={class:"head"},se={class:"page t-c"},oe={class:"page-wrap"};function ie(e,t,a,s,o,i){const r=(0,l.g2)("el-input"),u=(0,l.g2)("el-table-column"),d=(0,l.g2)("el-table"),c=(0,l.g2)("el-pagination"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{title:"中继流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:s.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>s.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",ne,[(0,l.bF)(r,{modelValue:s.state.page.Key,"onUpdate:modelValue":t[0]||(t[0]=e=>s.state.page.Key=e),placeholder:"名字搜索"},null,8,["modelValue"])]),(0,l.bF)(d,{data:s.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh",onSortChange:s.handleSort},{default:(0,l.k6)((()=>[(0,l.bF)(u,{prop:"FromName",label:"发起端",width:"120"}),(0,l.bF)(u,{prop:"ToName",label:"目标端",width:"120"}),(0,l.bF)(u,{prop:"SendtBytes",label:"已上传",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.SendtBytesText),1)])),_:1}),(0,l.bF)(u,{prop:"DiffSendtBytes",label:"上传速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.DiffSendtBytesText)+"/s",1)])),_:1}),(0,l.bF)(u,{prop:"ReceiveBytes",label:"已下载",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.ReceiveBytesText),1)])),_:1}),(0,l.bF)(u,{prop:"DiffReceiveBytes",label:"下载速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,n.v_)(e.row.DiffReceiveBytesText)+"/s",1)])),_:1})])),_:1},8,["data","onSortChange"]),(0,l.Lk)("div",se,[(0,l.Lk)("div",oe,[(0,l.bF)(c,{small:"",background:"",layout:"total,prev,pager, next",total:s.state.page.Count,"page-size":s.state.page.PageSize,"current-page":s.state.page.Page,onCurrentChange:s.handlePageChange},null,8,["total","page-size","current-page","onCurrentChange"])])])])])),_:1},8,["modelValue"])}var re={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,w.Kh)({show:!0,timer:0,list:[],page:{Key:"",Page:1,PageSize:15,Count:0,Order:1,OrderType:0}});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const n=()=>{j({Key:a.page.Key,Page:a.page.Page,PageSize:a.page.PageSize,Order:a.page.Order,OrderType:a.page.OrderType}).then((e=>{try{a.page.Page=e.Page,a.page.PageSize=e.PageSize,a.page.Count=e.Count;const t=[];for(let a=0;a{a.timer=setTimeout(n,1e3)}))},s=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`},o=e=>{e&&(a.page.Page=e)},i=e=>{const t={ascending:1,descending:0}[e.order],l={SendtBytes:1,DiffSendtBytes:2,ReceiveBytes:3,DiffReceiveBytes:4}[e.prop];a.page.Order=l,a.page.OrderType=t};return(0,l.sV)((()=>{n()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a,handlePageChange:o,handleSort:i}}};const ue=(0,T.A)(re,[["render",ie],["__scopeId","data-v-7dbf3a4a"]]);var de=ue,ce={props:["config"],components:{ServerFlowMessenger:Y,ServerFlowSForward:le,ServerFlowRelay:de},setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.hasAccess("SForwardFlow"))),n=(0,l.EW)((()=>t.value.hasAccess("RelayFlow"))),s=(0,w.Kh)({show:!1,timer:0,overallSendtSpeed:"0000.00KB",overallReceiveSpeed:"0000.00KB",time:"",list:[],old:null,details:{Messenger:!1,SForward:!1,Relay:!1}}),o=()=>{s.show=!0},i=e=>{s.details[e]=!0},r={External:{text:"外网端口",detail:!1},Relay:{text:"中继",detail:n.value},Messenger:{text:"信标",detail:!0},SForward:{text:"内网穿透",detail:a.value}},u=()=>{U().then((e=>{const t=s.old||e;let a=0,l=0,n=0,o=0;for(let s in t.Items)a+=t.Items[s].ReceiveBytes,l+=t.Items[s].SendtBytes;for(let s in e.Items)n+=e.Items[s].ReceiveBytes,o+=e.Items[s].SendtBytes;s.overallSendtSpeed=d(o-l),s.overallReceiveSpeed=d(n-a),s.time=`从 ${e.Start}启动 至今`;const i=[];for(let s in e.Items){const a=e.Items[s],l=t.Items[s],n=r[`${s}`]||{text:"未知",detail:!1};i.push({id:s,text:n.text,detail:n.detail,sendtBytes:a.SendtBytes,sendtBytesText:d(a.SendtBytes),sendtSpeed:a.SendtBytes-l.SendtBytes,sendtSpeedText:d(a.SendtBytes-l.SendtBytes),receiveBytes:a.ReceiveBytes,receiveBytesText:d(a.ReceiveBytes),receiveSpeed:a.ReceiveBytes-l.ReceiveBytes,receiveSpeedText:d(a.ReceiveBytes-l.ReceiveBytes)})}s.list=i.filter((e=>!!e.id)),s.old=e,s.timer=setTimeout(u,1e3)})).catch((e=>{s.timer=setTimeout(u,1e3)}))},d=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`};return(0,l.sV)((()=>{u()})),(0,l.hi)((()=>{clearTimeout(s.timer)})),{hasSForwardFlow:a,config:e.config,state:s,handleShow:o,handleShowDetail:i}}};const pe=(0,T.A)(ce,[["render",X],["__scopeId","data-v-6ba77111"]]);var ge=pe;const ve=["title"],he={key:0,class:"progress"},me={key:1,class:"progress"};function fe(e,t,a,s,o,i){const r=(0,l.g2)("Loading"),u=(0,l.g2)("el-icon"),d=(0,l.g2)("Download"),c=(0,l.g2)("CircleCheck");return(0,l.uX)(),(0,l.CE)("a",{href:"javascript:;",title:"服务端的程序版本",onClick:t[0]||(t[0]=(...e)=>s.handleUpdate&&s.handleUpdate(...e)),class:(0,n.C4)(["download",s.updateColor()])},[(0,l.Lk)("span",null,(0,n.v_)(s.state.version),1),s.updaterCurrent.Version?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[1==s.updaterCurrent.Status?((0,l.uX)(),(0,l.Wv)(u,{key:0,size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1})):2==s.updaterServer.Status?((0,l.uX)(),(0,l.Wv)(u,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(d)])),_:1})):3==s.updaterServer.Status||5==s.updaterServer.Status?((0,l.uX)(),(0,l.CE)(l.FK,{key:2},[(0,l.bF)(u,{size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1}),0==s.updaterServer.Length?((0,l.uX)(),(0,l.CE)("span",he,"0%")):((0,l.uX)(),(0,l.CE)("span",me,(0,n.v_)(parseInt(s.updaterServer.Current/s.updaterServer.Length*100))+"%",1))],64)):6==s.updaterServer.Status?((0,l.uX)(),(0,l.Wv)(u,{key:3,size:"14",class:"yellow"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1})):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.Wv)(u,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(d)])),_:1}))],10,ve)}var ke=a(2933),be=a(920),ye={components:{Promotion:V.Yk4,Download:V.f5X,Loading:V.Rhj,CircleCheck:V.rW7,ServerFlow:ge},props:["config"],setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.hasAccess("UpdateServer"))),n=(0,w.KR)({Version:"",Msg:[],DateTime:"",Status:0,Length:0,Current:0}),s=(0,w.KR)({Version:"",Status:0,Length:0,Current:0}),o=(0,l.EW)((()=>`${n.value.Version}->${n.value.DateTime}\n${n.value.Msg.map(((e,t)=>`${t+1}、${e}`)).join("\n")}`)),i=(0,w.Kh)({show:!1,loading:!1,connected:(0,l.EW)((()=>t.value.signin.Connected)),version:(0,l.EW)((()=>t.value.signin.Version))}),r=()=>{(0,be.Vk)().then((e=>{n.value.DateTime=e.DateTime,n.value.Version=e.Version,n.value.Status=e.Status,n.value.Length=e.Length,n.value.Current=e.Current,n.value.Msg=e.Msg,setTimeout((()=>{r()}),1e3)})).catch((()=>{setTimeout((()=>{r()}),1e3)}))},u=()=>{(0,be.BJ)().then((e=>{s.value.Version=e.Version,s.value.Status=e.Status,s.value.Length=e.Length,s.value.Current=e.Current,s.value.Status>2&&s.value.Status<6&&setTimeout((()=>{u()}),1e3)})).catch((()=>{setTimeout((()=>{u()}),1e3)}))},d=()=>n.value.Version?s.value.Status<=2?i.version!=n.value.Version?`不是最新版本(${n.value.Version}),建议更新\n${o.value}`:`是最新版本,但我无法阻止你喜欢更新\n${o.value}`:{3:"正在下载",4:"已下载",5:"正在解压",6:"已解压,请重启"}[s.value.Status]:"未检测到更新",c=()=>i.version!=n.value.Version?"yellow":"green",p=()=>{e.config&&a.value&&(n.value.Version?[0,1,3,5].indexOf(s.value.Status)>=0?K.nk.error("操作中,请稍后!"):6!=s.value.Status?2==n.value.Status&&ke.s.confirm("确定更新服务端吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,be.y2)(n.value.Version).then((()=>{setTimeout((()=>{u()}),1e3)}))})).catch((()=>{})):ke.s.confirm("确定关闭服务端吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,be.aP)()})).catch((()=>{})):K.nk.error("未检测到更新"))};return(0,l.sV)((()=>{r(),u()})),{config:e.config,state:i,updaterCurrent:n,updaterServer:s,handleUpdate:p,updateText:d,updateColor:c}}};const we=(0,T.A)(ye,[["render",fe],["__scopeId","data-v-70063cba"]]);var Se=we,Ce={components:{ServerConfig:M,ServerFlow:ge,ServerVersion:Se},props:["config"],setup(e){const t=(0,w.Kh)({show:!1,loading:!1});return{config:e.config,state:t}}};const Be=(0,T.A)(Ce,[["render",R],["__scopeId","data-v-7c1beb5c"]]);var Fe=Be;const Ve=e=>((0,l.Qi)("data-v-117ef7b0"),e=e(),(0,l.jt)(),e),_e={key:0,class:"status-export-wrap"},Te={class:"port-wrap"},xe=Ve((()=>(0,l.Lk)("div",{class:"text"}," 导出配置,作为子设备运行,如果使用docker,容器映射configs文件夹即可 ",-1))),Le={class:"body"},Ie={class:"card-header"},Re={class:"flex"},Ae={style:{"margin-left":"2rem"}},Ee=Ve((()=>(0,l.Lk)("span",null,"设备名 : ",-1))),We=Ve((()=>(0,l.Lk)("span",null,"管理密码 : ",-1)));function ze(e,t,a,n,s,o){const i=(0,l.g2)("Share"),r=(0,l.g2)("el-icon"),u=(0,l.g2)("el-checkbox"),d=(0,l.g2)("el-popover"),c=(0,l.g2)("el-input"),p=(0,l.g2)("Access"),g=(0,l.g2)("el-card"),v=(0,l.g2)("el-button"),h=(0,l.g2)("el-dialog");return n.config&&n.hasExport?((0,l.uX)(),(0,l.CE)("div",_e,[(0,l.Lk)("a",{href:"javascript:;",title:"此设备的管理接口",onClick:t[0]||(t[0]=e=>n.state.show=!0)},[(0,l.bF)(r,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1}),(0,l.eW)(" 导出配置 ")]),(0,l.bF)(h,{class:"options-center",title:"导出配置","destroy-on-close":"",modelValue:n.state.show,"onUpdate:modelValue":t[5]||(t[5]=e=>n.state.show=e),center:"",width:"580",top:"1vh"},{footer:(0,l.k6)((()=>[(0,l.bF)(v,{plain:"",onClick:t[4]||(t[4]=e=>n.state.show=!1),loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1},8,["loading"]),(0,l.bF)(v,{type:"success",plain:"",onClick:n.handleExport,loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("确定导出")])),_:1},8,["onClick","loading"])])),default:(0,l.k6)((()=>[(0,l.Lk)("div",Te,[xe,(0,l.Lk)("div",Le,[(0,l.bF)(g,{shadow:"never"},{header:(0,l.k6)((()=>[(0,l.Lk)("div",Ie,[(0,l.Lk)("div",Re,[(0,l.Lk)("div",null,[(0,l.bF)(d,{placement:"top-start",title:"tips",width:200,trigger:"hover",content:"这将生成唯一ID,多台设备使用产生冲突,挤压下线"},{reference:(0,l.k6)((()=>[(0,l.bF)(u,{disabled:n.onlyNode,modelValue:n.state.single,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.single=e),label:"单设备"},null,8,["disabled","modelValue"])])),_:1})]),(0,l.Lk)("div",Ae,[Ee,(0,l.bF)(c,{disabled:!n.state.single,modelValue:n.state.name,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.name=e),maxlength:"12","show-word-limit":"",style:{width:"15rem"}},null,8,["disabled","modelValue"])]),(0,l.Lk)("div",null,[We,(0,l.bF)(c,{type:"password","show-password":"",disabled:n.onlyNode,modelValue:n.state.apipassword,"onUpdate:modelValue":t[3]||(t[3]=e=>n.state.apipassword=e),maxlength:"36","show-word-limit":"",style:{width:"15rem"}},null,8,["disabled","modelValue"])])])])])),default:(0,l.k6)((()=>[(0,l.bF)(p,{ref:"accessDom",machineid:n.machineId},null,8,["machineid"])])),_:1})])])])),_:1},8,["modelValue"])])):(0,l.Q3)("",!0)}var Pe=a(8835),Ke=a(6611),De={components:{Share:V.SYj,Access:Ke.A},props:["config"],setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.hasAccess("Export"))),n=(0,l.EW)((()=>t.value.config.Client.OnlyNode)),s=(0,l.EW)((()=>t.value.config.Client.Id)),o=(0,w.Kh)({show:!1,loading:!1,single:!0,name:"",apipassword:t.value.config.Client.CApi.ApiPassword}),i=(0,w.KR)(null),r=()=>{if(!a.value)return;const e={access:i.value.getValue(),single:o.single,name:o.name,apipassword:o.apipassword};if(e.single){if(!e.name)return void K.nk.error("请输入设备名")}else e.name="";if(!e.single||o.name)return e;K.nk.error("请输入管理密码")},u=()=>{const e=document.createElement("a");o.single?e.download=`client-node-export-${o.name}.zip`:e.download="client-node-export.zip",e.href="/client-node-export.zip",document.body.appendChild(e),e.click(),document.body.removeChild(e)},d=()=>{const e=r();e&&(o.loading=!0,(0,Pe.P$)(e).then((()=>{o.loading=!1,o.show=!1,K.nk.success("导出成功"),u()})).catch((()=>{o.loading=!1})))};return{config:e.config,onlyNode:n,hasExport:a,machineId:s,state:o,accessDom:i,handleExport:d}}};const $e=(0,T.A)(De,[["render",ze],["__scopeId","data-v-117ef7b0"]]);var Me=$e,Xe=a(2126),Ue={components:{Api:L,Server:Fe,Export:Me,UpdaterBtn:Xe.A},props:["config"],setup(e){const t=(0,B.B)(),a=(0,l.EW)((()=>t.value.self)),n=(0,w.Kh)({showPay:!1});return{state:n,config:e.config,self:a}}};const Ge=(0,T.A)(Ue,[["render",y],["__scopeId","data-v-39d602b6"]]);var Oe=Ge}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/308.27cc5531.js b/linker.tray.win/web/js/684.13307ecf.js similarity index 99% rename from linker.tray.win/web/js/308.27cc5531.js rename to linker.tray.win/web/js/684.13307ecf.js index 8564abe2..396d04bc 100644 --- a/linker.tray.win/web/js/308.27cc5531.js +++ b/linker.tray.win/web/js/684.13307ecf.js @@ -1 +1 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[308],{8902:function(e,l,r){r.r(l),r.d(l,{default:function(){return Fe}});var a=r(6768);const t={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,a.g2)("Head"),c=(0,a.g2)("router-view"),b=(0,a.g2)("Status"),v=(0,a.g2)("Install");return(0,a.uX)(),(0,a.CE)("div",t,[(0,a.Lk)("div",o,[(0,a.bF)(f)]),(0,a.Lk)("div",s,[(0,a.Lk)("div",n,[(0,a.bF)(c)])],512),(0,a.Lk)("div",u,[(0,a.bF)(b,{config:!0}),(0,a.bF)(v)])])}r(4114);var m=r.p+"img/logo.892cb2fb.png",i=r.p+"img/shouye.4c820c0e.svg",f=r.p+"img/fuwuqi.247f2561.svg",c=r.p+"img/dadong.e6fd78bf.svg",b=r.p+"img/anquan.5f8d5e47.svg",v=r.p+"img/rizhi.c3ca751b.svg";const p=e=>((0,a.Qi)("data-v-288c64ff"),e=e(),(0,a.jt)(),e),g={class:"head flex"},k={class:"logo"},F=p((()=>(0,a.Lk)("img",{src:m,alt:""},null,-1))),w={class:"menu flex-1"},y={class:"flex"},S=p((()=>(0,a.Lk)("img",{src:i},null,-1))),h={key:0},_=p((()=>(0,a.Lk)("img",{src:f},null,-1))),K={key:1},V=p((()=>(0,a.Lk)("img",{src:c},null,-1))),C={key:2},P=p((()=>(0,a.Lk)("img",{src:b},null,-1))),x={key:3},L=p((()=>(0,a.Lk)("img",{src:v},null,-1))),W={class:"image"};function U(e,l,r,t,o,s){const n=(0,a.g2)("router-link"),u=(0,a.g2)("Background");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.Lk)("div",g,[(0,a.Lk)("div",k,[(0,a.bF)(n,{to:{name:"FullIndex"}},{default:(0,a.k6)((()=>[F])),_:1})]),(0,a.Lk)("div",w,[(0,a.Lk)("ul",y,[(0,a.Lk)("li",null,[(0,a.bF)(n,{to:{name:"FullIndex"}},{default:(0,a.k6)((()=>[S,(0,a.eW)(" 首页")])),_:1})]),t.hasConfig?((0,a.uX)(),(0,a.CE)("li",h,[(0,a.bF)(n,{to:{name:"FullServers"}},{default:(0,a.k6)((()=>[_,(0,a.eW)(" 服务器")])),_:1})])):(0,a.Q3)("",!0),t.hasTransport?((0,a.uX)(),(0,a.CE)("li",K,[(0,a.bF)(n,{to:{name:"FullTransport"}},{default:(0,a.k6)((()=>[V,(0,a.eW)(" 打洞协议")])),_:1})])):(0,a.Q3)("",!0),t.hasAction?((0,a.uX)(),(0,a.CE)("li",C,[(0,a.bF)(n,{to:{name:"FullAction"}},{default:(0,a.k6)((()=>[P,(0,a.eW)(" 自定义验证")])),_:1})])):(0,a.Q3)("",!0),t.hasLogger?((0,a.uX)(),(0,a.CE)("li",x,[(0,a.bF)(n,{to:{name:"FullLogger"}},{default:(0,a.k6)((()=>[L,(0,a.eW)(" 日志")])),_:1})])):(0,a.Q3)("",!0)])]),(0,a.Lk)("div",W,[(0,a.bF)(u,{name:"full"})])])])}var A=r(7477),X=r(3830),j=r(5096),Q={components:{Promotion:A.Yk4,StarFilled:A.BQ2,WarnTriangleFilled:A.DtC,PhoneFilled:A.pXb,HelpFilled:A.adD,Background:j.A},setup(){const e=(0,X.B)(),l=(0,a.EW)((()=>e.value.hasAccess("Config"))),r=(0,a.EW)((()=>e.value.hasAccess("LoggerShow"))),t=(0,a.EW)((()=>e.value.hasAccess("Transport"))),o=(0,a.EW)((()=>e.value.hasAccess("Action")));return{hasConfig:l,hasLogger:r,hasTransport:t,hasAction:o}}},E=r(1241);const I=(0,E.A)(Q,[["render",U],["__scopeId","data-v-288c64ff"]]);var N=I,q=r(5234);const R=e=>((0,a.Qi)("data-v-41d4c7eb"),e=e(),(0,a.jt)(),e),D={class:"head"},B={class:"body"},O=R((()=>(0,a.Lk)("div",{class:"t-c"},"完成保存后,请重启软件",-1))),T={class:"footer t-c"};function J(e,l,r,t,o,s){const n=(0,a.g2)("el-step"),u=(0,a.g2)("el-steps"),d=(0,a.g2)("Common"),m=(0,a.g2)("el-card"),i=(0,a.g2)("Server"),f=(0,a.g2)("Client"),c=(0,a.g2)("el-button"),b=(0,a.g2)("el-dialog");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(b,{modelValue:t.state.show,"onUpdate:modelValue":l[0]||(l[0]=e=>t.state.show=e),title:"初始化配置",width:"600",top:"2vh"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.Lk)("div",D,[(0,a.bF)(u,{active:t.step.step,"finish-status":"success"},{default:(0,a.k6)((()=>[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(t.state.steps,((e,l)=>((0,a.uX)(),(0,a.Wv)(n,{title:e},null,8,["title"])))),256))])),_:1},8,["active"])]),(0,a.Lk)("div",B,[1==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:0,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(d,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),2==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:1,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(i,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),3==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:2,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(f,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),4==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:3,shadow:"never"},{default:(0,a.k6)((()=>[O])),_:1})):(0,a.Q3)("",!0)]),(0,a.Lk)("div",T,[(0,a.bF)(c,{disabled:t.step.step<=1,onClick:t.handlePrev},{default:(0,a.k6)((()=>[(0,a.eW)("上一步")])),_:1},8,["disabled","onClick"]),t.step.step[(0,a.eW)("下一步")])),_:1},8,["onClick"])):((0,a.uX)(),(0,a.Wv)(c,{key:1,type:"primary",onClick:t.handleSave},{default:(0,a.k6)((()=>[(0,a.eW)("完成")])),_:1},8,["onClick"]))])])])),_:1},8,["modelValue"])])}var H=r(8835),z=r(144),G=r(1219);const Y={class:"t-c"};function M(e,l,r,t,o,s){const n=(0,a.g2)("el-checkbox");return(0,a.uX)(),(0,a.CE)("div",Y,[(0,a.bF)(n,{modelValue:t.state.form.client,"onUpdate:modelValue":l[0]||(l[0]=e=>t.state.form.client=e),label:"作为客户端"},null,8,["modelValue"]),(0,a.bF)(n,{modelValue:t.state.form.server,"onUpdate:modelValue":l[1]||(l[1]=e=>t.state.form.server=e),label:"作为服务端"},null,8,["modelValue"])])}var Z={name:"Common",setup(){const e=(0,a.WQ)("step"),l=(0,z.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))}}):(G.nk.error("请选择客户端或服务端"),r())}));return{state:l,handleValidate:r}}};const $=(0,E.A)(Z,[["render",M]]);var ee=$;const le=e=>((0,a.Qi)("data-v-47b95c93"),e=e(),(0,a.jt)(),e),re=le((()=>(0,a.Lk)("div",{class:"t-c w-100"},[(0,a.Lk)("p",null,"端口为0则不监听,相同分组名之间的客户端相互可见")],-1)));function ae(e,l,r,t,o,s){const n=(0,a.g2)("el-form-item"),u=(0,a.g2)("el-input"),d=(0,a.g2)("el-col"),m=(0,a.g2)("el-row"),i=(0,a.g2)("el-checkbox"),f=(0,a.g2)("el-form");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(f,{ref:"formDom",model:t.state.form,rules:t.state.rules,"label-width":"8rem"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[re])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"机器名",prop:"name"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.name,"onUpdate:modelValue":l[0]||(l[0]=e=>t.state.form.name=e),maxlength:"12","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"分组名",prop:"groupid"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.groupid,"onUpdate:modelValue":l[1]||(l[1]=e=>t.state.form.groupid=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"接口端口",prop:"api"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.api,"onUpdate:modelValue":l[2]||(l[2]=e=>t.state.form.api=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"网页端口",prop:"web"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.web,"onUpdate:modelValue":l[3]||(l[3]=e=>t.state.form.web=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"接口密码",prop:"password"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{style:{width:"42rem"},type:"password",modelValue:t.state.form.password,"onUpdate:modelValue":l[4]||(l[4]=e=>t.state.form.password=e),"show-password":"",maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{"label-width":"8rem",prop:"hasServer"},{default:(0,a.k6)((()=>[(0,a.bF)(i,{modelValue:t.state.form.hasServer,"onUpdate:modelValue":l[5]||(l[5]=e=>t.state.form.hasServer=e),label:"我有服务器",size:"large"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(n,{key:0,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"信标服务",prop:"server"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.server,"onUpdate:modelValue":l[6]||(l[6]=e=>t.state.form.server=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"信标密钥",prop:"serverSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.serverSecretKey,"onUpdate:modelValue":l[7]||(l[7]=e=>t.state.form.serverSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(n,{key:1,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.sForwardSecretKey,"onUpdate:modelValue":l[8]||(l[8]=e=>t.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.relaySecretKey,"onUpdate:modelValue":l[9]||(l[9]=e=>t.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(n,{key:2,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.updaterSecretKey,"onUpdate:modelValue":l[10]||(l[10]=e=>t.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"占位"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{disabled:"",maxlength:"36","show-word-limit":""})])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0)])),_:1},8,["model","rules"])])}var te={setup(e){const l=(0,a.WQ)("step"),r=(0,X.B)(),t=(0,z.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,z.KR)(null),s=()=>new Promise(((e,l)=>{o.value.validate((r=>{r?e({json:{Client:{name:t.form.name,groupid:t.form.groupid,api:+t.form.api,web:+t.form.web,password:t.form.password,hasServer:t.form.hasServer,server:t.form.server,serverSecretKey:t.form.serverSecretKey,sForwardSecretKey:t.form.sForwardSecretKey,relaySecretKey:t.form.relaySecretKey,updaterSecretKey:t.form.updaterSecretKey}},form:{client:JSON.parse(JSON.stringify(t.form))}}):l()}))}));return(0,a.sV)((()=>{0==l.value.json.Common.client&&(l.value.step+=l.value.increment)})),{state:t,handleValidate:s,formDom:o}}};const oe=(0,E.A)(te,[["render",ae],["__scopeId","data-v-47b95c93"]]);var se=oe;const ne=e=>((0,a.Qi)("data-v-c9a17ce0"),e=e(),(0,a.jt)(),e),ue=ne((()=>(0,a.Lk)("div",{class:"t-c w-100"},"端口为0则不监听",-1)));function de(e,l,r,t,o,s){const n=(0,a.g2)("el-form-item"),u=(0,a.g2)("el-input"),d=(0,a.g2)("el-col"),m=(0,a.g2)("el-row"),i=(0,a.g2)("el-form");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(i,{ref:"formDom",model:t.state.form,rules:t.state.rules,"label-width":"10rem"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[ue])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"服务端口",prop:"servicePort"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.servicePort,"onUpdate:modelValue":l[0]||(l[0]=e=>t.state.form.servicePort=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"web穿透端口",prop:"webPort"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.webPort,"onUpdate:modelValue":l[1]||(l[1]=e=>t.state.form.webPort=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"开放最小端口",prop:"tunnelPort1"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.tunnelPort1,"onUpdate:modelValue":l[2]||(l[2]=e=>t.state.form.tunnelPort1=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"开放最大端口",prop:"tunnelPort2"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.tunnelPort2,"onUpdate:modelValue":l[3]||(l[3]=e=>t.state.form.tunnelPort2=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:24},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"信标密钥",prop:"signinSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.signinSecretKey,"onUpdate:modelValue":l[4]||(l[4]=e=>t.state.form.signinSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.sForwardSecretKey,"onUpdate:modelValue":l[5]||(l[5]=e=>t.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.relaySecretKey,"onUpdate:modelValue":l[6]||(l[6]=e=>t.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:24},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.updaterSecretKey,"onUpdate:modelValue":l[7]||(l[7]=e=>t.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["model","rules"])])}var me={setup(e){const l=(0,a.WQ)("step"),r=(0,X.B)(),t=(0,z.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,z.KR)(null),s=()=>new Promise(((e,l)=>{o.value.validate((r=>{0==r?l():e({json:{Server:{ServicePort:+t.form.servicePort,Relay:{SecretKey:t.form.relaySecretKey},SForward:{SecretKey:t.form.sForwardSecretKey,WebPort:+t.form.webPort,TunnelPortRange:[+t.form.tunnelPort1,+t.form.tunnelPort2]},Updater:{SecretKey:t.form.updaterSecretKey},SignIn:{SecretKey:t.form.signinSecretKey}}},form:{server:JSON.parse(JSON.stringify(t.form))}})}))}));return(0,a.sV)((()=>{0==l.value.json.Common.server&&(l.value.step+=l.value.increment)})),{state:t,handleValidate:s,formDom:o}}};const ie=(0,E.A)(me,[["render",de],["__scopeId","data-v-c9a17ce0"]]);var fe=ie,ce={components:{Common:ee,Client:se,Server:fe},setup(e){const l=(0,X.B)(),r=(0,z.Kh)({show:0==l.value.config.Common.Install,steps:["选择模式","服务端","客户端","完成"]}),t=(0,z.KR)(null),o=(0,z.KR)({step:1,increment:1,json:{},form:{server:{},client:{},common:{}}});(0,a.Gt)("step",o);const s=()=>{o.value.step--,o.value.increment=-1},n=()=>{o.value.increment=1,t.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,H.ai)(o.value.json).then((()=>{G.nk.success("保存成功")})).catch((()=>{G.nk.error("保存失败")}))};return{state:r,currentDom:t,step:o,handlePrev:s,handleNext:n,handleSave:u}}};const be=(0,E.A)(ce,[["render",J],["__scopeId","data-v-41d4c7eb"]]);var ve=be,pe=r(1387),ge={name:"Index",components:{Head:N,Status:q.A,Install:ve},setup(e){const l=(0,X.B)(),r=(0,pe.rd)(),t=(0,z.KR)(null),o=()=>{(0,a.dY)((()=>{l.value.height=t.value.offsetHeight}))};return(0,a.sV)((()=>{0==l.value.hasAccess("FullManager")&&r.push({name:"NoPermission"}),window.addEventListener("resize",o),o()})),(0,a.hi)((()=>{window.removeEventListener("resize",o)})),{wrap:t}}};const ke=(0,E.A)(ge,[["render",d],["__scopeId","data-v-5ea3415a"]]);var Fe=ke}}]); \ No newline at end of file +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[684],{8902:function(e,l,r){r.r(l),r.d(l,{default:function(){return Fe}});var a=r(6768);const t={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,a.g2)("Head"),c=(0,a.g2)("router-view"),b=(0,a.g2)("Status"),v=(0,a.g2)("Install");return(0,a.uX)(),(0,a.CE)("div",t,[(0,a.Lk)("div",o,[(0,a.bF)(f)]),(0,a.Lk)("div",s,[(0,a.Lk)("div",n,[(0,a.bF)(c)])],512),(0,a.Lk)("div",u,[(0,a.bF)(b,{config:!0}),(0,a.bF)(v)])])}r(4114);var m=r.p+"img/logo.892cb2fb.png",i=r.p+"img/shouye.4c820c0e.svg",f=r.p+"img/fuwuqi.247f2561.svg",c=r.p+"img/dadong.e6fd78bf.svg",b=r.p+"img/anquan.5f8d5e47.svg",v=r.p+"img/rizhi.c3ca751b.svg";const p=e=>((0,a.Qi)("data-v-288c64ff"),e=e(),(0,a.jt)(),e),g={class:"head flex"},k={class:"logo"},F=p((()=>(0,a.Lk)("img",{src:m,alt:""},null,-1))),w={class:"menu flex-1"},y={class:"flex"},S=p((()=>(0,a.Lk)("img",{src:i},null,-1))),h={key:0},_=p((()=>(0,a.Lk)("img",{src:f},null,-1))),K={key:1},V=p((()=>(0,a.Lk)("img",{src:c},null,-1))),C={key:2},P=p((()=>(0,a.Lk)("img",{src:b},null,-1))),x={key:3},L=p((()=>(0,a.Lk)("img",{src:v},null,-1))),W={class:"image"};function U(e,l,r,t,o,s){const n=(0,a.g2)("router-link"),u=(0,a.g2)("Background");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.Lk)("div",g,[(0,a.Lk)("div",k,[(0,a.bF)(n,{to:{name:"FullIndex"}},{default:(0,a.k6)((()=>[F])),_:1})]),(0,a.Lk)("div",w,[(0,a.Lk)("ul",y,[(0,a.Lk)("li",null,[(0,a.bF)(n,{to:{name:"FullIndex"}},{default:(0,a.k6)((()=>[S,(0,a.eW)(" 首页")])),_:1})]),t.hasConfig?((0,a.uX)(),(0,a.CE)("li",h,[(0,a.bF)(n,{to:{name:"FullServers"}},{default:(0,a.k6)((()=>[_,(0,a.eW)(" 服务器")])),_:1})])):(0,a.Q3)("",!0),t.hasTransport?((0,a.uX)(),(0,a.CE)("li",K,[(0,a.bF)(n,{to:{name:"FullTransport"}},{default:(0,a.k6)((()=>[V,(0,a.eW)(" 打洞协议")])),_:1})])):(0,a.Q3)("",!0),t.hasAction?((0,a.uX)(),(0,a.CE)("li",C,[(0,a.bF)(n,{to:{name:"FullAction"}},{default:(0,a.k6)((()=>[P,(0,a.eW)(" 自定义验证")])),_:1})])):(0,a.Q3)("",!0),t.hasLogger?((0,a.uX)(),(0,a.CE)("li",x,[(0,a.bF)(n,{to:{name:"FullLogger"}},{default:(0,a.k6)((()=>[L,(0,a.eW)(" 日志")])),_:1})])):(0,a.Q3)("",!0)])]),(0,a.Lk)("div",W,[(0,a.bF)(u,{name:"full"})])])])}var A=r(7477),X=r(3830),j=r(5096),Q={components:{Promotion:A.Yk4,StarFilled:A.BQ2,WarnTriangleFilled:A.DtC,PhoneFilled:A.pXb,HelpFilled:A.adD,Background:j.A},setup(){const e=(0,X.B)(),l=(0,a.EW)((()=>e.value.hasAccess("Config"))),r=(0,a.EW)((()=>e.value.hasAccess("LoggerShow"))),t=(0,a.EW)((()=>e.value.hasAccess("Transport"))),o=(0,a.EW)((()=>e.value.hasAccess("Action")));return{hasConfig:l,hasLogger:r,hasTransport:t,hasAction:o}}},E=r(1241);const I=(0,E.A)(Q,[["render",U],["__scopeId","data-v-288c64ff"]]);var N=I,q=r(3933);const R=e=>((0,a.Qi)("data-v-41d4c7eb"),e=e(),(0,a.jt)(),e),D={class:"head"},B={class:"body"},O=R((()=>(0,a.Lk)("div",{class:"t-c"},"完成保存后,请重启软件",-1))),T={class:"footer t-c"};function J(e,l,r,t,o,s){const n=(0,a.g2)("el-step"),u=(0,a.g2)("el-steps"),d=(0,a.g2)("Common"),m=(0,a.g2)("el-card"),i=(0,a.g2)("Server"),f=(0,a.g2)("Client"),c=(0,a.g2)("el-button"),b=(0,a.g2)("el-dialog");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(b,{modelValue:t.state.show,"onUpdate:modelValue":l[0]||(l[0]=e=>t.state.show=e),title:"初始化配置",width:"600",top:"2vh"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.Lk)("div",D,[(0,a.bF)(u,{active:t.step.step,"finish-status":"success"},{default:(0,a.k6)((()=>[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(t.state.steps,((e,l)=>((0,a.uX)(),(0,a.Wv)(n,{title:e},null,8,["title"])))),256))])),_:1},8,["active"])]),(0,a.Lk)("div",B,[1==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:0,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(d,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),2==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:1,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(i,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),3==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:2,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(f,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),4==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:3,shadow:"never"},{default:(0,a.k6)((()=>[O])),_:1})):(0,a.Q3)("",!0)]),(0,a.Lk)("div",T,[(0,a.bF)(c,{disabled:t.step.step<=1,onClick:t.handlePrev},{default:(0,a.k6)((()=>[(0,a.eW)("上一步")])),_:1},8,["disabled","onClick"]),t.step.step[(0,a.eW)("下一步")])),_:1},8,["onClick"])):((0,a.uX)(),(0,a.Wv)(c,{key:1,type:"primary",onClick:t.handleSave},{default:(0,a.k6)((()=>[(0,a.eW)("完成")])),_:1},8,["onClick"]))])])])),_:1},8,["modelValue"])])}var H=r(8835),z=r(144),G=r(1219);const Y={class:"t-c"};function M(e,l,r,t,o,s){const n=(0,a.g2)("el-checkbox");return(0,a.uX)(),(0,a.CE)("div",Y,[(0,a.bF)(n,{modelValue:t.state.form.client,"onUpdate:modelValue":l[0]||(l[0]=e=>t.state.form.client=e),label:"作为客户端"},null,8,["modelValue"]),(0,a.bF)(n,{modelValue:t.state.form.server,"onUpdate:modelValue":l[1]||(l[1]=e=>t.state.form.server=e),label:"作为服务端"},null,8,["modelValue"])])}var Z={name:"Common",setup(){const e=(0,a.WQ)("step"),l=(0,z.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))}}):(G.nk.error("请选择客户端或服务端"),r())}));return{state:l,handleValidate:r}}};const $=(0,E.A)(Z,[["render",M]]);var ee=$;const le=e=>((0,a.Qi)("data-v-47b95c93"),e=e(),(0,a.jt)(),e),re=le((()=>(0,a.Lk)("div",{class:"t-c w-100"},[(0,a.Lk)("p",null,"端口为0则不监听,相同分组名之间的客户端相互可见")],-1)));function ae(e,l,r,t,o,s){const n=(0,a.g2)("el-form-item"),u=(0,a.g2)("el-input"),d=(0,a.g2)("el-col"),m=(0,a.g2)("el-row"),i=(0,a.g2)("el-checkbox"),f=(0,a.g2)("el-form");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(f,{ref:"formDom",model:t.state.form,rules:t.state.rules,"label-width":"8rem"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[re])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"机器名",prop:"name"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.name,"onUpdate:modelValue":l[0]||(l[0]=e=>t.state.form.name=e),maxlength:"12","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"分组名",prop:"groupid"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.groupid,"onUpdate:modelValue":l[1]||(l[1]=e=>t.state.form.groupid=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"接口端口",prop:"api"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.api,"onUpdate:modelValue":l[2]||(l[2]=e=>t.state.form.api=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"网页端口",prop:"web"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.web,"onUpdate:modelValue":l[3]||(l[3]=e=>t.state.form.web=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"接口密码",prop:"password"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{style:{width:"42rem"},type:"password",modelValue:t.state.form.password,"onUpdate:modelValue":l[4]||(l[4]=e=>t.state.form.password=e),"show-password":"",maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{"label-width":"8rem",prop:"hasServer"},{default:(0,a.k6)((()=>[(0,a.bF)(i,{modelValue:t.state.form.hasServer,"onUpdate:modelValue":l[5]||(l[5]=e=>t.state.form.hasServer=e),label:"我有服务器",size:"large"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(n,{key:0,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"信标服务",prop:"server"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.server,"onUpdate:modelValue":l[6]||(l[6]=e=>t.state.form.server=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"信标密钥",prop:"serverSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.serverSecretKey,"onUpdate:modelValue":l[7]||(l[7]=e=>t.state.form.serverSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(n,{key:1,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.sForwardSecretKey,"onUpdate:modelValue":l[8]||(l[8]=e=>t.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.relaySecretKey,"onUpdate:modelValue":l[9]||(l[9]=e=>t.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(n,{key:2,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.updaterSecretKey,"onUpdate:modelValue":l[10]||(l[10]=e=>t.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"占位"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{disabled:"",maxlength:"36","show-word-limit":""})])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0)])),_:1},8,["model","rules"])])}var te={setup(e){const l=(0,a.WQ)("step"),r=(0,X.B)(),t=(0,z.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,z.KR)(null),s=()=>new Promise(((e,l)=>{o.value.validate((r=>{r?e({json:{Client:{name:t.form.name,groupid:t.form.groupid,api:+t.form.api,web:+t.form.web,password:t.form.password,hasServer:t.form.hasServer,server:t.form.server,serverSecretKey:t.form.serverSecretKey,sForwardSecretKey:t.form.sForwardSecretKey,relaySecretKey:t.form.relaySecretKey,updaterSecretKey:t.form.updaterSecretKey}},form:{client:JSON.parse(JSON.stringify(t.form))}}):l()}))}));return(0,a.sV)((()=>{0==l.value.json.Common.client&&(l.value.step+=l.value.increment)})),{state:t,handleValidate:s,formDom:o}}};const oe=(0,E.A)(te,[["render",ae],["__scopeId","data-v-47b95c93"]]);var se=oe;const ne=e=>((0,a.Qi)("data-v-c9a17ce0"),e=e(),(0,a.jt)(),e),ue=ne((()=>(0,a.Lk)("div",{class:"t-c w-100"},"端口为0则不监听",-1)));function de(e,l,r,t,o,s){const n=(0,a.g2)("el-form-item"),u=(0,a.g2)("el-input"),d=(0,a.g2)("el-col"),m=(0,a.g2)("el-row"),i=(0,a.g2)("el-form");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(i,{ref:"formDom",model:t.state.form,rules:t.state.rules,"label-width":"10rem"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[ue])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"服务端口",prop:"servicePort"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.servicePort,"onUpdate:modelValue":l[0]||(l[0]=e=>t.state.form.servicePort=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"web穿透端口",prop:"webPort"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.webPort,"onUpdate:modelValue":l[1]||(l[1]=e=>t.state.form.webPort=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"开放最小端口",prop:"tunnelPort1"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.tunnelPort1,"onUpdate:modelValue":l[2]||(l[2]=e=>t.state.form.tunnelPort1=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"开放最大端口",prop:"tunnelPort2"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.tunnelPort2,"onUpdate:modelValue":l[3]||(l[3]=e=>t.state.form.tunnelPort2=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:24},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"信标密钥",prop:"signinSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.signinSecretKey,"onUpdate:modelValue":l[4]||(l[4]=e=>t.state.form.signinSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.sForwardSecretKey,"onUpdate:modelValue":l[5]||(l[5]=e=>t.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.relaySecretKey,"onUpdate:modelValue":l[6]||(l[6]=e=>t.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(n,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:24},{default:(0,a.k6)((()=>[(0,a.bF)(n,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{modelValue:t.state.form.updaterSecretKey,"onUpdate:modelValue":l[7]||(l[7]=e=>t.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["model","rules"])])}var me={setup(e){const l=(0,a.WQ)("step"),r=(0,X.B)(),t=(0,z.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,z.KR)(null),s=()=>new Promise(((e,l)=>{o.value.validate((r=>{0==r?l():e({json:{Server:{ServicePort:+t.form.servicePort,Relay:{SecretKey:t.form.relaySecretKey},SForward:{SecretKey:t.form.sForwardSecretKey,WebPort:+t.form.webPort,TunnelPortRange:[+t.form.tunnelPort1,+t.form.tunnelPort2]},Updater:{SecretKey:t.form.updaterSecretKey},SignIn:{SecretKey:t.form.signinSecretKey}}},form:{server:JSON.parse(JSON.stringify(t.form))}})}))}));return(0,a.sV)((()=>{0==l.value.json.Common.server&&(l.value.step+=l.value.increment)})),{state:t,handleValidate:s,formDom:o}}};const ie=(0,E.A)(me,[["render",de],["__scopeId","data-v-c9a17ce0"]]);var fe=ie,ce={components:{Common:ee,Client:se,Server:fe},setup(e){const l=(0,X.B)(),r=(0,z.Kh)({show:0==l.value.config.Common.Install,steps:["选择模式","服务端","客户端","完成"]}),t=(0,z.KR)(null),o=(0,z.KR)({step:1,increment:1,json:{},form:{server:{},client:{},common:{}}});(0,a.Gt)("step",o);const s=()=>{o.value.step--,o.value.increment=-1},n=()=>{o.value.increment=1,t.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,H.ai)(o.value.json).then((()=>{G.nk.success("保存成功")})).catch((()=>{G.nk.error("保存失败")}))};return{state:r,currentDom:t,step:o,handlePrev:s,handleNext:n,handleSave:u}}};const be=(0,E.A)(ce,[["render",J],["__scopeId","data-v-41d4c7eb"]]);var ve=be,pe=r(1387),ge={name:"Index",components:{Head:N,Status:q.A,Install:ve},setup(e){const l=(0,X.B)(),r=(0,pe.rd)(),t=(0,z.KR)(null),o=()=>{(0,a.dY)((()=>{l.value.height=t.value.offsetHeight}))};return(0,a.sV)((()=>{0==l.value.hasAccess("FullManager")&&r.push({name:"NoPermission"}),window.addEventListener("resize",o),o()})),(0,a.hi)((()=>{window.removeEventListener("resize",o)})),{wrap:t}}};const ke=(0,E.A)(ge,[["render",d],["__scopeId","data-v-5ea3415a"]]);var Fe=ke}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/901.5df63745.js b/linker.tray.win/web/js/700.ffed4d31.js similarity index 95% rename from linker.tray.win/web/js/901.5df63745.js rename to linker.tray.win/web/js/700.ffed4d31.js index 1e2b9fcf..d0cbfdc5 100644 --- a/linker.tray.win/web/js/901.5df63745.js +++ b/linker.tray.win/web/js/700.ffed4d31.js @@ -1 +1 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[901],{9256:function(e,a,t){t.r(a),t.d(a,{default:function(){return M}});var n=t(6768);const l={class:"net-wrap app-wrap"},s={class:"inner absolute flex flex-column flex-nowrap"},r={class:"head"},i={class:"body flex-1 relative"},u={class:"status"};function c(e,a,t,c,d,o){const g=(0,n.g2)("Head"),p=(0,n.g2)("List"),v=(0,n.g2)("Status");return(0,n.uX)(),(0,n.CE)("div",l,[(0,n.Lk)("div",s,[(0,n.Lk)("div",r,[(0,n.bF)(g)]),(0,n.Lk)("div",i,[(0,n.bF)(p)]),(0,n.Lk)("div",u,[(0,n.bF)(v,{config:!1})])])])}t(4114);const d=e=>((0,n.Qi)("data-v-213d85ba"),e=e(),(0,n.jt)(),e),o={class:"head-wrap"},g={class:"tools flex"},p=d((()=>(0,n.Lk)("span",{class:"label"},"服务器 ",-1))),v=d((()=>(0,n.Lk)("span",{class:"flex-1"},null,-1))),h={style:{"margin-left":"1rem"}};function f(e,a,t,l,s,r){const i=(0,n.g2)("el-option"),u=(0,n.g2)("el-select"),c=(0,n.g2)("Refresh"),d=(0,n.g2)("el-icon"),f=(0,n.g2)("el-button"),k=(0,n.g2)("Background");return(0,n.uX)(),(0,n.CE)("div",o,[(0,n.Lk)("div",g,[p,(0,n.bF)(u,{modelValue:l.state.server,"onUpdate:modelValue":a[0]||(a[0]=e=>l.state.server=e),placeholder:"服务器",style:{width:"16rem"},size:"small"},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(l.state.servers,(e=>((0,n.uX)(),(0,n.Wv)(i,{key:e.Host,label:e.Name,value:e.Host},null,8,["label","value"])))),128))])),_:1},8,["modelValue"]),v,(0,n.bF)(f,{size:"small",onClick:l.handleRefresh},{default:(0,n.k6)((()=>[(0,n.eW)(" 刷新(F5)"),(0,n.bF)(d,null,{default:(0,n.k6)((()=>[(0,n.bF)(c)])),_:1})])),_:1},8,["onClick"]),(0,n.Lk)("div",h,[(0,n.bF)(k,{name:"net"})])])])}var k=t(3830),m=t(144),b=t(7477),C=t(5096),L={components:{Edit:b.ffu,Refresh:b.C42,Background:C.A},setup(){const e=(0,k.B)(),a=(0,m.Kh)({server:"linker.snltty.com:1802",servers:[]});(0,n.wB)((()=>e.value.config.Client.Servers),(()=>{a.servers=(e.value.config.Client.Servers||[]).slice(0,1),a.server=e.value.config.Client.ServerInfo.Host}));const t=()=>{window.location.reload()};return{state:a,handleRefresh:t}}},w=t(1241);const S=(0,w.A)(L,[["render",f],["__scopeId","data-v-213d85ba"]]);var _=S;const F=e=>((0,n.Qi)("data-v-b6ab4f06"),e=e(),(0,n.jt)(),e),x={class:"net-list-wrap flex flex-column absolute"},z={class:"flex-1 scrollbar"},I={class:"flex"},E=F((()=>(0,n.Lk)("div",{class:"flex-1"},null,-1))),T={class:"tuntap"},A={class:"page t-c"},B={class:"page-wrap t-c"};function P(e,a,t,l,s,r){const i=(0,n.g2)("DeviceName"),u=(0,n.g2)("UpdaterBtn"),c=(0,n.g2)("TuntapShow"),d=(0,n.g2)("el-pagination");return(0,n.uX)(),(0,n.CE)("div",x,[(0,n.Lk)("div",z,[(0,n.Lk)("ul",null,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(l.devices.page.List,((e,a)=>((0,n.uX)(),(0,n.CE)("li",{key:a},[(0,n.Lk)("dl",null,[(0,n.Lk)("dt",I,[(0,n.Lk)("div",null,[(0,n.bF)(i,{item:e},null,8,["item"])]),E,(0,n.Lk)("div",null,[(0,n.bF)(u,{config:!1,item:e},null,8,["item"])])]),(0,n.Lk)("dd",T,[l.tuntap.list[e.MachineId]?((0,n.uX)(),(0,n.Wv)(c,{key:0,item:e},null,8,["item"])):(0,n.Q3)("",!0)])])])))),128))])]),(0,n.Lk)("div",A,[(0,n.Lk)("div",B,[(0,n.bF)(d,{size:"small",background:"",layout:"prev,pager, next","pager-count":5,total:l.devices.page.Count,"page-size":l.devices.page.Request.Size,"current-page":l.devices.page.Request.Page,onCurrentChange:l.handlePageChange,onSizeChange:l.handlePageSizeChange,"page-sizes":[10,20,50,100,255]},null,8,["total","page-size","current-page","onCurrentChange","onSizeChange"])])])])}var y=t(8104),X=t(7985),R=t(9383),D=t(2126),U=t(886),H=t(3630),N={components:{StarFilled:b.BQ2,UpdaterBtn:D.A,DeviceName:U.A,TuntapShow:H.A},setup(e){(0,k.B)();const a=(0,m.Kh)({}),{devices:t,machineId:l,_getSignList:s,_getSignList1:r,handleDeviceEdit:i,handlePageChange:u,handlePageSizeChange:c,handleDel:d,clearDevicesTimeout:o}=(0,X.r)(),{tuntap:g,_getTuntapInfo:p,handleTuntapRefresh:v,clearTuntapTimeout:h,handleTuntapEdit:f,sortTuntapIP:b}=(0,y.O)(),{_getUpdater:C,_subscribeUpdater:L,clearUpdaterTimeout:w}=(0,R.d)();return(0,n.sV)((()=>{u(),v(),s(),r(),p(),C(),L()})),(0,n.hi)((()=>{o(),h(),w()})),{state:a,devices:t,machineId:l,handlePageChange:u,handlePageSizeChange:c,tuntap:g}}};const V=(0,w.A)(N,[["render",P],["__scopeId","data-v-b6ab4f06"]]);var K=V,Q=t(5234),W=t(1387),j={components:{Head:_,List:K,Status:Q.A},setup(){document.addEventListener("contextmenu",(function(e){e.preventDefault()}));const e=(0,k.B)(),a=(0,W.rd)();return(0,n.sV)((()=>{0==e.value.hasAccess("NetManager")&&a.push({name:"NoPermission"})})),{}}};const q=(0,w.A)(j,[["render",c],["__scopeId","data-v-6a3f3b43"]]);var M=q}}]); \ No newline at end of file +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[700],{9256:function(e,a,t){t.r(a),t.d(a,{default:function(){return M}});var n=t(6768);const l={class:"net-wrap app-wrap"},s={class:"inner absolute flex flex-column flex-nowrap"},r={class:"head"},i={class:"body flex-1 relative"},u={class:"status"};function c(e,a,t,c,d,o){const g=(0,n.g2)("Head"),p=(0,n.g2)("List"),v=(0,n.g2)("Status");return(0,n.uX)(),(0,n.CE)("div",l,[(0,n.Lk)("div",s,[(0,n.Lk)("div",r,[(0,n.bF)(g)]),(0,n.Lk)("div",i,[(0,n.bF)(p)]),(0,n.Lk)("div",u,[(0,n.bF)(v,{config:!1})])])])}t(4114);const d=e=>((0,n.Qi)("data-v-213d85ba"),e=e(),(0,n.jt)(),e),o={class:"head-wrap"},g={class:"tools flex"},p=d((()=>(0,n.Lk)("span",{class:"label"},"服务器 ",-1))),v=d((()=>(0,n.Lk)("span",{class:"flex-1"},null,-1))),h={style:{"margin-left":"1rem"}};function f(e,a,t,l,s,r){const i=(0,n.g2)("el-option"),u=(0,n.g2)("el-select"),c=(0,n.g2)("Refresh"),d=(0,n.g2)("el-icon"),f=(0,n.g2)("el-button"),k=(0,n.g2)("Background");return(0,n.uX)(),(0,n.CE)("div",o,[(0,n.Lk)("div",g,[p,(0,n.bF)(u,{modelValue:l.state.server,"onUpdate:modelValue":a[0]||(a[0]=e=>l.state.server=e),placeholder:"服务器",style:{width:"16rem"},size:"small"},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(l.state.servers,(e=>((0,n.uX)(),(0,n.Wv)(i,{key:e.Host,label:e.Name,value:e.Host},null,8,["label","value"])))),128))])),_:1},8,["modelValue"]),v,(0,n.bF)(f,{size:"small",onClick:l.handleRefresh},{default:(0,n.k6)((()=>[(0,n.eW)(" 刷新(F5)"),(0,n.bF)(d,null,{default:(0,n.k6)((()=>[(0,n.bF)(c)])),_:1})])),_:1},8,["onClick"]),(0,n.Lk)("div",h,[(0,n.bF)(k,{name:"net"})])])])}var k=t(3830),m=t(144),b=t(7477),C=t(5096),L={components:{Edit:b.ffu,Refresh:b.C42,Background:C.A},setup(){const e=(0,k.B)(),a=(0,m.Kh)({server:"linker.snltty.com:1802",servers:[]});(0,n.wB)((()=>e.value.config.Client.Servers),(()=>{a.servers=(e.value.config.Client.Servers||[]).slice(0,1),a.server=e.value.config.Client.ServerInfo.Host}));const t=()=>{window.location.reload()};return{state:a,handleRefresh:t}}},w=t(1241);const S=(0,w.A)(L,[["render",f],["__scopeId","data-v-213d85ba"]]);var _=S;const F=e=>((0,n.Qi)("data-v-b6ab4f06"),e=e(),(0,n.jt)(),e),x={class:"net-list-wrap flex flex-column absolute"},z={class:"flex-1 scrollbar"},I={class:"flex"},E=F((()=>(0,n.Lk)("div",{class:"flex-1"},null,-1))),T={class:"tuntap"},A={class:"page t-c"},B={class:"page-wrap t-c"};function P(e,a,t,l,s,r){const i=(0,n.g2)("DeviceName"),u=(0,n.g2)("UpdaterBtn"),c=(0,n.g2)("TuntapShow"),d=(0,n.g2)("el-pagination");return(0,n.uX)(),(0,n.CE)("div",x,[(0,n.Lk)("div",z,[(0,n.Lk)("ul",null,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(l.devices.page.List,((e,a)=>((0,n.uX)(),(0,n.CE)("li",{key:a},[(0,n.Lk)("dl",null,[(0,n.Lk)("dt",I,[(0,n.Lk)("div",null,[(0,n.bF)(i,{item:e},null,8,["item"])]),E,(0,n.Lk)("div",null,[(0,n.bF)(u,{config:!1,item:e},null,8,["item"])])]),(0,n.Lk)("dd",T,[l.tuntap.list[e.MachineId]?((0,n.uX)(),(0,n.Wv)(c,{key:0,item:e},null,8,["item"])):(0,n.Q3)("",!0)])])])))),128))])]),(0,n.Lk)("div",A,[(0,n.Lk)("div",B,[(0,n.bF)(d,{size:"small",background:"",layout:"prev,pager, next","pager-count":5,total:l.devices.page.Count,"page-size":l.devices.page.Request.Size,"current-page":l.devices.page.Request.Page,onCurrentChange:l.handlePageChange,onSizeChange:l.handlePageSizeChange,"page-sizes":[10,20,50,100,255]},null,8,["total","page-size","current-page","onCurrentChange","onSizeChange"])])])])}var y=t(8104),X=t(7985),R=t(9383),D=t(2126),U=t(886),H=t(1198),N={components:{StarFilled:b.BQ2,UpdaterBtn:D.A,DeviceName:U.A,TuntapShow:H.A},setup(e){(0,k.B)();const a=(0,m.Kh)({}),{devices:t,machineId:l,_getSignList:s,_getSignList1:r,handleDeviceEdit:i,handlePageChange:u,handlePageSizeChange:c,handleDel:d,clearDevicesTimeout:o}=(0,X.r)(),{tuntap:g,_getTuntapInfo:p,handleTuntapRefresh:v,clearTuntapTimeout:h,handleTuntapEdit:f,sortTuntapIP:b}=(0,y.O)(),{_getUpdater:C,_subscribeUpdater:L,clearUpdaterTimeout:w}=(0,R.d)();return(0,n.sV)((()=>{u(),v(),s(),r(),p(),C(),L()})),(0,n.hi)((()=>{o(),h(),w()})),{state:a,devices:t,machineId:l,handlePageChange:u,handlePageSizeChange:c,tuntap:g}}};const V=(0,w.A)(N,[["render",P],["__scopeId","data-v-b6ab4f06"]]);var K=V,Q=t(3933),W=t(1387),j={components:{Head:_,List:K,Status:Q.A},setup(){document.addEventListener("contextmenu",(function(e){e.preventDefault()}));const e=(0,k.B)(),a=(0,W.rd)();return(0,n.sV)((()=>{0==e.value.hasAccess("NetManager")&&a.push({name:"NoPermission"})})),{}}};const q=(0,w.A)(j,[["render",c],["__scopeId","data-v-6a3f3b43"]]);var M=q}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/738.e637758a.js b/linker.tray.win/web/js/702.45a345ab.js similarity index 98% rename from linker.tray.win/web/js/738.e637758a.js rename to linker.tray.win/web/js/702.45a345ab.js index 9f2fd295..25d33336 100644 --- a/linker.tray.win/web/js/738.e637758a.js +++ b/linker.tray.win/web/js/702.45a345ab.js @@ -1 +1 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[738],{1738:function(e,a,l){l.r(a),l.d(a,{default:function(){return V}});var t=l(6768),o=l(4232);const n=e=>((0,t.Qi)("data-v-17f6d082"),e=e(),(0,t.jt)(),e),r={class:"logger-setting-wrap flex flex-column h-100",ref:"wrap"},g={class:"inner"},s={class:"head flex"},i=n((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1))),d={class:"body flex-1 relative"},u={class:"pages t-c"},c={class:"page-wrap"};function b(e,a,l,n,b,p){const f=(0,t.g2)("el-option"),m=(0,t.g2)("el-select"),h=(0,t.g2)("el-button"),k=(0,t.g2)("el-table-column"),v=(0,t.g2)("el-table"),w=(0,t.g2)("el-pagination"),y=(0,t.g2)("el-tab-pane"),F=(0,t.g2)("Setting"),L=(0,t.g2)("el-tabs");return(0,t.uX)(),(0,t.CE)("div",r,[(0,t.bF)(L,{type:"border-card"},{default:(0,t.k6)((()=>[n.hasLogger?((0,t.uX)(),(0,t.Wv)(y,{key:0,label:"主页"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",g,[(0,t.Lk)("div",s,[(0,t.Lk)("div",null,[(0,t.bF)(m,{modelValue:n.state.type,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.type=e),onChange:n.loadData,size:"small",class:"m-r-1",style:{width:"6rem"}},{default:(0,t.k6)((()=>[(0,t.bF)(f,{value:-1,label:"all"}),(0,t.bF)(f,{value:0,label:"debug"}),(0,t.bF)(f,{value:1,label:"info"}),(0,t.bF)(f,{value:2,label:"warning"}),(0,t.bF)(f,{value:3,label:"error"}),(0,t.bF)(f,{value:4,label:"fatal"})])),_:1},8,["modelValue","onChange"])]),(0,t.bF)(h,{type:"warning",size:"small",loading:n.state.loading,onClick:n.clearData},{default:(0,t.k6)((()=>[(0,t.eW)("清空")])),_:1},8,["loading","onClick"]),(0,t.bF)(h,{size:"small",loading:n.state.loading,onClick:n.loadData},{default:(0,t.k6)((()=>[(0,t.eW)("刷新列表")])),_:1},8,["loading","onClick"]),i]),(0,t.Lk)("div",d,[(0,t.bF)(v,{border:"",data:n.state.page.List,size:"small",height:`${n.state.height}px`,onRowClick:n.handleRowClick,"row-class-name":n.tableRowClassName},{default:(0,t.k6)((()=>[(0,t.bF)(k,{type:"index",width:"50"}),(0,t.bF)(k,{prop:"Type",label:"类别",width:"80"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,o.v_)(n.state.types[e.row.Type]),1)])),_:1}),(0,t.bF)(k,{prop:"Time",label:"时间",width:"160"}),(0,t.bF)(k,{prop:"content",label:"内容"})])),_:1},8,["data","height","onRowClick","row-class-name"])]),(0,t.Lk)("div",u,[(0,t.Lk)("div",c,[(0,t.bF)(w,{small:"",total:n.state.page.Count,currentPage:n.state.page.Page,"onUpdate:currentPage":a[1]||(a[1]=e=>n.state.page.Page=e),"page-size":n.state.page.Size,onCurrentChange:n.handlePageChange,background:"",layout:"total,prev, pager, next"},null,8,["total","currentPage","page-size","onCurrentChange"])])])])])),_:1})):(0,t.Q3)("",!0),n.hasLoggerLevel?((0,t.uX)(),(0,t.Wv)(y,{key:1,label:"配置"},{default:(0,t.k6)((()=>[(0,t.bF)(F)])),_:1})):(0,t.Q3)("",!0)])),_:1})],512)}var p=l(144),f=l(4);const m=e=>(0,f.zG)("loggerclient/get",e),h=()=>(0,f.zG)("loggerclient/clear"),k=()=>(0,f.zG)("loggerclient/getconfig"),v=e=>(0,f.zG)("loggerclient/setconfig",e),w={class:"t-c w-100"};function y(e,a,l,o,n,r){const g=(0,t.g2)("el-input"),s=(0,t.g2)("el-form-item"),i=(0,t.g2)("el-col"),d=(0,t.g2)("el-option"),u=(0,t.g2)("el-select"),c=(0,t.g2)("el-row"),b=(0,t.g2)("el-button"),p=(0,t.g2)("el-form");return(0,t.uX)(),(0,t.Wv)(p,{"label-width":"8rem",ref:"formDom",model:o.state.form,rules:o.state.rules},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(i,{xs:24,sm:8,md:8,lg:8,xl:8},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"显示数量",prop:"Size"},{default:(0,t.k6)((()=>[(0,t.bF)(g,{size:"default",modelValue:o.state.form.Size,"onUpdate:modelValue":a[0]||(a[0]=e=>o.state.form.Size=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(i,{xs:24,sm:8,md:8,lg:8,xl:8},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"日志等级",prop:"LoggerType"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:o.state.form.LoggerType,"onUpdate:modelValue":a[1]||(a[1]=e=>o.state.form.LoggerType=e)},{default:(0,t.k6)((()=>[(0,t.bF)(d,{value:0,label:"debug"}),(0,t.bF)(d,{value:1,label:"info"}),(0,t.bF)(d,{value:2,label:"warning"}),(0,t.bF)(d,{value:3,label:"error"}),(0,t.bF)(d,{value:4,label:"fatal"})])),_:1},8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{"label-width":"0"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",w,[(0,t.bF)(b,{type:"primary",loading:o.state.loading,onClick:o.submit},{default:(0,t.k6)((()=>[(0,t.eW)("确 定")])),_:1},8,["loading","onClick"])])])),_:1})])),_:1},8,["model","rules"])}var F=l(1219),L={setup(){const e=(0,p.KR)(null),a=(0,p.Kh)({loading:!1,configInfo:{},form:{Size:0,LoggerType:-1},rules:{Size:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:1,max:1e4,message:"数字 1-10000",trigger:"blur",transform(e){return Number(e)}}]}}),l=()=>{k().then((e=>{a.configInfo=e,a.form.Size=e.Size,a.form.LoggerType=e.LoggerType})).catch((e=>{}))},o=()=>{let e=JSON.parse(JSON.stringify(a.configInfo));return e.Size=+a.form.Size,e.LoggerType=+a.form.LoggerType,e},n=()=>new Promise(((l,t)=>{e.value.validate((e=>{if(0==e)return t(),!1;a.loading=!0;const n=o();v(n).then((e=>{a.loading=!1,l(),e?F.nk.success("操作成功!"):F.nk.error("操作失败!")})).catch((()=>{a.loading=!1,l()}))}))}));return(0,t.sV)((()=>{l()})),{state:a,formDom:e,submit:n}}},C=l(1241);const z=(0,C.A)(L,[["render",y],["__scopeId","data-v-9f76f2f6"]]);var _=z,x=l(2933),S=l(3830),T={components:{Setting:_},setup(){const e=(0,S.B)(),a=(0,p.EW)((()=>e.value.hasAccess("LoggerShow"))),l=(0,p.EW)((()=>e.value.hasAccess("LoggerLevel"))),o=(0,p.KR)(null),n=(0,p.Kh)({loading:!0,type:-1,page:{Page:1,Size:20,Count:0,List:[]},types:["debug","info","warning","error","fatal"],height:(0,p.EW)((()=>e.value.height-180))}),r=()=>{n.loading=!0,m({Page:n.page.Page,Size:n.page.Size,Type:n.type}).then((e=>{n.loading=!1,e.List.map((e=>{e.content=e.Content.substring(0,50)})),n.page=e})).catch((e=>{console.log(e),n.loading=!1}))},g=e=>{e&&(n.page.Page=e,r())},s=()=>{n.loading=!0,h().then((()=>{n.loading=!1,r()})).catch((()=>{n.loading=!1}))},i=({row:e,rowIndex:a})=>`type-${e.Type}`,d=(e,a,l)=>{let t="padding:1rem;border:1px solid #ddd; resize:none;width:39rem;box-sizing: border-box;white-space: nowrap; height:30rem;";x.s.alert(``,"内容",{dangerouslyUseHTMLString:!0}).catch((()=>{}))};return(0,t.sV)((()=>{r()})),{hasLogger:a,hasLoggerLevel:l,wrap:o,state:n,loadData:r,clearData:s,tableRowClassName:i,handleRowClick:d,handlePageChange:g}}};const P=(0,C.A)(T,[["render",b],["__scopeId","data-v-17f6d082"]]);var V=P}}]); \ No newline at end of file +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[702],{5702:function(e,a,l){l.r(a),l.d(a,{default:function(){return V}});var t=l(6768),o=l(4232);const n=e=>((0,t.Qi)("data-v-17f6d082"),e=e(),(0,t.jt)(),e),r={class:"logger-setting-wrap flex flex-column h-100",ref:"wrap"},g={class:"inner"},s={class:"head flex"},i=n((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1))),d={class:"body flex-1 relative"},u={class:"pages t-c"},c={class:"page-wrap"};function b(e,a,l,n,b,p){const f=(0,t.g2)("el-option"),m=(0,t.g2)("el-select"),h=(0,t.g2)("el-button"),k=(0,t.g2)("el-table-column"),v=(0,t.g2)("el-table"),w=(0,t.g2)("el-pagination"),y=(0,t.g2)("el-tab-pane"),F=(0,t.g2)("Setting"),L=(0,t.g2)("el-tabs");return(0,t.uX)(),(0,t.CE)("div",r,[(0,t.bF)(L,{type:"border-card"},{default:(0,t.k6)((()=>[n.hasLogger?((0,t.uX)(),(0,t.Wv)(y,{key:0,label:"主页"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",g,[(0,t.Lk)("div",s,[(0,t.Lk)("div",null,[(0,t.bF)(m,{modelValue:n.state.type,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.type=e),onChange:n.loadData,size:"small",class:"m-r-1",style:{width:"6rem"}},{default:(0,t.k6)((()=>[(0,t.bF)(f,{value:-1,label:"all"}),(0,t.bF)(f,{value:0,label:"debug"}),(0,t.bF)(f,{value:1,label:"info"}),(0,t.bF)(f,{value:2,label:"warning"}),(0,t.bF)(f,{value:3,label:"error"}),(0,t.bF)(f,{value:4,label:"fatal"})])),_:1},8,["modelValue","onChange"])]),(0,t.bF)(h,{type:"warning",size:"small",loading:n.state.loading,onClick:n.clearData},{default:(0,t.k6)((()=>[(0,t.eW)("清空")])),_:1},8,["loading","onClick"]),(0,t.bF)(h,{size:"small",loading:n.state.loading,onClick:n.loadData},{default:(0,t.k6)((()=>[(0,t.eW)("刷新列表")])),_:1},8,["loading","onClick"]),i]),(0,t.Lk)("div",d,[(0,t.bF)(v,{border:"",data:n.state.page.List,size:"small",height:`${n.state.height}px`,onRowClick:n.handleRowClick,"row-class-name":n.tableRowClassName},{default:(0,t.k6)((()=>[(0,t.bF)(k,{type:"index",width:"50"}),(0,t.bF)(k,{prop:"Type",label:"类别",width:"80"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,o.v_)(n.state.types[e.row.Type]),1)])),_:1}),(0,t.bF)(k,{prop:"Time",label:"时间",width:"160"}),(0,t.bF)(k,{prop:"content",label:"内容"})])),_:1},8,["data","height","onRowClick","row-class-name"])]),(0,t.Lk)("div",u,[(0,t.Lk)("div",c,[(0,t.bF)(w,{small:"",total:n.state.page.Count,currentPage:n.state.page.Page,"onUpdate:currentPage":a[1]||(a[1]=e=>n.state.page.Page=e),"page-size":n.state.page.Size,onCurrentChange:n.handlePageChange,background:"",layout:"total,prev, pager, next"},null,8,["total","currentPage","page-size","onCurrentChange"])])])])])),_:1})):(0,t.Q3)("",!0),n.hasLoggerLevel?((0,t.uX)(),(0,t.Wv)(y,{key:1,label:"配置"},{default:(0,t.k6)((()=>[(0,t.bF)(F)])),_:1})):(0,t.Q3)("",!0)])),_:1})],512)}var p=l(144),f=l(4);const m=e=>(0,f.zG)("loggerclient/get",e),h=()=>(0,f.zG)("loggerclient/clear"),k=()=>(0,f.zG)("loggerclient/getconfig"),v=e=>(0,f.zG)("loggerclient/setconfig",e),w={class:"t-c w-100"};function y(e,a,l,o,n,r){const g=(0,t.g2)("el-input"),s=(0,t.g2)("el-form-item"),i=(0,t.g2)("el-col"),d=(0,t.g2)("el-option"),u=(0,t.g2)("el-select"),c=(0,t.g2)("el-row"),b=(0,t.g2)("el-button"),p=(0,t.g2)("el-form");return(0,t.uX)(),(0,t.Wv)(p,{"label-width":"8rem",ref:"formDom",model:o.state.form,rules:o.state.rules},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(i,{xs:24,sm:8,md:8,lg:8,xl:8},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"显示数量",prop:"Size"},{default:(0,t.k6)((()=>[(0,t.bF)(g,{size:"default",modelValue:o.state.form.Size,"onUpdate:modelValue":a[0]||(a[0]=e=>o.state.form.Size=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(i,{xs:24,sm:8,md:8,lg:8,xl:8},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"日志等级",prop:"LoggerType"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:o.state.form.LoggerType,"onUpdate:modelValue":a[1]||(a[1]=e=>o.state.form.LoggerType=e)},{default:(0,t.k6)((()=>[(0,t.bF)(d,{value:0,label:"debug"}),(0,t.bF)(d,{value:1,label:"info"}),(0,t.bF)(d,{value:2,label:"warning"}),(0,t.bF)(d,{value:3,label:"error"}),(0,t.bF)(d,{value:4,label:"fatal"})])),_:1},8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{"label-width":"0"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",w,[(0,t.bF)(b,{type:"primary",loading:o.state.loading,onClick:o.submit},{default:(0,t.k6)((()=>[(0,t.eW)("确 定")])),_:1},8,["loading","onClick"])])])),_:1})])),_:1},8,["model","rules"])}var F=l(1219),L={setup(){const e=(0,p.KR)(null),a=(0,p.Kh)({loading:!1,configInfo:{},form:{Size:0,LoggerType:-1},rules:{Size:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:1,max:1e4,message:"数字 1-10000",trigger:"blur",transform(e){return Number(e)}}]}}),l=()=>{k().then((e=>{a.configInfo=e,a.form.Size=e.Size,a.form.LoggerType=e.LoggerType})).catch((e=>{}))},o=()=>{let e=JSON.parse(JSON.stringify(a.configInfo));return e.Size=+a.form.Size,e.LoggerType=+a.form.LoggerType,e},n=()=>new Promise(((l,t)=>{e.value.validate((e=>{if(0==e)return t(),!1;a.loading=!0;const n=o();v(n).then((e=>{a.loading=!1,l(),e?F.nk.success("操作成功!"):F.nk.error("操作失败!")})).catch((()=>{a.loading=!1,l()}))}))}));return(0,t.sV)((()=>{l()})),{state:a,formDom:e,submit:n}}},C=l(1241);const z=(0,C.A)(L,[["render",y],["__scopeId","data-v-3f5e3a69"]]);var _=z,x=l(2933),S=l(3830),T={components:{Setting:_},setup(){const e=(0,S.B)(),a=(0,p.EW)((()=>e.value.hasAccess("LoggerShow"))),l=(0,p.EW)((()=>e.value.hasAccess("LoggerLevel"))),o=(0,p.KR)(null),n=(0,p.Kh)({loading:!0,type:-1,page:{Page:1,Size:20,Count:0,List:[]},types:["debug","info","warning","error","fatal"],height:(0,p.EW)((()=>e.value.height-180))}),r=()=>{n.loading=!0,m({Page:n.page.Page,Size:n.page.Size,Type:n.type}).then((e=>{n.loading=!1,e.List.map((e=>{e.content=e.Content.substring(0,50)})),n.page=e})).catch((e=>{console.log(e),n.loading=!1}))},g=e=>{e&&(n.page.Page=e,r())},s=()=>{n.loading=!0,h().then((()=>{n.loading=!1,r()})).catch((()=>{n.loading=!1}))},i=({row:e,rowIndex:a})=>`type-${e.Type}`,d=(e,a,l)=>{let t="padding:1rem;border:1px solid #ddd; resize:none;width:39rem;box-sizing: border-box;white-space: nowrap; height:30rem;";x.s.alert(``,"内容",{dangerouslyUseHTMLString:!0}).catch((()=>{}))};return(0,t.sV)((()=>{r()})),{hasLogger:a,hasLoggerLevel:l,wrap:o,state:n,loadData:r,clearData:s,tableRowClassName:i,handleRowClick:d,handlePageChange:g}}};const P=(0,C.A)(T,[["render",b],["__scopeId","data-v-17f6d082"]]);var V=P}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/app.7e8b279c.js b/linker.tray.win/web/js/app.7e8b279c.js new file mode 100644 index 00000000..1dbbbf1a --- /dev/null +++ b/linker.tray.win/web/js/app.7e8b279c.js @@ -0,0 +1 @@ +(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},f=()=>{const e=Date.now();for(let n in a){const t=a[n];e-t.time>t.timeout&&(t.reject("超时~"),delete a[n])}setTimeout(f,1e3)};f();const d={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,d.push(C,l.connected)},h=e=>{l.connected=!1,l.connecting=!1,d.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}`)):d.push(e.Path,e.Content),delete a[e.RequestId]):d.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(f){console.log(f),u("网络错误~"),delete a[s]}})),C=Symbol(),w=e=>{d.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 f},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),f=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"),f=(0,r.g2)("el-dialog");return(0,r.uX)(),(0,r.Wv)(f,{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),f=t(144),d=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,f.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,d.e3)(),(0,d.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,d.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(612),t.e(684)]).then(t.bind(t,8902)),redirect:"/full/index.html",children:[{path:"/full/index.html",name:"FullIndex",component:()=>Promise.all([t.e(497),t.e(0)]).then(t.bind(t,8976))},{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(702).then(t.bind(t,5702))}]},{path:"/net/index.html",name:"Network",component:()=>Promise.all([t.e(612),t.e(497),t.e(700)]).then(t.bind(t,9256))},{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+"."+{0:"a9e686ee",146:"058e2ce5",304:"246f819e",317:"21d60a74",497:"296f6b51",612:"1ec87021",684:"13307ecf",700:"ffed4d31",702:"45a345ab",706:"e2de02b0"}[e]+".js"}}(),function(){t.miniCssF=function(e){return"css/"+e+"."+{0:"2c0f8287",146:"83bf27dc",304:"48acb9f2",317:"e3f03bb3",684:"84f3a7f7",700:"2ad5a532",702:"3473438b",706:"e7520456"}[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(157),t.e(308)]).then(t.bind(t,8902)),redirect:"/full/index.html",children:[{path:"/full/index.html",name:"FullIndex",component:()=>Promise.all([t.e(201),t.e(273)]).then(t.bind(t,1848))},{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(157),t.e(201),t.e(901)]).then(t.bind(t,9256))},{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:"058e2ce5",157:"7ba21a9a",201:"7528665b",273:"059a1d98",304:"246f819e",308:"27cc5531",317:"21d60a74",706:"e2de02b0",738:"e637758a",901:"5df63745"}[e]+".js"}}(),function(){t.miniCssF=function(e){return"css/"+e+"."+{146:"83bf27dc",273:"ded798c5",304:"48acb9f2",308:"a7292c43",317:"e3f03bb3",706:"e7520456",738:"da903b6b",901:"12425577"}[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.5 - 1.4.5 - 1.4.5 + 1.4.6 + 1.4.6 + 1.4.6
diff --git a/linker.tunnel/linker.tunnel.csproj b/linker.tunnel/linker.tunnel.csproj index 56795bc3..a1819c04 100644 --- a/linker.tunnel/linker.tunnel.csproj +++ b/linker.tunnel/linker.tunnel.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker tunnel - 1.4.5 - 1.4.5 - 1.4.5 + 1.4.6 + 1.4.6 + 1.4.6 diff --git a/linker.upnp/linker.upnp.csproj b/linker.upnp/linker.upnp.csproj index 91f8efe7..5df49827 100644 --- a/linker.upnp/linker.upnp.csproj +++ b/linker.upnp/linker.upnp.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker upnp - 1.4.5 - 1.4.5 - 1.4.5 + 1.4.6 + 1.4.6 + 1.4.6 diff --git a/linker.web/src/views/full/status/server/ServerConfig.vue b/linker.web/src/views/full/status/server/ServerConfig.vue index 384c6610..7489ae6f 100644 --- a/linker.web/src/views/full/status/server/ServerConfig.vue +++ b/linker.web/src/views/full/status/server/ServerConfig.vue @@ -59,6 +59,9 @@ export default { state.loading = false; state.show = false; ElMessage.success('已操作'); + setTimeout(()=>{ + window.location.reload(); + },1000); }).catch((err) => { state.loading = false; ElMessage.success('操作失败!'); diff --git a/linker/linker.csproj b/linker/linker.csproj index fd536745..58a8319d 100644 --- a/linker/linker.csproj +++ b/linker/linker.csproj @@ -19,16 +19,17 @@ linker snltty snltty - 1. 订阅消费,按需同步数据,减少流量消费 -2. 更详细的流量统计信息 -3. 修复路由表失效问题 + 1. 增加网卡自动连接间隔 +2. 优化网卡,网络切换刷新局域网信息 +3. 当使用新分组后,如果设置了新IP,将会被记录,下次使用此分组时,自动启用此IP +4. 无感,但是略微优化了使用体验,建议更新 snltty https://github.com/snltty/linker https://github.com/snltty/linker linker - 1.4.5 - 1.4.5 - 1.4.5 + 1.4.6 + 1.4.6 + 1.4.6 diff --git a/linker/plugins/tuntap/TuntapTransfer.cs b/linker/plugins/tuntap/TuntapTransfer.cs index b7ee7fe8..133da840 100644 --- a/linker/plugins/tuntap/TuntapTransfer.cs +++ b/linker/plugins/tuntap/TuntapTransfer.cs @@ -51,9 +51,29 @@ namespace linker.plugins.tuntap AppDomain.CurrentDomain.ProcessExit += (s, e) => linkerTunDeviceAdapter.Shutdown(); Console.CancelKeyPress += (s, e) => linkerTunDeviceAdapter.Shutdown(); clientSignInState.NetworkFirstEnabledHandle += Initialize; - clientSignInState.NetworkEnabledHandle += (times) => TimerHelper.SetTimeout(NotifyConfig, 1000); + clientSignInState.NetworkEnabledHandle += NetworkEanble; } + private void NetworkEanble(int times) + { + if (runningConfig.Data.Tuntap.Group2IP.TryGetValue(config.Data.Client.GroupId, out TuntapGroup2IPInfo tuntapGroup2IPInfo)) + { + if (tuntapGroup2IPInfo.IP.Equals(runningConfig.Data.Tuntap.IP) == false || tuntapGroup2IPInfo.PrefixLength != runningConfig.Data.Tuntap.PrefixLength) + { + runningConfig.Data.Tuntap.IP = tuntapGroup2IPInfo.IP; + runningConfig.Data.Tuntap.PrefixLength = tuntapGroup2IPInfo.PrefixLength; + if (Status == TuntapStatus.Running && times > 0) + { + TimerHelper.Async(() => + { + Shutdown(); + Setup(); + }); + } + } + } + TimerHelper.SetTimeout(NotifyConfig, 1000); + } private void Initialize() { TimerHelper.Async(() => @@ -200,6 +220,10 @@ namespace linker.plugins.tuntap runningConfig.Data.Tuntap.PrefixLength = info.PrefixLength; runningConfig.Data.Tuntap.Switch = info.Switch; runningConfig.Data.Tuntap.Forwards = info.Forwards; + + TuntapGroup2IPInfo tuntapGroup2IPInfo = new TuntapGroup2IPInfo { IP = info.IP, PrefixLength = info.PrefixLength }; + runningConfig.Data.Tuntap.Group2IP.AddOrUpdate(config.Data.Client.GroupId, tuntapGroup2IPInfo, (a, b) => tuntapGroup2IPInfo); + runningConfig.Data.Update(); if (Status == TuntapStatus.Running && needReboot) { diff --git a/linker/plugins/tuntap/config/config.cs b/linker/plugins/tuntap/config/config.cs index 4f1dd65a..426d27e2 100644 --- a/linker/plugins/tuntap/config/config.cs +++ b/linker/plugins/tuntap/config/config.cs @@ -1,6 +1,7 @@ using linker.libs; using linker.plugins.tuntap.config; using MemoryPack; +using System.Collections.Concurrent; using System.Net; namespace linker.plugins.tuntap.config @@ -42,6 +43,15 @@ namespace linker.plugins.tuntap.config /// 端口转发列表 /// public List Forwards { get; set; } = new List(); + + [MemoryPackIgnore] + public ConcurrentDictionary Group2IP { get; set; } = new ConcurrentDictionary(); + } + + public sealed class TuntapGroup2IPInfo + { + public IPAddress IP { get; set; } = IPAddress.Any; + public byte PrefixLength { get; set; } = 24; } diff --git a/version.txt b/version.txt index 966a1e66..a8d9c96a 100644 --- a/version.txt +++ b/version.txt @@ -1,5 +1,6 @@ -v1.4.5 -2024-09-30 11:20:20 -1. 订阅消费,按需同步数据,减少流量消费 -2. 更详细的流量统计信息 -3. 修复路由表失效问题 \ No newline at end of file +v1.4.6 +2024-09-30 12:00:09 +1. 增加网卡自动连接间隔 +2. 优化网卡,网络切换刷新局域网信息 +3. 当使用新分组后,如果设置了新IP,将会被记录,下次使用此分组时,自动启用此IP +4. 无感,但是略微优化了使用体验,建议更新 \ No newline at end of file