diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..987793b0 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "linker", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/push-dev.bat b/push-dev.bat index 44d021b3..d99ee802 100644 --- a/push-dev.bat +++ b/push-dev.bat @@ -2,9 +2,9 @@ SET comment=%1 -cd gen +cd shells/gen node index.js -cd ../ +cd ../../ git add . git commit -m "%comment%" diff --git a/gen/index.js b/shells/gen/index.js similarity index 96% rename from gen/index.js rename to shells/gen/index.js index ceeeb485..5c7b9b00 100644 --- a/gen/index.js +++ b/shells/gen/index.js @@ -7,7 +7,7 @@ const parser = new xml2js.Parser(); function readVersionDesc() { return new Promise((resolve, reject) => { - const fileContents = fs.readFileSync('../src/linker/linker.csproj', 'utf8'); + const fileContents = fs.readFileSync('../../src/linker/linker.csproj', 'utf8'); parser.parseString(fileContents, (error, result) => { resolve( { desc: result.Project.PropertyGroup[0].Description[0], version: result.Project.PropertyGroup[0].FileVersion[0] } @@ -242,32 +242,32 @@ readVersionDesc().then((desc) => { while (publishText.indexOf('{{version}}') >= 0) { publishText = publishText.replace('{{version}}', desc.version); } - writeText('../shells/publish-docker.sh', publishText); + writeText('../publish-docker.sh', publishText); let publishIpkText = readText('../ymls/publish-ipk.sh'); while (publishIpkText.indexOf('{{version}}') >= 0) { publishIpkText = publishIpkText.replace('{{version}}', desc.version); } - writeText('../shells/publish-ipk.sh', publishIpkText); + writeText('../publish-ipk.sh', publishIpkText); let dockerText = readText('../ymls/docker.yml'); while (dockerText.indexOf('{{version}}') >= 0) { dockerText = dockerText.replace('{{version}}', desc.version); } - writeText('../.github/workflows/docker.yml', dockerText); + writeText('../../.github/workflows/docker.yml', dockerText); let nugetText = readText('../ymls/nuget.yml'); while (nugetText.indexOf('{{version}}') >= 0) { nugetText = nugetText.replace('{{version}}', desc.version); } - writeText('../.github/workflows/nuget.yml', nugetText); + writeText('../../.github/workflows/nuget.yml', nugetText); const ipkData = readYaml('../ymls/ipk.yml'); writeUploadIpk(ipkData, `v${desc.version}`); - writeYaml('../.github/workflows/ipk.yml', ipkData); + writeYaml('../../.github/workflows/ipk.yml', ipkData); /* const loongarch64Data = readYaml('../ymls/loongarch64.yml'); diff --git a/gen/package-lock.json b/shells/gen/package-lock.json similarity index 100% rename from gen/package-lock.json rename to shells/gen/package-lock.json diff --git a/gen/package.json b/shells/gen/package.json similarity index 100% rename from gen/package.json rename to shells/gen/package.json diff --git a/shells/publish-docker.sh b/shells/publish-docker.sh index 3f5044c2..89f94008 100644 --- a/shells/publish-docker.sh +++ b/shells/publish-docker.sh @@ -1,12 +1,13 @@ -target=$(cd $(dirname $0); pwd) +target=$(cd $(dirname $0)/..; pwd) image="snltty/linker" +cd ../ fs=('linker') ps=('musl' 'debian' 'kvm') rs=('x64' 'arm64' 'arm') -cd ../src/linker.web +cd src/linker.web npm install && npm run build && cd ../../ @@ -26,31 +27,31 @@ do then rr=linux-${r} fi - dotnet publish ../src/${f} -c release -f net8.0 -o ../public/publish/docker/linux-${p}-${r}/${f} -r ${rr} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false - cp -rf ../src/linker/Dockerfile-${p} ../public/publish/docker/linux-${p}-${r}/${f}/Dockerfile-${p} - cp -rf ../public/extends/any/web ../public/publish/docker/linux-${p}-${r}/${f}/web - mkdir -p ../public/publish/docker/linux-${p}-${r}/${f}/configs - mkdir -p ../public/publish/docker/linux-${p}-${r}/${f}/logs + dotnet publish src/${f} -c release -f net8.0 -o public/publish/docker/linux-${p}-${r}/${f} -r ${rr} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false + cp -rf src/linker/Dockerfile-${p} public/publish/docker/linux-${p}-${r}/${f}/Dockerfile-${p} + cp -rf public/extends/any/web public/publish/docker/linux-${p}-${r}/${f}/web + mkdir -p public/publish/docker/linux-${p}-${r}/${f}/configs + mkdir -p public/publish/docker/linux-${p}-${r}/${f}/logs if [ $p = "musl" ] then - cp -rf ../src/linker/libmsquic-musl-${r}.so ../public/publish/docker/linux-${p}-${r}/${f}/libmsquic.so + cp -rf src/linker/libmsquic-musl-${r}.so public/publish/docker/linux-${p}-${r}/${f}/libmsquic.so fi if [ $p = "kvm" ] then - cp -rf ../install-package/kvm/ ../public/publish/docker/linux-${p}-${r}/${f}/kvm/ + cp -rf ../install-package/kvm/ public/publish/docker/linux-${p}-${r}/${f}/kvm/ fi done - cd ../public/publish/docker/linux-${p}-x64/${f} + cd public/publish/docker/linux-${p}-x64/${f} docker buildx build -f ${target}/public/publish/docker/linux-${p}-x64/${f}/Dockerfile-${p} --platform="linux/x86_64" --force-rm -t "${image}-${p}-x64:latest" -t "${image}-${p}-x64:v1.9.6" . --push - cd ../../../../../shells + cd ../../../../../ - cd ../public/publish/docker/linux-${p}-arm64/${f} + cd public/publish/docker/linux-${p}-arm64/${f} docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm64/${f}/Dockerfile-${p} --platform="linux/arm64" --force-rm -t "${image}-${p}-arm64:latest" -t "${image}-${p}-arm64:v1.9.6" . --push - cd ../../../../../shells + cd ../../../../../ - cd ../public/publish/docker/linux-${p}-arm/${f} + cd public/publish/docker/linux-${p}-arm/${f} docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm/${f}/Dockerfile-${p} --platform="linux/arm/v7" --force-rm -t "${image}-${p}-arm:latest" -t "${image}-${p}-arm:v1.9.6" . --push - cd ../../../../../shells + cd ../../../../../ done done \ No newline at end of file diff --git a/shells/publish-ipk.sh b/shells/publish-ipk.sh index 84374b05..ffd807a4 100644 --- a/shells/publish-ipk.sh +++ b/shells/publish-ipk.sh @@ -1,44 +1,46 @@ -target=$(cd $(dirname $0); pwd) +target=$(cd $(dirname $0)/..; pwd) + +cd ../ rs=('x64' 'arm64' 'arm') index=0 -cd ../src/linker.web +cd src/linker.web npm install && npm run build && cd ../../ for r in ${rs[@]} do - dotnet publish ../src/linker -c release -f net8.0 -o ../public/publish/${r} -r linux-musl-${r} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false - cp -rf ../public/extends/any/web ../public/publish/${r}/web - mkdir -p ../public/publish/${r}/configs - mkdir -p ../public/publish/${r}/logs - cp -rf ../src/linker/libmsquic-musl-${r}.so ../public/publish/${r}/libmsquic.so + dotnet publish src/linker -c release -f net8.0 -o public/publish/${r} -r linux-musl-${r} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false + cp -rf public/extends/any/web public/publish/${r}/web + mkdir -p public/publish/${r}/configs + mkdir -p public/publish/${r}/logs + cp -rf src/linker/libmsquic-musl-${r}.so public/publish/${r}/libmsquic.so - mkdir -p ../public/publish-ipk/${r} - cp -rf ../install-package/ipk/package/* ../public/publish-ipk/${r}/ - cp -rf ../install-package/ipk/libs/${r}/* ../public/publish-ipk/${r}/data/ - mkdir -p ../public/publish-ipk/${r}/data/usr/bin/linker - cp -rf ../public/publish/${r}/* ../public/publish-ipk/${r}/data/usr/bin/linker/ + mkdir -p public/publish-ipk/${r} + cp -rf install-package/ipk/package/* public/publish-ipk/${r}/ + cp -rf install-package/ipk/libs/${r}/* public/publish-ipk/${r}/data/ + mkdir -p public/publish-ipk/${r}/data/usr/bin/linker + cp -rf public/publish/${r}/* public/publish-ipk/${r}/data/usr/bin/linker/ - sed -i "s|{version}|1.9.6|g" ../public/publish-ipk/${r}/control/control - sed -i 's/\r$//' ../public/publish-ipk/${r}/data/etc/init.d/linker - sed -i 's/\r$//' ../public/publish-ipk/${r}/control/control - sed -i 's/\r$//' ../public/publish-ipk/${r}/control/postinst - sed -i 's/\r$//' ../public/publish-ipk/${r}/control/prerm + sed -i "s|{version}|1.9.6|g" public/publish-ipk/${r}/control/control + sed -i 's/\r$//' public/publish-ipk/${r}/data/etc/init.d/linker + sed -i 's/\r$//' public/publish-ipk/${r}/control/control + sed -i 's/\r$//' public/publish-ipk/${r}/control/postinst + sed -i 's/\r$//' public/publish-ipk/${r}/control/prerm - chmod +x ../public/publish-ipk/${r}/data/etc/init.d/linker - chmod +x ../public/publish-ipk/${r}/control/control - chmod +x ../public/publish-ipk/${r}/control/postinst - chmod +x ../public/publish-ipk/${r}/control/prerm + chmod +x public/publish-ipk/${r}/data/etc/init.d/linker + chmod +x public/publish-ipk/${r}/control/control + chmod +x public/publish-ipk/${r}/control/postinst + chmod +x public/publish-ipk/${r}/control/prerm - cd ../public/publish-ipk/${r} + cd public/publish-ipk/${r} tar -czf data.tar.gz -C data/ . tar -czf control.tar.gz -C control/ . echo "2.0" > debian-binary tar -czf linker-${r}.ipk debian-binary data.tar.gz control.tar.gz - cd ../../../shells + cd ../../../ ((index++)) done \ No newline at end of file diff --git a/shells/publish.bat b/shells/publish.bat index 262057fa..242c8486 100644 --- a/shells/publish.bat +++ b/shells/publish.bat @@ -3,39 +3,41 @@ SET sdkpath=%1 if "%sdkpath%"=="" (SET sdkpath="D:\\Android\\android-sdk") -rd /s /q ..\\public\\extends -rd /s /q ..\\public\\publish -rd /s /q ..\\public\\publish-zip -mkdir ..\\public\\publish-zip +cd ../ + +rd /s /q public\\extends +rd /s /q public\\publish +rd /s /q public\\publish-zip +mkdir public\\publish-zip -cd ../src/linker.web +cd src/linker.web call npm install call npm run build cd ../../ -echo F|xcopy "version.txt" "public\\version.txt" /f /h /y +echo F|xcopy "shells\\version.txt" "public\\version.txt" /f /h /y -echo F|xcopy "..\\public\\extends\\any\\web\\*" "..\\src\\linker.app\\public\\web\\*" /s /f /h /y +echo F|xcopy "public\\extends\\any\\web\\*" "src\\linker.app\\public\\web\\*" /s /f /h /y dotnet publish ./src/linker.app -c:Release -f:net8.0-android /p:AndroidUseApkSigner=true /p:AndroidPackageFormat=apk /p:AndroidKeyStore=true /p:AndroidSigningKeyStore=linker.jks /p:AndroidSigningStorePass=linker /p:AndroidSigningKeyAlias=linker /p:AndroidSigningKeyPass=linker /p:AndroidSdkDirectory=%sdkpath% -echo F|xcopy "..\\src\\linker.app\\bin\\Release\\net8.0-android\\publish\\com.snltty.linker.app-Signed.apk" "..\\public\\publish-zip\\linker.apk" /s /f /h /y +echo F|xcopy "src\\linker.app\\bin\\Release\\net8.0-android\\publish\\com.snltty.linker.app-Signed.apk" "public\\publish-zip\\linker.apk" /s /f /h /y for %%r in (win-x86,win-x64,win-arm64) do ( - echo F|xcopy "..\\src\\linker.tray.win\\dist\\*" "..\\public\\extends\\%%r\\linker-%%r\\*" /s /f /h /y - echo F|xcopy "..\\src\\linker.route.win\\dist\\*" "..\\public\\extends\\%%r\\linker-%%r\\*" /s /f /h /y - echo F|xcopy "..\\src\\linker\\msquic.dll" "..\\public\\extends\\%%r\\linker-%%r\\msquic.dll" /s /f /h /y - echo F|xcopy "..\\src\\linker\\msquic-%%r.dll" "..\\public\\extends\\%%r\\linker-%%r\\msquic.dll" /s /f /h /y - echo F|xcopy "..\\src\\linker\\msquic-openssl3-%%r.dll" "..\\public\\extends\\%%r\\linker-%%r\\msquic-openssl.dll" /s /f /h /y - echo F|xcopy "..\\src\\linker\\wintun-%%r.dll" "..\\public\\extends\\%%r\\linker-%%r\\wintun.dll" /s /f /h /y + echo F|xcopy "src\\linker.tray.win\\dist\\*" "public\\extends\\%%r\\linker-%%r\\*" /s /f /h /y + echo F|xcopy "src\\linker.route.win\\dist\\*" "public\\extends\\%%r\\linker-%%r\\*" /s /f /h /y + echo F|xcopy "src\\linker\\msquic.dll" "public\\extends\\%%r\\linker-%%r\\msquic.dll" /s /f /h /y + echo F|xcopy "src\\linker\\msquic-%%r.dll" "public\\extends\\%%r\\linker-%%r\\msquic.dll" /s /f /h /y + echo F|xcopy "src\\linker\\msquic-openssl3-%%r.dll" "public\\extends\\%%r\\linker-%%r\\msquic-openssl.dll" /s /f /h /y + echo F|xcopy "src\\linker\\wintun-%%r.dll" "public\\extends\\%%r\\linker-%%r\\wintun.dll" /s /f /h /y ) for %%r in (win-x86,win-x64,win-arm64,linux-x64,linux-arm,linux-arm64,linux-musl-x64,linux-musl-arm,linux-musl-arm64) do ( - dotnet publish ../src/linker -c release -f net8.0 -o ../public/publish/%%r/linker-%%r -r %%r -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=full -p:EventSourceSupport=false -p:DebugSymbols=true -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false - echo F|xcopy "..\\public\\extends\\%%r\\linker-%%r\\*" "..\\public\\publish\\%%r\\linker-%%r\\*" /s /f /h /y + dotnet publish src/linker -c release -f net8.0 -o public/publish/%%r/linker-%%r -r %%r -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=full -p:EventSourceSupport=false -p:DebugSymbols=true -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false + echo F|xcopy "public\\extends\\%%r\\linker-%%r\\*" "public\\publish\\%%r\\linker-%%r\\*" /s /f /h /y - echo F|xcopy "..\\public\\extends\\any\\*" "..\\public\\publish\\%%r\\linker-%%r\\*" /s /f /h /y + echo F|xcopy "public\\extends\\any\\*" "public\\publish\\%%r\\linker-%%r\\*" /s /f /h /y - 7z a -tzip ../public/publish-zip/linker-%%r.zip ../public/publish/%%r/* + 7z a -tzip public/publish-zip/linker-%%r.zip public/publish/%%r/* ) \ No newline at end of file diff --git a/version.txt b/shells/version.txt similarity index 89% rename from version.txt rename to shells/version.txt index 692fff46..4076f0ad 100644 --- a/version.txt +++ b/shells/version.txt @@ -1,5 +1,5 @@ v1.9.6 -2025-11-11 16:55:49 +2025-11-11 17:38:47 1. 一些累计更新,一些BUG修复 2. 优化客户端数据同步,减少服务器流量 3. 去除cdkey,改为发电解锁中继速度 diff --git a/ymls/docker.yml b/shells/ymls/docker.yml similarity index 100% rename from ymls/docker.yml rename to shells/ymls/docker.yml diff --git a/ymls/dotnet.yml b/shells/ymls/dotnet.yml similarity index 100% rename from ymls/dotnet.yml rename to shells/ymls/dotnet.yml diff --git a/ymls/ipk.yml b/shells/ymls/ipk.yml similarity index 100% rename from ymls/ipk.yml rename to shells/ymls/ipk.yml diff --git a/ymls/loongarch64.yml b/shells/ymls/loongarch64.yml similarity index 100% rename from ymls/loongarch64.yml rename to shells/ymls/loongarch64.yml diff --git a/ymls/nuget.yml b/shells/ymls/nuget.yml similarity index 100% rename from ymls/nuget.yml rename to shells/ymls/nuget.yml diff --git a/shells/ymls/publish-docker.sh b/shells/ymls/publish-docker.sh new file mode 100644 index 00000000..353078c8 --- /dev/null +++ b/shells/ymls/publish-docker.sh @@ -0,0 +1,57 @@ +target=$(cd $(dirname $0)/..; pwd) +image="snltty/linker" + +cd ../ + +fs=('linker') +ps=('musl' 'debian' 'kvm') +rs=('x64' 'arm64' 'arm') + +cd src/linker.web +npm install && +npm run build && +cd ../../ + +for f in ${fs[@]} +do + for p in ${ps[@]} + do + for r in ${rs[@]} + do + rr=linux-${p}-${r} + if [ $p = "debian" ] + then + rr=linux-${r} + fi + if [ $p = "kvm" ] + then + rr=linux-${r} + fi + dotnet publish src/${f} -c release -f net8.0 -o public/publish/docker/linux-${p}-${r}/${f} -r ${rr} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false + cp -rf src/linker/Dockerfile-${p} public/publish/docker/linux-${p}-${r}/${f}/Dockerfile-${p} + cp -rf public/extends/any/web public/publish/docker/linux-${p}-${r}/${f}/web + mkdir -p public/publish/docker/linux-${p}-${r}/${f}/configs + mkdir -p public/publish/docker/linux-${p}-${r}/${f}/logs + if [ $p = "musl" ] + then + cp -rf src/linker/libmsquic-musl-${r}.so public/publish/docker/linux-${p}-${r}/${f}/libmsquic.so + fi + if [ $p = "kvm" ] + then + cp -rf ../install-package/kvm/ public/publish/docker/linux-${p}-${r}/${f}/kvm/ + fi + done + cd public/publish/docker/linux-${p}-x64/${f} + docker buildx build -f ${target}/public/publish/docker/linux-${p}-x64/${f}/Dockerfile-${p} --platform="linux/x86_64" --force-rm -t "${image}-${p}-x64:latest" -t "${image}-${p}-x64:v{{version}}" . --push + cd ../../../../../ + + + cd public/publish/docker/linux-${p}-arm64/${f} + docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm64/${f}/Dockerfile-${p} --platform="linux/arm64" --force-rm -t "${image}-${p}-arm64:latest" -t "${image}-${p}-arm64:v{{version}}" . --push + cd ../../../../../ + + cd public/publish/docker/linux-${p}-arm/${f} + docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm/${f}/Dockerfile-${p} --platform="linux/arm/v7" --force-rm -t "${image}-${p}-arm:latest" -t "${image}-${p}-arm:v{{version}}" . --push + cd ../../../../../ + done +done \ No newline at end of file diff --git a/shells/ymls/publish-ipk.sh b/shells/ymls/publish-ipk.sh new file mode 100644 index 00000000..87a73a13 --- /dev/null +++ b/shells/ymls/publish-ipk.sh @@ -0,0 +1,46 @@ +target=$(cd $(dirname $0)/..; pwd) + +cd ../ + +rs=('x64' 'arm64' 'arm') +index=0 + +cd src/linker.web +npm install && +npm run build && +cd ../../ + +for r in ${rs[@]} +do + dotnet publish src/linker -c release -f net8.0 -o public/publish/${r} -r linux-musl-${r} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false + cp -rf public/extends/any/web public/publish/${r}/web + mkdir -p public/publish/${r}/configs + mkdir -p public/publish/${r}/logs + cp -rf src/linker/libmsquic-musl-${r}.so public/publish/${r}/libmsquic.so + + mkdir -p public/publish-ipk/${r} + cp -rf install-package/ipk/package/* public/publish-ipk/${r}/ + cp -rf install-package/ipk/libs/${r}/* public/publish-ipk/${r}/data/ + mkdir -p public/publish-ipk/${r}/data/usr/bin/linker + cp -rf public/publish/${r}/* public/publish-ipk/${r}/data/usr/bin/linker/ + + sed -i "s|{version}|{{version}}|g" public/publish-ipk/${r}/control/control + sed -i 's/\r$//' public/publish-ipk/${r}/data/etc/init.d/linker + sed -i 's/\r$//' public/publish-ipk/${r}/control/control + sed -i 's/\r$//' public/publish-ipk/${r}/control/postinst + sed -i 's/\r$//' public/publish-ipk/${r}/control/prerm + + chmod +x public/publish-ipk/${r}/data/etc/init.d/linker + chmod +x public/publish-ipk/${r}/control/control + chmod +x public/publish-ipk/${r}/control/postinst + chmod +x public/publish-ipk/${r}/control/prerm + + cd public/publish-ipk/${r} + tar -czf data.tar.gz -C data/ . + tar -czf control.tar.gz -C control/ . + echo "2.0" > debian-binary + tar -czf linker-${r}.ipk debian-binary data.tar.gz control.tar.gz + cd ../../../ + + ((index++)) +done \ No newline at end of file diff --git a/ymls/publish-loongarch64.sh b/shells/ymls/publish-loongarch64.sh similarity index 95% rename from ymls/publish-loongarch64.sh rename to shells/ymls/publish-loongarch64.sh index d829c5ec..3ab7ba85 100644 --- a/ymls/publish-loongarch64.sh +++ b/shells/ymls/publish-loongarch64.sh @@ -1,4 +1,6 @@ -target=$(cd $(dirname $0); pwd) +target=$(cd $(dirname $0)/..; pwd) + +cd ../ cd src/linker.web npm install && diff --git a/src/linker.app/public/web/afdian.png b/src/linker.app/public/web/afdian.png new file mode 100644 index 00000000..efe0f4b7 Binary files /dev/null and b/src/linker.app/public/web/afdian.png differ diff --git a/src/linker.app/public/web/css/199.9466b7c4.css b/src/linker.app/public/web/css/199.9466b7c4.css new file mode 100644 index 00000000..58a03f6e --- /dev/null +++ b/src/linker.app/public/web/css/199.9466b7c4.css @@ -0,0 +1 @@ +.el-form-item[data-v-d15496e8]{margin-bottom:1rem}.el-transfer.src-tranfer .el-transfer__buttons .el-button{display:block}.el-transfer.src-tranfer .el-transfer__buttons .el-button:nth-child(2){margin:1rem 0 0 0}.head[data-v-389400a3]{margin-bottom:.6rem;color:#555;border:1px solid #eee;padding:0 1rem 1rem 1rem}html.dark .head[data-v-389400a3]{border-color:#575c61}.firewall.el-table .action-1{color:green}.firewall.el-table .action-2{color:#c83f08}.firewall-setting-wrap[data-v-c201dbbc]{padding:1rem;box-sizing:border-box;font-size:1.3rem}.firewall-setting-wrap .inner[data-v-c201dbbc]{width:100%;box-sizing:border-box} \ No newline at end of file diff --git a/src/linker.app/public/web/css/341.fad846e3.css b/src/linker.app/public/web/css/341.fad846e3.css new file mode 100644 index 00000000..f36a36af --- /dev/null +++ b/src/linker.app/public/web/css/341.fad846e3.css @@ -0,0 +1 @@ +.el-transfer.src-tranfer .el-transfer__buttons .el-button{display:block}.el-transfer.src-tranfer .el-transfer__buttons .el-button:nth-child(2){margin:1rem 0 0 0}.el-form-item[data-v-26eb3ac8]{margin-bottom:1rem}.el-input-number--small[data-v-26eb3ac8]{width:10rem!important}.blue[data-v-92ae2ca2]{color:#409eff}.el-checkbox[data-v-92ae2ca2]{font-weight:100}a.a-edit .el-icon[data-v-92ae2ca2]{vertical-align:middle}.el-form-item[data-v-b84ff358]{margin-bottom:1rem}.el-input-number--small[data-v-b84ff358]{width:10rem!important}.head .search>div[data-v-6d0f13ec]{margin-right:1rem}.page[data-v-6d0f13ec]{padding:2rem 0;display:inline-block}.el-form-item[data-v-6d0f13ec]{margin-bottom:1rem}.el-input-number--small[data-v-6d0f13ec]{width:10rem!important}.blue[data-v-198d2be3]{color:#409eff}a.a-edit[data-v-198d2be3]{margin-left:1rem}a.a-edit .el-icon[data-v-198d2be3]{vertical-align:middle}.el-form-item[data-v-06530694]{margin-bottom:1rem}.el-input-number--small[data-v-06530694]{width:10rem!important}.el-checkbox[data-v-09d3b4fe]{font-weight:100}a.a-edit .el-icon[data-v-09d3b4fe]{vertical-align:middle}.servers-wrap[data-v-6c813b26]{padding:1rem;font-size:1.3rem;color:#555}.servers-wrap a[data-v-6c813b26]{color:#333} \ No newline at end of file diff --git a/src/linker.app/public/web/css/346.f76382cc.css b/src/linker.app/public/web/css/346.f76382cc.css new file mode 100644 index 00000000..41ec5ef7 --- /dev/null +++ b/src/linker.app/public/web/css/346.f76382cc.css @@ -0,0 +1 @@ +#file-input[data-v-4bce2848]{opacity:0;position:absolute;z-index:-1}.el-icon[data-v-4bce2848]{font-size:1.6rem;vertical-align:middle;color:#555}.image[data-v-4bce2848]{padding-right:1rem}.el-icon[data-v-cc5f3378]{font-size:1.6rem;vertical-align:middle;color:#555}.image[data-v-cc5f3378]{padding-right:1rem}html.dark .head .menu a[data-v-1fd0bd28]{color:#ccc}html.dark .head .menu a.router-link-active[data-v-1fd0bd28],html.dark .head .menu a[data-v-1fd0bd28]:hover{background-color:rgba(0,0,0,.5)}.menu[data-v-1fd0bd28]{padding-left:1rem;font-size:1.4rem}.menu li[data-v-1fd0bd28]{box-sizing:border-box;padding:.5rem 0;margin-right:.2rem}.menu a[data-v-1fd0bd28]{display:block;color:#333;padding:0 1rem;line-height:4rem;height:4rem}.menu a.router-link-active[data-v-1fd0bd28],.menu a[data-v-1fd0bd28]:hover{background-color:rgba(0,0,0,.1);font-weight:700;border-radius:4px}.menu a img[data-v-1fd0bd28]{height:2rem;margin-right:.2rem;margin-top:1rem}.menu a span[data-v-1fd0bd28]{vertical-align:top}.select[data-v-1fd0bd28]{padding-right:1rem}.select .el-dropdown[data-v-1fd0bd28]{vertical-align:middle}.select .el-dropdown .el-icon[data-v-1fd0bd28]{vertical-align:bottom;font-size:2rem}.locale[data-v-3bb70a66]{padding-right:1rem}.locale .el-dropdown[data-v-3bb70a66]{vertical-align:middle}.locale .el-dropdown .el-icon[data-v-3bb70a66]{vertical-align:bottom}#file-input[data-v-cd7f424a]{opacity:0;position:absolute;z-index:-1}html.dark .head[data-v-cd7f424a]{background-color:#242526;border-color:#575c61}.head[data-v-cd7f424a]{background-color:#f6f8fa;border-bottom:1px solid #d0d7de;height:5rem;line-height:5rem;border-radius:.5rem .5rem 0 0}.head .logo[data-v-cd7f424a]{padding:.5rem 0 0 1rem;height:4.5rem}.head .logo img[data-v-cd7f424a]{vertical-align:top;height:4rem}body.sunny{background-image:url(../img/bg.a2158f12.jpg);background-repeat:no-repeat;background-size:cover;background-position:50%;position:absolute;left:0;top:0;right:0;bottom:0}body.sunny .app-wrap{background-color:hsla(0,0%,100%,.5)}html.dark body.sunny .app-wrap{background-color:rgba(0,0,0,.5)}body.sunny .status-wrap{background-color:hsla(0,0%,96%,.3)}html.dark body.sunny .flow-wrap,html.dark body.sunny .status-wrap{background-color:rgba(0,0,0,.3)}body.sunny .status-wrap .copy a{color:#333}body.sunny .el-table{background-color:hsla(0,0%,100%,.5)}html.dark body.sunny .el-table,html.dark body.sunny .el-table th.el-table__cell{background-color:rgba(0,0,0,.3)}body.sunny .head{background-color:rgba(246,248,250,.5)}html.dark body.sunny .head{background-color:rgba(0,0,0,.2)}body.sunny .el-table tr{background-color:rgba(246,248,250,.2)}html.dark body.sunny .el-table tr{background-color:rgba(0,0,0,.2)}body.sunny .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background-color:rgba(246,248,250,.2)}html.dark body.sunny .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background-color:rgba(0,0,0,.1)}body.sunny .el-pagination__sizes,body.sunny .el-pagination__total{color:#000}body.sunny .el-pagination__total,html.dark body.sunny .el-pagination__sizes{color:#999}body.sunny .status-wrap .copy a{color:#000}html.dark body.sunny .el-card,html.dark body.sunny .el-tabs--border-card,html.dark body.sunny .el-tabs--border-card>.el-tabs__header,html.dark body.sunny .el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background-color:rgba(0,0,0,.3)}.status-api-wrap[data-v-129a484d]{padding-right:1rem}.status-api-wrap.connected a[data-v-129a484d]{color:green;font-weight:700}.status-api-wrap a[data-v-129a484d]{color:#333}.status-api-wrap a .el-icon[data-v-129a484d]{vertical-align:sub}.el-transfer.src-tranfer .el-transfer__buttons .el-button{display:block}.el-transfer.src-tranfer .el-transfer__buttons .el-button:nth-child(2){margin:1rem 0 0 0}.el-dropdown[data-v-259d6774]{vertical-align:inherit;margin-right:1rem}.el-dropdown-link.connected[data-v-259d6774]{color:green;font-weight:700}.el-dropdown-link .el-icon[data-v-259d6774]{vertical-align:bottom}a[data-v-5b253342]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-5b253342]{line-height:normal;white-space:nowrap}.head[data-v-7a85ea80]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7a85ea80]{width:20rem}.page[data-v-7a85ea80]{padding-top:1rem}.page-wrap[data-v-7a85ea80]{display:inline-block}.head[data-v-0f2107fe]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-0f2107fe]{width:20rem}.page[data-v-0f2107fe]{padding-top:1rem}.page-wrap[data-v-0f2107fe]{display:inline-block}.head[data-v-55d6858b]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-55d6858b]{width:20rem}.page[data-v-55d6858b]{padding-top:1rem}.page-wrap[data-v-55d6858b]{display:inline-block}.head[data-v-b5a30d1e]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-b5a30d1e]{width:20rem}.page[data-v-b5a30d1e]{padding-top:1rem}.page-wrap[data-v-b5a30d1e]{display:inline-block}.head[data-v-1098928d]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-1098928d]{width:20rem}.page[data-v-1098928d]{padding-top:1rem}.page-wrap[data-v-1098928d]{display:inline-block}#map[data-v-128e55db],#map[data-v-46898e22]{height:60rem}html.dark .flow-wrap[data-v-187fc3f2]{background-color:#242526;border-color:#575c61}.flow-wrap[data-v-187fc3f2]{padding:.4rem;font-weight:700;position:absolute;right:1rem;bottom:80%;border:1px solid #ddd;background-color:#fff;z-index:9}.flow-wrap>a[data-v-187fc3f2],.flow-wrap>p[data-v-187fc3f2]{line-height:normal;white-space:nowrap;display:block}html.dark .flow-wrap[data-v-6d5a2f7a]{background-color:#242526;border-color:#575c61}.flow-wrap[data-v-6d5a2f7a]{padding:.4rem;font-weight:700;position:absolute;right:1rem;bottom:80%;border:1px solid #ddd;background-color:#fff;z-index:9}.flow-wrap>a[data-v-6d5a2f7a],.flow-wrap>p[data-v-6d5a2f7a]{line-height:normal;white-space:nowrap;display:block}a[data-v-a84aaa66]{font-weight:700;line-height:3rem;display:inline-flex}a .el-icon[data-v-a84aaa66]{margin-top:.8rem}a.download .el-icon[data-v-a84aaa66]{font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-a84aaa66]{animation:loading-a84aaa66 1s linear infinite}@keyframes loading-a84aaa66{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-server-wrap[data-v-1a3b5705]{position:relative;padding-right:.5rem}.status-server-wrap a[data-v-1a3b5705]{color:#333}.status-server-wrap a+a[data-v-1a3b5705]{margin-left:.6rem}.status-server-wrap .el-icon[data-v-1a3b5705]{vertical-align:text-bottom}.el-col[data-v-0a8a507e]{text-align:left}html.dark .status-wrap .status-export-wrap a[data-v-4d695ac4]{color:#ccc}.status-export-wrap[data-v-4d695ac4]{padding-right:1rem}.status-export-wrap a[data-v-4d695ac4]{color:#333}.status-export-wrap a .el-icon[data-v-4d695ac4]{vertical-align:sub}.status-export-wrap .el-col[data-v-4d695ac4]{text-align:left}a[data-v-11604354]{color:#666;text-decoration:underline}a.green[data-v-11604354]{color:green;font-weight:700}a.download[data-v-11604354]{margin-left:.6rem}a.download .el-icon[data-v-11604354]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-11604354]{animation:loading-11604354 1s linear infinite}a.download+a.download[data-v-11604354]{margin-left:.2rem}@keyframes loading-11604354{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}html.dark .status-wrap[data-v-1dfd2a68]{background-color:#242526;border-color:#575c61}html.dark .status-wrap .copy a[data-v-1dfd2a68]{color:#ccc}.status-wrap[data-v-1dfd2a68]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555;border-radius:0 0 .5rem .5rem}.status-wrap .copy[data-v-1dfd2a68]{padding-left:.5rem}.status-wrap .copy a[data-v-1dfd2a68]{color:#555;margin-right:1rem}.status-wrap a.memory[data-v-1dfd2a68]{margin-right:.6rem}.status-wrap a.memory img[data-v-1dfd2a68]{height:2rem;vertical-align:sub;margin-right:.1rem}.body[data-v-257405f0]{padding:1rem 0 0 0}.footer[data-v-257405f0]{padding:1rem 0}.phone .el-dialog__body .el-col .el-form-item[data-v-257405f0]:last-child{margin-bottom:.6rem}.body[data-v-0e42a111]{padding:1rem 0 0 0}.footer[data-v-0e42a111]{padding:1rem 0}.body[data-v-22e621ad],.el-card+.el-card[data-v-0e42a111]{margin-top:1rem}.footer[data-v-22e621ad]{margin-top:2rem}.adv-wrap[data-v-03999c8f]{padding:1rem 1rem 0 1rem}.adv-wrap .inner[data-v-03999c8f]{border:1px solid #ddd;padding:.6rem;border-radius:.4rem;box-shadow:0 0 6px 2px rgba(0,0,0,.05)}@media screen and (max-width:1000px){body .app-wrap[data-v-3c800c79]{height:98%;width:98%}}.app-wrap[data-v-3c800c79]{box-sizing:border-box;background-color:#fff;border:1px solid #ccc;width:81rem;max-width:98%;height:90%;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);box-shadow:0 8px 50px rgba(0,0,0,.15);border-radius:.5rem}html.dark .app-wrap[data-v-3c800c79]{background-color:#141414;border-color:#575c61;box-shadow:0 8px 50px rgba(34,197,94,.1)} \ No newline at end of file diff --git a/src/linker.app/public/web/css/352.ab78cde5.css b/src/linker.app/public/web/css/352.ab78cde5.css new file mode 100644 index 00000000..5b4aa933 --- /dev/null +++ b/src/linker.app/public/web/css/352.ab78cde5.css @@ -0,0 +1 @@ +.el-form-item[data-v-9857fa74],.el-row[data-v-9857fa74]{width:100%}.el-form-item[data-v-9857fa74]:last-child{margin-bottom:0}@media screen and (max-width:768px){.el-col[data-v-9857fa74]{margin-top:.6rem}}.pages[data-v-7549387e]{padding:1rem 0 0 1rem}.page-wrap[data-v-7549387e]{display:inline-block}.logger-setting-wrap[data-v-7549387e]{padding:1rem;box-sizing:border-box}.logger-setting-wrap .inner[data-v-7549387e]{padding:1rem}.logger-setting-wrap .head[data-v-7549387e]{margin-bottom:1rem}.logger-content[data-v-7549387e]{width:100%;height:40rem;box-sizing:border-box;padding:1rem;margin-top:1rem;background:#f5f5f5;border:1px solid #eee;border-radius:4px;font-size:1.2rem;resize:none;outline:none;overflow:auto;white-space:nowrap}.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/src/linker.app/public/web/css/481.61ce8e19.css b/src/linker.app/public/web/css/481.61ce8e19.css new file mode 100644 index 00000000..a192e85c --- /dev/null +++ b/src/linker.app/public/web/css/481.61ce8e19.css @@ -0,0 +1 @@ +#file-input[data-v-4bce2848]{opacity:0;position:absolute;z-index:-1}.el-icon[data-v-4bce2848]{font-size:1.6rem;vertical-align:middle;color:#555}.image[data-v-4bce2848]{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 .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-1cb47bd6]{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-1cb47bd6]{line-height:2.4rem;margin-right:.6rem;color:#555}a[data-v-11604354]{color:#666;text-decoration:underline}a.green[data-v-11604354]{color:green;font-weight:700}a.download[data-v-11604354]{margin-left:.6rem}a.download .el-icon[data-v-11604354]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-11604354]{animation:loading-11604354 1s linear infinite}a.download+a.download[data-v-11604354]{margin-left:.2rem}@keyframes loading-11604354{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.self[data-v-4f7c0e32]{color:#d400ff}.self .el-icon[data-v-4f7c0e32]{vertical-align:text-bottom}.connect-point .el-loading-mask{background-color:transparent}.connect-point .el-loading-spinner{width:100%;height:100%;margin:0;top:0}.connect-point .el-loading-spinner .circular{width:100%;height:100%;vertical-align:top}.connect-point .el-loading-spinner .path{stroke-width:6;stroke:green}div.connect-point[data-v-7592adb8]{margin:-.2rem .3rem 0 -1.4rem;position:absolute}span.connect-point[data-v-7592adb8]{width:.9rem;height:.9rem;border-radius:50%;display:inline-block;vertical-align:middle;background-color:#eee;border:1px solid #ddd;cursor:pointer;transition:.3s}span.connect-point[data-v-7592adb8]:hover{transform:scale(2)}span.connect-point.p2p[data-v-7592adb8]{background-color:#01c901;border:1px solid #049538}span.connect-point.relay[data-v-7592adb8]{background-color:#e3e811;border:1px solid #b3c410}span.connect-point.node[data-v-7592adb8]{background-color:#09dda9;border:1px solid #0cac90}html.dark span.connect-point.default[data-v-7592adb8]{background-color:#666;border-color:#888}.el-icon.loading[data-v-79c93122],a.loading[data-v-79c93122]{vertical-align:middle;font-weight:700;animation:loading-79c93122 1s linear infinite}.el-switch.is-disabled[data-v-79c93122]{opacity:1}.el-input[data-v-79c93122]{width:8rem}.delay[data-v-79c93122]{position:absolute;right:0;bottom:0;line-height:normal}.switch-btn[data-v-79c93122]{font-size:1.5rem}.any[data-v-79c93122]{position:absolute;left:-7px;top:-2px;line-height:normal}.any.green[data-v-79c93122]{background:linear-gradient(270deg,#caff00,green,#0d6d23,#e38a00,green);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}@keyframes loading-79c93122{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.net-list-wrap ul[data-v-3c358101]{padding:2rem 2rem 1rem 2rem}.net-list-wrap ul li[data-v-3c358101]{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-3c358101]{padding:.6rem;border-bottom:1px solid #ddd}.net-list-wrap ul li dd.tuntap[data-v-3c358101]{padding:1rem;position:relative}.net-list-wrap .page[data-v-3c358101]{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-3c358101]{display:inline-block}.status-api-wrap[data-v-129a484d]{padding-right:1rem}.status-api-wrap.connected a[data-v-129a484d]{color:green;font-weight:700}.status-api-wrap a[data-v-129a484d]{color:#333}.status-api-wrap a .el-icon[data-v-129a484d]{vertical-align:sub}.el-transfer.src-tranfer .el-transfer__buttons .el-button{display:block}.el-transfer.src-tranfer .el-transfer__buttons .el-button:nth-child(2){margin:1rem 0 0 0}.el-dropdown[data-v-259d6774]{vertical-align:inherit;margin-right:1rem}.el-dropdown-link.connected[data-v-259d6774]{color:green;font-weight:700}.el-dropdown-link .el-icon[data-v-259d6774]{vertical-align:bottom}a[data-v-5b253342]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-5b253342]{line-height:normal;white-space:nowrap}.head[data-v-7a85ea80]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7a85ea80]{width:20rem}.page[data-v-7a85ea80]{padding-top:1rem}.page-wrap[data-v-7a85ea80]{display:inline-block}.head[data-v-0f2107fe]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-0f2107fe]{width:20rem}.page[data-v-0f2107fe]{padding-top:1rem}.page-wrap[data-v-0f2107fe]{display:inline-block}.head[data-v-55d6858b]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-55d6858b]{width:20rem}.page[data-v-55d6858b]{padding-top:1rem}.page-wrap[data-v-55d6858b]{display:inline-block}.head[data-v-b5a30d1e]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-b5a30d1e]{width:20rem}.page[data-v-b5a30d1e]{padding-top:1rem}.page-wrap[data-v-b5a30d1e]{display:inline-block}.head[data-v-1098928d]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-1098928d]{width:20rem}.page[data-v-1098928d]{padding-top:1rem}.page-wrap[data-v-1098928d]{display:inline-block}#map[data-v-128e55db],#map[data-v-46898e22]{height:60rem}html.dark .flow-wrap[data-v-187fc3f2]{background-color:#242526;border-color:#575c61}.flow-wrap[data-v-187fc3f2]{padding:.4rem;font-weight:700;position:absolute;right:1rem;bottom:80%;border:1px solid #ddd;background-color:#fff;z-index:9}.flow-wrap>a[data-v-187fc3f2],.flow-wrap>p[data-v-187fc3f2]{line-height:normal;white-space:nowrap;display:block}html.dark .flow-wrap[data-v-6d5a2f7a]{background-color:#242526;border-color:#575c61}.flow-wrap[data-v-6d5a2f7a]{padding:.4rem;font-weight:700;position:absolute;right:1rem;bottom:80%;border:1px solid #ddd;background-color:#fff;z-index:9}.flow-wrap>a[data-v-6d5a2f7a],.flow-wrap>p[data-v-6d5a2f7a]{line-height:normal;white-space:nowrap;display:block}a[data-v-a84aaa66]{font-weight:700;line-height:3rem;display:inline-flex}a .el-icon[data-v-a84aaa66]{margin-top:.8rem}a.download .el-icon[data-v-a84aaa66]{font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-a84aaa66]{animation:loading-a84aaa66 1s linear infinite}@keyframes loading-a84aaa66{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-server-wrap[data-v-1a3b5705]{position:relative;padding-right:.5rem}.status-server-wrap a[data-v-1a3b5705]{color:#333}.status-server-wrap a+a[data-v-1a3b5705]{margin-left:.6rem}.status-server-wrap .el-icon[data-v-1a3b5705]{vertical-align:text-bottom}.el-col[data-v-0a8a507e]{text-align:left}html.dark .status-wrap .status-export-wrap a[data-v-4d695ac4]{color:#ccc}.status-export-wrap[data-v-4d695ac4]{padding-right:1rem}.status-export-wrap a[data-v-4d695ac4]{color:#333}.status-export-wrap a .el-icon[data-v-4d695ac4]{vertical-align:sub}.status-export-wrap .el-col[data-v-4d695ac4]{text-align:left}html.dark .status-wrap[data-v-1dfd2a68]{background-color:#242526;border-color:#575c61}html.dark .status-wrap .copy a[data-v-1dfd2a68]{color:#ccc}.status-wrap[data-v-1dfd2a68]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555;border-radius:0 0 .5rem .5rem}.status-wrap .copy[data-v-1dfd2a68]{padding-left:.5rem}.status-wrap .copy a[data-v-1dfd2a68]{color:#555;margin-right:1rem}.status-wrap a.memory[data-v-1dfd2a68]{margin-right:.6rem}.status-wrap a.memory img[data-v-1dfd2a68]{height:2rem;vertical-align:sub;margin-right:.1rem}.net-wrap[data-v-1d28a52a]{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/src/linker.app/public/web/css/827.f47d7c8b.css b/src/linker.app/public/web/css/827.f47d7c8b.css new file mode 100644 index 00000000..f7477a89 --- /dev/null +++ b/src/linker.app/public/web/css/827.f47d7c8b.css @@ -0,0 +1 @@ +.table-sort th[data-v-4c416556]{border-bottom:0}.show-columns[data-v-4c416556]{vertical-align:middle;font-size:1.2rem}.show-columns .el-icon[data-v-4c416556]{vertical-align:bottom;font-size:1.2rem}a[data-v-11604354]{color:#666;text-decoration:underline}a.green[data-v-11604354]{color:green;font-weight:700}a.download[data-v-11604354]{margin-left:.6rem}a.download .el-icon[data-v-11604354]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-11604354]{animation:loading-11604354 1s linear infinite}a.download+a.download[data-v-11604354]{margin-left:.2rem}@keyframes loading-11604354{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.self[data-v-4f7c0e32]{color:#d400ff}.self .el-icon[data-v-4f7c0e32]{vertical-align:text-bottom}.el-input[data-v-0f1105c4]{width:12rem;margin-right:.6rem}img.system[data-v-0f1105c4]{height:1.4rem;vertical-align:sub;margin-right:.4rem;border:1px solid rgba(0,0,0,.1);border-radius:.2rem;box-shadow:inset 0 0 .2rem rgba(0,0,0,.1)}.el-col[data-v-0a8a507e]{text-align:left}.connect-point .el-loading-mask{background-color:transparent}.connect-point .el-loading-spinner{width:100%;height:100%;margin:0;top:0}.connect-point .el-loading-spinner .circular{width:100%;height:100%;vertical-align:top}.connect-point .el-loading-spinner .path{stroke-width:6;stroke:green}div.connect-point[data-v-7592adb8]{margin:-.2rem .3rem 0 -1.4rem;position:absolute}span.connect-point[data-v-7592adb8]{width:.9rem;height:.9rem;border-radius:50%;display:inline-block;vertical-align:middle;background-color:#eee;border:1px solid #ddd;cursor:pointer;transition:.3s}span.connect-point[data-v-7592adb8]:hover{transform:scale(2)}span.connect-point.p2p[data-v-7592adb8]{background-color:#01c901;border:1px solid #049538}span.connect-point.relay[data-v-7592adb8]{background-color:#e3e811;border:1px solid #b3c410}span.connect-point.node[data-v-7592adb8]{background-color:#09dda9;border:1px solid #0cac90}html.dark span.connect-point.default[data-v-7592adb8]{background-color:#666;border-color:#888}.el-icon.loading[data-v-79c93122],a.loading[data-v-79c93122]{vertical-align:middle;font-weight:700;animation:loading-79c93122 1s linear infinite}.el-switch.is-disabled[data-v-79c93122]{opacity:1}.el-input[data-v-79c93122]{width:8rem}.delay[data-v-79c93122]{position:absolute;right:0;bottom:0;line-height:normal}.switch-btn[data-v-79c93122]{font-size:1.5rem}.any[data-v-79c93122]{position:absolute;left:-7px;top:-2px;line-height:normal}.any.green[data-v-79c93122]{background:linear-gradient(270deg,#caff00,green,#0d6d23,#e38a00,green);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}@keyframes loading-79c93122{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.remark[data-v-ef024968]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-switch.is-disabled[data-v-649510dd]{opacity:1}.wrap[data-v-649510dd]{min-height:40rem}.foot[data-v-4f2bdc80]{padding-top:2rem}.el-switch.is-disabled[data-v-fd15d994]{opacity:1}.calc span[data-v-fd15d994]{display:inline-block}.calc span.label[data-v-fd15d994]{width:6rem}.el-icon.loading[data-v-5fa396e6],a.loading[data-v-5fa396e6]{vertical-align:middle;font-weight:700;animation:loading-5fa396e6 1s linear infinite}.el-switch.is-disabled[data-v-5fa396e6]{opacity:1}.el-input[data-v-5fa396e6]{width:8rem}.switch-btn[data-v-5fa396e6]{font-size:1.5rem}@keyframes loading-5fa396e6{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-switch.is-disabled[data-v-7dc43fdc]{opacity:1}.upgrade-wrap[data-v-7dc43fdc]{border:1px solid #ddd;margin-bottom:2rem;padding:1rem}.el-switch.is-disabled[data-v-76df7d30]{opacity:1}.green[data-v-76df7d30]{font-weight:700}img.system[data-v-76df7d30],span.nat[data-v-76df7d30]{height:1.4rem;margin-right:.4rem;border:1px solid #eee;line-height:1.4rem;vertical-align:middle}html.dark img.system[data-v-76df7d30],html.dark span.nat[data-v-76df7d30]{border-color:#575c61}span.nat[data-v-76df7d30]{display:inline-block;padding:0 .2rem;margin-right:0;font-family:fantasy}.el-switch.is-disabled[data-v-648ae62e]{opacity:1}ul li[data-v-648ae62e]{padding-left:2rem}a[data-v-10218156]{text-decoration:underline}a+a[data-v-10218156]{margin-left:1rem}a.green[data-v-10218156]{font-weight:700}.head[data-v-5eb2b279]{padding-bottom:1rem}.green[data-v-5eb2b279]{color:green;font-weight:700}.error[data-v-5eb2b279]{font-weight:700}.error .el-icon[data-v-5eb2b279]{vertical-align:text-bottom}.el-select[data-v-03f238be]{width:10rem}.el-input[data-v-03f238be]{width:8rem}.head[data-v-bce64c64]{padding-bottom:1rem}.error[data-v-bce64c64]{font-weight:700}.error .el-icon[data-v-bce64c64]{vertical-align:text-bottom}.plan .el-icon[data-v-bce64c64]{vertical-align:middle;margin-right:.4rem}.head[data-v-25191700]{padding-bottom:1rem}.blue[data-v-25191700]{color:#409eff}.el-checkbox[data-v-25191700]{font-weight:100}.dropdown[data-v-25191700]{border:1px solid #ddd;padding:.4rem;font-size:1.3rem;border-radius:.4rem;position:relative}.dropdown .el-icon[data-v-25191700]{vertical-align:middle}.dropdown .badge[data-v-25191700]{position:absolute;right:-1rem;top:-50%;border-radius:10px;background-color:#f1ae05;color:#fff;padding:.2rem .6rem;font-size:1.2rem}.el-icon.loading[data-v-25191700]{margin-left:.3rem;vertical-align:middle;font-weight:700;animation:loading-25191700 1s linear infinite}@keyframes loading-25191700{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}html.dark .dropdown[data-v-eae13a28]{border-color:#575c61}.dropdown[data-v-eae13a28]{border:1px solid #ddd;padding:.4rem;font-size:1.2rem;border-radius:.4rem;position:relative}.dropdown .el-icon[data-v-eae13a28]{vertical-align:middle}.dropdown .badge[data-v-eae13a28]{position:absolute;right:-1rem;top:-50%;border-radius:10px;background-color:#f1ae05;color:#fff;padding:.2rem .6rem;font-size:1.2rem}.el-form-item[data-v-d15496e8]{margin-bottom:1rem}.head[data-v-389400a3]{margin-bottom:.6rem;color:#555;border:1px solid #eee;padding:0 1rem 1rem 1rem}html.dark .head[data-v-389400a3]{border-color:#575c61}.firewall.el-table .action-1{color:green}.firewall.el-table .action-2{color:#c83f08}.el-transfer.src-tranfer .el-transfer__buttons .el-button{display:block}.el-transfer.src-tranfer .el-transfer__buttons .el-button:nth-child(2){margin:1rem 0 0 0}.el-form-item[data-v-87f00112]{margin-bottom:1rem}html.dark .head[data-v-a2dc8436]{border-color:#575c61}.head[data-v-a2dc8436]{margin-bottom:.6rem;color:#555;border:1px solid #eee;padding:0 1rem 1rem 1rem}.firewall.el-table .run-btn img{height:2rem;vertical-align:middle}a[data-v-5b253342]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-5b253342]{line-height:normal;white-space:nowrap}.head[data-v-7a85ea80]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7a85ea80]{width:20rem}.page[data-v-7a85ea80]{padding-top:1rem}.page-wrap[data-v-7a85ea80]{display:inline-block}.head[data-v-0f2107fe]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-0f2107fe]{width:20rem}.page[data-v-0f2107fe]{padding-top:1rem}.page-wrap[data-v-0f2107fe]{display:inline-block}.head[data-v-55d6858b]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-55d6858b]{width:20rem}.page[data-v-55d6858b]{padding-top:1rem}.page-wrap[data-v-55d6858b]{display:inline-block}.head[data-v-b5a30d1e]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-b5a30d1e]{width:20rem}.page[data-v-b5a30d1e]{padding-top:1rem}.page-wrap[data-v-b5a30d1e]{display:inline-block}.head[data-v-1098928d]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-1098928d]{width:20rem}.page[data-v-1098928d]{padding-top:1rem}.page-wrap[data-v-1098928d]{display:inline-block}#map[data-v-128e55db],#map[data-v-46898e22]{height:60rem}html.dark .flow-wrap[data-v-187fc3f2]{background-color:#242526;border-color:#575c61}.flow-wrap[data-v-187fc3f2]{padding:.4rem;font-weight:700;position:absolute;right:1rem;bottom:80%;border:1px solid #ddd;background-color:#fff;z-index:9}.flow-wrap>a[data-v-187fc3f2],.flow-wrap>p[data-v-187fc3f2]{line-height:normal;white-space:nowrap;display:block}.table-sort.el-table th.el-table__cell.is-leaf{border-bottom:0}.table-sort.el-table .el-table__inner-wrapper:before{height:0}.home-list-wrap[data-v-ed4394d6]{padding:1rem}.home-list-wrap .page[data-v-ed4394d6]{padding-top:1rem}.home-list-wrap .page-wrap[data-v-ed4394d6]{display:inline-block} \ No newline at end of file diff --git a/src/linker.app/public/web/css/app.5f32f79a.css b/src/linker.app/public/web/css/app.5f32f79a.css new file mode 100644 index 00000000..882aa173 --- /dev/null +++ b/src/linker.app/public/web/css/app.5f32f79a.css @@ -0,0 +1 @@ +.status-api-wrap[data-v-5e502dd0]{padding-right:2rem}.status-api-wrap a[data-v-5e502dd0]{color:#333}.status-api-wrap span[data-v-5e502dd0]{border-radius:1rem;background-color:rgba(0,0,0,.1);padding:0 .6rem;margin-left:.2rem}.status-api-wrap.connected a[data-v-5e502dd0]{color:green;font-weight:700}.status-api-wrap.connected span[data-v-5e502dd0]{background-color:green;color:#fff}.status-api-wrap .el-icon[data-v-5e502dd0]{vertical-align:text-top}.refresh-wrap[data-v-dfc7a2f2]{position:fixed;left:50%;top:1rem;transform:translateX(-50%);border-radius:.4rem;background-color:#fff;padding:.4rem;border:1px solid #ddd;box-shadow:0 0 1rem rgba(0,0,0,.1);z-index:9999999}.no-permission-wrap[data-v-65ab92b8]{padding:2rem;border:1px solid #ddd;border-radius:4px;position:absolute;background-color:#fff;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);text-align:center;font-size:1.6rem}img[data-v-65ab92b8]{height:7rem}html.dark .app-inner[data-v-63f0be37]{background:radial-gradient(circle at 15% 50%,rgba(34,197,94,.4) 0,transparent 0) 0 0/100% 100%,radial-gradient(circle at 85% 50%,rgba(22,163,74,.4) 0,transparent 0) 0 0/100% 100%,linear-gradient(90deg,transparent,rgba(34,197,94,.15) 15%,rgba(34,197,94,.25) 50%,rgba(22,163,74,.15) 85%,transparent) 0 50%/100% 4px}*{margin:0;padding:0;list-style:none}a{text-decoration:none;color:#666;background-image:linear-gradient(92deg,red,#ff9000,#ffdc00,#23bf08,#00ffb2,#0072ff,#fd00ff);background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:.3s}a:hover{background-size:100% 2px;background-position:100% 100%}:root{--foot-menu-dropdown-color:#f5f5f5}a.a-line{text-decoration:underline}.ellipsis{overflow:hidden;text-overflow:ellipsis;max-width:100%}.ellipsis,.nowrap{white-space:nowrap}.flex{display:flex;display:-ms-flex;display:-o-flex;flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-1{flex:1 1 0%}.absolute{position:absolute;left:0;top:0;right:0;bottom:0}.relative{position:relative}.h-100{height:100%}.w-100{width:100%}.t-c{text-align:center}.t-r{text-align:right}.t-l{text-align:left!important}.pdl-6{padding-left:.6rem}.pdb-6{padding-bottom:.6rem}.pdl-10{padding-left:1rem}.pdl-20{padding-left:2rem}.pdt-10{padding-top:1rem}.pdr-10{padding-right:1rem}.mgr-p6{margin-right:.6rem}.mgr-1{margin-right:1rem!important}.mgl-1{margin-left:1rem}.mgl-2{margin-left:2rem}.mgl-3{margin-left:3rem}.mgb-0{margin-bottom:0!important}.mgb-3{margin-bottom:3rem}.mgt-1{margin-top:1rem}.mgt-2{margin-top:2rem}.mgt-3{margin-top:3rem}table{border-spacing:0;border-collapse:collapse}html{font-size:10px;background-color:#f5f5f5}html.dark{background-color:#000}html.dark .el-switch__core .el-switch__action{background-color:#ccc}html.dark .el-dialog{border:1px solid #575c61}body{overflow:hidden}span.split{width:.6rem}span.split-pad{padding:0 .3rem}span.split-pad10{padding:0 1rem}.middle{vertical-align:middle}.red{color:red!important}.green{color:green!important}.app-nat{color:#018a81!important}.yellow{color:#e68906!important}.disable{color:#ddd!important}.gateway{&.green{transition:.3s;&:hover{background:linear-gradient(270deg,#caff00,green,#0d6d23,#e38a00,green);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:hsla(0,0%,100%,0)}}}.scrollbar,.scrollbar-1,.scrollbar-10,.scrollbar-4{overflow:auto}.scrollbar-1::-webkit-scrollbar{width:0;height:1px}.scrollbar-1::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:10px}.scrollbar::-webkit-scrollbar{width:1px;height:1px}.scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:10px}.scrollbar-4::-webkit-scrollbar{width:4px;height:4px}.scrollbar-4::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:10px}.scrollbar-10::-webkit-scrollbar{width:10px;height:1px}.scrollbar-10::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:10px}:root{--el-color-primary:var(--el-color-success)!important;--el-color-primary-light-3:var(--el-color-success-light-3)!important;--el-color-primary-light-5:var(--el-color-success-light-5)!important;--el-color-primary-light-7:var(--el-color-success-light-7)!important;--el-color-primary-light-8:var(--el-color-success-light-8)!important;--el-color-primary-light-9:var(--el-color-success-light-9)!important;--el-color-primary-dark-2:var(--el-color-success-dark-2)!important}.el-table{--el-table-header-text-color:var(--el-text-color-regular)!important}.el-input-number--small{width:100%!important}.el-table .cell{overflow:visible!important}.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar{background:#f5f5f5}.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb{background:#ddd}.el-collapse-item__header{background-color:#fafafa!important;border-left:1px solid #ebeef5;border-right:1px solid #ebeef5;padding:0 2rem}.el-collapse-item__content{padding:1rem;border:1px solid #ebeef5;border-bottom:0}.el-input.w-search,.el-input.w-search .el-input__inner,.el-select.w-search{width:10rem}.el-form-item.w-search .el-form-item__label{font-size:1.2rem}.table-search .el-form--inline .el-form-item{margin-bottom:0}.el-dropdown,.el-dropdown-menu__item{font-size:1.3rem}.el-dropdown-menu__item a{color:#333}.el-input__inner:focus{border-color:var(--main-color)}.el-date-editor.el-input.w-auto,.el-date-editor.el-input__inner.w-auto{width:auto}.el-table .active-row{background:rgba(0,0,0,.15)}.el-table .table-green-row{background:rgba(0,255,0,.15)}.el-table .table-red-row{background:rgba(255,0,0,.15)}.el-table .table-green-row td,.el-table .table-red-row td{background:transparent!important}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:auto}.el-table .active-row td{background:transparent!important}.el-table--border th{background-color:#fafafa}.el-table thead.is-group th.el-table__cell{background:var(--el-table-header-bg-color)!important}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:var(--main-color)}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:var(--main-color)}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{width:inherit}.el-dialog{max-width:96%}.el-dialog__body .el-form-item:last-child{margin-bottom:0}.el-input-group__append,.el-input-group__prepend{padding:0 6px!important}.el-checkbox__label .el-icon{vertical-align:middle;margin-top:-2px}.el-color-picker{vertical-align:middle}.el-color-picker__trigger{border:0!important}.el-color-picker__color{border:0!important;border-radius:2px}.el-color-picker__color-inner{border-radius:2px}.el-message{min-width:10rem!important}.card-header{font-size:1.4rem}.forward-wrap .el-table--small.el-table .el-table__expanded-cell[class*=cell]{padding:20px 50px 20px 50px}h3.title{font-size:1.6rem;padding-bottom:.6rem;color:#555}.el-message-box{max-width:90%!important;width:-moz-fit-content!important;width:fit-content!important}.el-select-dropdown__item{padding-right:2rem!important}.el-form-item--default{--font-size:13px!important}.el-input__inner{font-size:13px}.el-input.success .el-input__wrapper{box-shadow:inset 0 0 0 1px green}.el-input.error .el-input__wrapper{box-shadow:inset 0 0 0 1px #f60}.el-dialog--center .el-dialog__body{padding-top:1rem!important;padding-bottom:1rem!important}@media screen and (max-width:1000px){body .phone-hide{display:none}} \ No newline at end of file diff --git a/src/linker.app/public/web/index.html b/src/linker.app/public/web/index.html index 2a409e6c..a06bae70 100644 --- a/src/linker.app/public/web/index.html +++ b/src/linker.app/public/web/index.html @@ -1 +1 @@ -
d?q(e,r,a,!0,!1,p):T(t,n,o,r,a,i,s,u,p)},V=(e,t,n,o,r,a,i,s,u)=>{let c=0;const d=t.length;let p=e.length-1,f=d-1;while(c<=p&&c<=f){const o=e[c],l=t[c]=u?jn(t[c]):Pn(t[c]);if(!Ln(o,l))break;g(o,l,n,null,r,a,i,s,u),c++}while(c<=p&&c<=f){const o=e[p],l=t[f]=u?jn(t[f]):Pn(t[f]);if(!Ln(o,l))break;g(o,l,n,null,r,a,i,s,u),p--,f--}if(c>p){if(c<=f){const e=f+1,l=e Ix(e,n,t),getStopIndexForStartIndex:(e,t,n,o)=>{const{height:l,total:r,layout:a,width:i}=e,s=xx(a)?i:l,u=Wx(e,t,o),c=n+s;let d=u.offset+u.size,p=t;while(p {const o=rL(e,t,n,"column");return[o.size,o.offset]},getRowPosition:(e,t,n)=>{const o=rL(e,t,n,"row");return[o.size,o.offset]},getColumnOffset:(e,t,n,o,l,r)=>pL(e,t,n,o,l,"column",r),getRowOffset:(e,t,n,o,l,r)=>pL(e,t,n,o,l,"row",r),getColumnStartIndexForOffset:(e,t,n)=>sL(e,n,t,"column"),getColumnStopIndexForStartIndex:(e,t,n,o)=>{const l=rL(e,t,o,"column"),r=n+e.width;let a=l.offset+l.size,i=t;while(i0&&(t[o]=n[r-1]),n[r]=o)}}r=n.length,a=n[r-1];while(r-- >0)n[r]=a,a=t[a];return n}function Ht(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ht(t)}function Gt(e){if(e)for(let t=0;t(n[e]||"").split(", "),l=o(`${d}Delay`),r=o(`${d}Duration`),a=M(l,r),i=o(`${p}Delay`),s=o(`${p}Duration`),u=M(i,s);let c=null,f=0,v=0;t===d?a>0&&(c=d,f=a,v=r.length):t===p?u>0&&(c=p,f=u,v=s.length):(f=Math.max(a,u),c=f>0?a>u?d:p:null,v=c?c===d?r.length:s.length:0);const h=c===d&&/\b(transform|all)(,|$)/.test(o(`${d}Property`).toString());return{type:c,timeout:f,propCount:v,hasTransform:h}}function M(e,t){while(e.length{t.isLeaf||t.setChecked(!1,!1),e(t)}))};e(n)}}else n.checked&&!l[s]&&n.setChecked(!1,!1)}}setCheckedNodes(e,t=!1){const n=this.key,o={};e.forEach((e=>{o[(e||{})[n]]=!0})),this._setCheckedKeys(n,t,o)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;const n=this.key,o={};e.forEach((e=>{o[e]=!0})),this._setCheckedKeys(n,t,o)}setDefaultExpandedKeys(e){e=e||[],this.defaultExpandedKeys=e,e.forEach((e=>{const t=this.getNode(e);t&&t.expand(null,this.autoExpandParent)}))}setChecked(e,t,n){const o=this.getNode(e);o&&o.setChecked(!!t,n)}getCurrentNode(){return this.currentNode}setCurrentNode(e){const t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){const n=e[this.key],o=this.nodesMap[n];this.setCurrentNode(o),t&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0)}setCurrentNodeKey(e,t=!0){if(null===e||void 0===e)return this.currentNode&&(this.currentNode.isCurrent=!1),void(this.currentNode=null);const n=this.getNode(e);n&&(this.setCurrentNode(n),t&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0))}}const n$=(0,i.pM)({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=(0,g.DU)("tree"),n=(0,i.WQ)("NodeInstance"),o=(0,i.WQ)("RootTree");return()=>{const l=e.node,{data:r,store:a}=l;return e.renderContent?e.renderContent(i.h,{_self:n,node:l,data:r,store:a}):(0,i.RG)(o.ctx.slots,"default",{node:l,data:r},(()=>[(0,i.h)("span",{class:t.be("node","label")},[l.label])]))}}});var o$=(0,m.A)(n$,[["__file","tree-node-content.vue"]]);function l$(e){const t=(0,i.WQ)("TreeNodeMap",null),n={treeNodeExpand:t=>{e.node!==t&&e.node.collapse()},children:[]};return t&&t.children.push(n),(0,i.Gt)("TreeNodeMap",n),{broadcastExpanded:t=>{if(e.accordion)for(const e of n.children)e.treeNodeExpand(t)}}}const r$=Symbol("dragEvents");function a$({props:e,ctx:t,el$:n,dropIndicator$:o,store:l}){const r=(0,g.DU)("tree"),a=(0,s.KR)({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null}),u=({event:n,treeNode:o})=>{if("function"===typeof e.allowDrag&&!e.allowDrag(o.node))return n.preventDefault(),!1;n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain","")}catch(l){}a.value.draggingNode=o,t.emit("node-drag-start",o.node,n)},c=({event:l,treeNode:i})=>{const s=i,u=a.value.dropNode;u&&u.node.id!==s.node.id&&(0,b.vy)(u.$el,r.is("drop-inner"));const c=a.value.draggingNode;if(!c||!s)return;let d=!0,p=!0,f=!0,v=!0;"function"===typeof e.allowDrop&&(d=e.allowDrop(c.node,s.node,"prev"),v=p=e.allowDrop(c.node,s.node,"inner"),f=e.allowDrop(c.node,s.node,"next")),l.dataTransfer.dropEffect=p||d||f?"move":"none",(d||p||f)&&(null==u?void 0:u.node.id)!==s.node.id&&(u&&t.emit("node-drag-leave",c.node,u.node,l),t.emit("node-drag-enter",c.node,s.node,l)),a.value.dropNode=d||p||f?s:null,s.node.nextSibling===c.node&&(f=!1),s.node.previousSibling===c.node&&(d=!1),s.node.contains(c.node,!1)&&(p=!1),(c.node===s.node||c.node.contains(s.node))&&(d=!1,p=!1,f=!1);const h=s.$el.querySelector(`.${r.be("node","content")}`).getBoundingClientRect(),m=n.value.getBoundingClientRect();let g;const y=d?p?.25:f?.45:1:-1,R=f?p?.75:d?.55:0:1;let w=-9999;const C=l.clientY-h.top;g=C{e.component.exposed.visible.value=!1}))}zB.forEach((e=>{eK[e]=(t={})=>(("string"===typeof t||(0,i.vv)(t))&&(t={message:t}),eK({...t,type:e}))})),eK.closeAll=nK,eK._context=null;const oK=(0,x._u)(eK,"$notify");var lK=[LB,jB,VB.nk,XB.s,oK,Yk],rK=a([...yB,...lK])},8501:function(e,t,n){"use strict";n.d(t,{l:function(){return a}});var o=n(1996),l=n(7378);const r=(0,l.b_)({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),a=e=>(0,o.A)(r,e)},3716:function(e,t,n){"use strict";n.d(t,{O:function(){return s}});var o=n(6768),l=n(1154),r=n(6894);const a=["class","style"],i=/^on[A-Z]/,s=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,s=(0,o.EW)((()=>((null==n?void 0:n.value)||[]).concat(a))),u=(0,o.nI)();return u?(0,o.EW)((()=>{var e;return(0,l.A)(Object.entries(null==(e=u.proxy)?void 0:e.$attrs).filter((([e])=>!s.value.includes(e)&&!(t&&i.test(e)))))})):((0,r.U)("use-attrs","getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function"),(0,o.EW)((()=>({}))))}},5488:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var o=n(144),l=n(6768);const r=e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e);function a({afterComposition:e,emit:t}){const n=(0,o.KR)(!1),a=e=>{null==t||t("compositionstart",e),n.value=!0},i=e=>{var o;null==t||t("compositionupdate",e);const l=null==(o=e.target)?void 0:o.value,a=l[l.length-1]||"";n.value=!r(a)},s=o=>{null==t||t("compositionend",o),n.value&&(n.value=!1,(0,l.dY)((()=>e(o))))},u=e=>{"compositionend"===e.type?s(e):i(e)};return{isComposing:n,handleComposition:u,handleCompositionStart:a,handleCompositionUpdate:i,handleCompositionEnd:s}}},261:function(e,t,n){"use strict";n.d(t,{b:function(){return a}});var o=n(6768),l=n(144),r=n(6894);const a=({from:e,replacement:t,scope:n,version:a,ref:i,type:s="API"},u)=>{(0,o.wB)((()=>(0,l.R1)(u)),(o=>{o&&(0,r.U)(n,`[${s}] ${e} is about to be deprecated in version ${a}, please use ${t} instead.\nFor more detail, please visit: ${i}\n`)}),{immediate:!0})}},7833:function(e,t,n){"use strict";n.d(t,{P:function(){return r}});var o=n(6768),l=n(3558);const r=(e,t,n,r)=>{let a={offsetX:0,offsetY:0};const i=t=>{const n=t.clientX,o=t.clientY,{offsetX:i,offsetY:s}=a,u=e.value.getBoundingClientRect(),c=u.left,d=u.top,p=u.width,f=u.height,v=document.documentElement.clientWidth,h=document.documentElement.clientHeight,m=-c+i,g=-d+s,b=v-c-p+i,y=h-d-f+s,R=t=>{let u=i+t.clientX-n,c=s+t.clientY-o;(null==r?void 0:r.value)||(u=Math.min(Math.max(u,m),b),c=Math.min(Math.max(c,g),y)),a={offsetX:u,offsetY:c},e.value&&(e.value.style.transform=`translate(${(0,l._V)(u)}, ${(0,l._V)(c)})`)},w=()=>{document.removeEventListener("mousemove",R),document.removeEventListener("mouseup",w)};document.addEventListener("mousemove",R),document.addEventListener("mouseup",w)},s=()=>{t.value&&e.value&&t.value.addEventListener("mousedown",i)},u=()=>{t.value&&e.value&&t.value.removeEventListener("mousedown",i)},c=()=>{a={offsetX:0,offsetY:0},e.value&&(e.value.style.transform="none")};return(0,o.sV)((()=>{(0,o.nT)((()=>{n.value?s():u()}))})),(0,o.xo)((()=>{u()})),{resetPostion:c}}},9180:function(e,t,n){"use strict";n.d(t,{bs:function(){return p},fQ:function(){return f},mf:function(){return s}});var o=n(6768),l=n(144),r=n(7378),a=n(4232),i=n(6894);const s=Symbol("emptyValuesContextKey"),u="use-empty-values",c=["",void 0,null],d=void 0,p=(0,r.b_)({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:e=>(0,a.Tn)(e)?!e():!e}}),f=(e,t)=>{const n=(0,o.nI)()?(0,o.WQ)(s,(0,l.KR)({})):(0,l.KR)({}),r=(0,o.EW)((()=>e.emptyValues||n.value.emptyValues||c)),p=(0,o.EW)((()=>(0,a.Tn)(e.valueOnClear)?e.valueOnClear():void 0!==e.valueOnClear?e.valueOnClear:(0,a.Tn)(n.value.valueOnClear)?n.value.valueOnClear():void 0!==n.value.valueOnClear?n.value.valueOnClear:void 0!==t?t:d)),f=e=>r.value.includes(e);return r.value.includes(p.value)||(0,i.U)(u,"value-on-clear should be a value of empty-values"),{emptyValues:r,valueOnClear:p,isEmptyValue:f}}},1939:function(e,t,n){"use strict";n.d(t,{K:function(){return i}});var o=n(6768),l=n(144),r=n(7383),a=n(4232);function i(e,{beforeFocus:t,afterFocus:n,beforeBlur:i,afterBlur:s}={}){const u=(0,o.nI)(),{emit:c}=u,d=(0,l.IJ)(),p=(0,l.KR)(!1),f=e=>{const o=!!(0,a.Tn)(t)&&t(e);o||p.value||(p.value=!0,c("focus",e),null==n||n())},v=e=>{var t;const n=!!(0,a.Tn)(i)&&i(e);n||e.relatedTarget&&(null==(t=d.value)?void 0:t.contains(e.relatedTarget))||(p.value=!1,c("blur",e),null==s||s())},h=()=>{var t,n;(null==(t=d.value)?void 0:t.contains(document.activeElement))&&d.value!==document.activeElement||null==(n=e.value)||n.focus()};return(0,o.wB)(d,(e=>{e&&e.setAttribute("tabindex","-1")})),(0,r.MLh)(d,"focus",f,!0),(0,r.MLh)(d,"blur",v,!0),(0,r.MLh)(d,"click",h,!0),{isFocused:p,wrapperRef:d,handleFocus:f,handleBlur:v}}},1305:function(e,t,n){"use strict";n.d(t,{Bi:function(){return d},Sj:function(){return c}});var o=n(6768),l=n(144),r=n(3513),a=n(153),i=n(6894);const s={prefix:Math.floor(1e4*Math.random()),current:0},u=Symbol("elIdInjection"),c=()=>(0,o.nI)()?(0,o.WQ)(u,s):s,d=e=>{const t=c();a.oc||t!==s||(0,i.U)("IdInjection","Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed\nusage: app.provide(ID_INJECTION_KEY, {\n prefix: number,\n current: number,\n})");const n=(0,r.E9)(),u=(0,o.EW)((()=>(0,l.R1)(e)||`${n.value}-id-${t.prefix}-${t.current++}`));return u}},6268:function(e,t,n){"use strict";n.d(t,{vx:function(){return c},Ym:function(){return d}});var o=n(144),l=n(6768),r=n(9615),a={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const i=e=>(t,n)=>s(t,n,(0,o.R1)(e)),s=(e,t,n)=>(0,r.A)(n,e,e).replace(/\{(\w+)\}/g,((e,n)=>{var o;return`${null!=(o=null==t?void 0:t[n])?o:`{${n}}`}`})),u=e=>{const t=(0,l.EW)((()=>(0,o.R1)(e).name)),n=(0,o.i9)(e)?e:(0,o.KR)(e);return{lang:t,locale:n,t:i(e)}},c=Symbol("localeContextKey"),d=e=>{const t=e||(0,l.WQ)(c,(0,o.KR)());return u((0,l.EW)((()=>t.value||a)))}},2667:function(e,t,n){"use strict";n.d(t,{t:function(){return c}});var o=n(144),l=n(6768),r=n(3513),a=n(6894),i=n(153),s=n(3558),u=n(8587);const c=(e,t={})=>{(0,o.i9)(e)||(0,a.$)("[useLockscreen]","You need to pass a ref param to this function");const n=t.ns||(0,r.DU)("popup"),c=(0,l.EW)((()=>n.bm("parent","hidden")));if(!i.oc||(0,s.nB)(document.body,c.value))return;let d=0,p=!1,f="0";const v=()=>{setTimeout((()=>{(0,s.vy)(null==document?void 0:document.body,c.value),p&&document&&(document.body.style.width=f)}),200)};(0,l.wB)(e,(e=>{if(!e)return void v();p=!(0,s.nB)(document.body,c.value),p&&(f=document.body.style.width),d=(0,u.F_)(n.namespace.value);const t=document.documentElement.clientHeight=0&&(s=-1),s>-1&&(o=t.slice(0,s),r=t.slice(s+1,i>-1?i:t.length),l=e(r)),i>-1&&(o=o||t.slice(0,i),a=t.slice(i,t.length)),o=j(null!=o?o:t,n),{fullPath:o+(r&&"?")+r+a,path:o,query:l,hash:L(a)}}function N(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function $(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function D(e,t,n){const o=t.matched.length-1,l=n.matched.length-1;return o>-1&&o===l&&F(t.matched[o],n.matched[l])&&B(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function F(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function B(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!K(e[n],t[n]))return!1;return!0}function K(e,t){return c(e)?P(e,t):c(t)?P(t,e):e===t}function P(e,t){return c(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}function j(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/"),l=o[o.length-1];".."!==l&&"."!==l||o.push("");let r,a,i=n.length-1;for(r=0;r