This commit is contained in:
snltty
2025-08-01 17:52:14 +08:00
parent 6aa2491fff
commit f029baf16a
213 changed files with 2592 additions and 749 deletions

View File

@@ -57,9 +57,9 @@ jobs:
docker tag snltty/linker-musl-x64:latest snltty/linker-musl:amd64 && \ docker tag snltty/linker-musl-x64:latest snltty/linker-musl:amd64 && \
docker push snltty/linker-musl:amd64 && \ docker push snltty/linker-musl:amd64 && \
docker manifest create snltty/linker-musl:latest snltty/linker-musl:amd64 snltty/linker-musl:arm64 snltty/linker-musl:arm && \ docker manifest create snltty/linker-musl:latest snltty/linker-musl:amd64 snltty/linker-musl:arm64 snltty/linker-musl:arm && \
docker manifest create snltty/linker-musl:v1.8.9 snltty/linker-musl:amd64 snltty/linker-musl:arm64 snltty/linker-musl:arm && \ docker manifest create snltty/linker-musl:v1.9.0 snltty/linker-musl:amd64 snltty/linker-musl:arm64 snltty/linker-musl:arm && \
docker manifest push snltty/linker-musl:latest && \ docker manifest push snltty/linker-musl:latest && \
docker manifest push snltty/linker-musl:v1.8.9 && \ docker manifest push snltty/linker-musl:v1.9.0 && \
docker pull --platform linux/arm/v7 snltty/linker-debian-arm:latest && \ docker pull --platform linux/arm/v7 snltty/linker-debian-arm:latest && \
docker tag snltty/linker-debian-arm:latest snltty/linker-debian:arm && \ docker tag snltty/linker-debian-arm:latest snltty/linker-debian:arm && \
docker push snltty/linker-debian:arm && \ docker push snltty/linker-debian:arm && \
@@ -70,9 +70,9 @@ jobs:
docker tag snltty/linker-debian-x64:latest snltty/linker-debian:amd64 && \ docker tag snltty/linker-debian-x64:latest snltty/linker-debian:amd64 && \
docker push snltty/linker-debian:amd64 && \ docker push snltty/linker-debian:amd64 && \
docker manifest create snltty/linker-debian:latest snltty/linker-debian:amd64 snltty/linker-debian:arm64 snltty/linker-debian:arm && \ docker manifest create snltty/linker-debian:latest snltty/linker-debian:amd64 snltty/linker-debian:arm64 snltty/linker-debian:arm && \
docker manifest create snltty/linker-debian:v1.8.9 snltty/linker-debian:amd64 snltty/linker-debian:arm64 snltty/linker-debian:arm && \ docker manifest create snltty/linker-debian:v1.9.0 snltty/linker-debian:amd64 snltty/linker-debian:arm64 snltty/linker-debian:arm && \
docker manifest push snltty/linker-debian:latest && \ docker manifest push snltty/linker-debian:latest && \
docker manifest push snltty/linker-debian:v1.8.9 && \ docker manifest push snltty/linker-debian:v1.9.0 && \
docker pull --platform linux/arm/v7 snltty/linker-kvm-arm:latest && \ docker pull --platform linux/arm/v7 snltty/linker-kvm-arm:latest && \
docker tag snltty/linker-kvm-arm:latest snltty/linker-kvm:arm && \ docker tag snltty/linker-kvm-arm:latest snltty/linker-kvm:arm && \
docker push snltty/linker-kvm:arm && \ docker push snltty/linker-kvm:arm && \
@@ -83,6 +83,6 @@ jobs:
docker tag snltty/linker-kvm-x64:latest snltty/linker-kvm:amd64 && \ docker tag snltty/linker-kvm-x64:latest snltty/linker-kvm:amd64 && \
docker push snltty/linker-kvm:amd64 && \ docker push snltty/linker-kvm:amd64 && \
docker manifest create snltty/linker-kvm:latest snltty/linker-kvm:amd64 snltty/linker-kvm:arm64 snltty/linker-kvm:arm && \ docker manifest create snltty/linker-kvm:latest snltty/linker-kvm:amd64 snltty/linker-kvm:arm64 snltty/linker-kvm:arm && \
docker manifest create snltty/linker-kvm:v1.8.9 snltty/linker-kvm:amd64 snltty/linker-kvm:arm64 snltty/linker-kvm:arm && \ docker manifest create snltty/linker-kvm:v1.9.0 snltty/linker-kvm:amd64 snltty/linker-kvm:arm64 snltty/linker-kvm:arm && \
docker manifest push snltty/linker-kvm:latest && \ docker manifest push snltty/linker-kvm:latest && \
docker manifest push snltty/linker-kvm:v1.8.9 docker manifest push snltty/linker-kvm:v1.9.0

View File

@@ -33,11 +33,11 @@ jobs:
env: env:
GITHUB_TOKEN: ${{ secrets.ACTIONS_TOKEN }} GITHUB_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
with: with:
tag_name: v1.8.9 tag_name: v1.9.0
release_name: v1.8.9.${{ steps.date.outputs.today }} release_name: v1.9.0.${{ steps.date.outputs.today }}
draft: false draft: false
prerelease: false prerelease: false
body: "1. 一些累计更新\r\n2. 修复一些BUG过滤一些打洞成功的假象\r\n3. 修复socks5\r\n4. 其它一些代码优化" body: "1. 一些累计更新\r\n2. 修复一些APP问题\r\n3. 增加一些数据统计\r\n4. 可选关闭信标服务"
- name: publish projects - name: publish projects
run: ./publish.bat "C:\\Android\\android-sdk" run: ./publish.bat "C:\\Android\\android-sdk"
- name: upload-win-x86-oss - name: upload-win-x86-oss
@@ -49,7 +49,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-win-x86.zip asset-path: ./public/publish-zip/linker-win-x86.zip
target-path: /downloads/linker/v1.8.9/linker-win-x86.zip target-path: /downloads/linker/v1.9.0/linker-win-x86.zip
- name: upload-win-x86 - name: upload-win-x86
id: upload-win-x86 id: upload-win-x86
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -69,7 +69,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-win-x64.zip asset-path: ./public/publish-zip/linker-win-x64.zip
target-path: /downloads/linker/v1.8.9/linker-win-x64.zip target-path: /downloads/linker/v1.9.0/linker-win-x64.zip
- name: upload-win-x64 - name: upload-win-x64
id: upload-win-x64 id: upload-win-x64
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -89,7 +89,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-win-arm64.zip asset-path: ./public/publish-zip/linker-win-arm64.zip
target-path: /downloads/linker/v1.8.9/linker-win-arm64.zip target-path: /downloads/linker/v1.9.0/linker-win-arm64.zip
- name: upload-win-arm64 - name: upload-win-arm64
id: upload-win-arm64 id: upload-win-arm64
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -109,7 +109,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-x64.zip asset-path: ./public/publish-zip/linker-linux-x64.zip
target-path: /downloads/linker/v1.8.9/linker-linux-x64.zip target-path: /downloads/linker/v1.9.0/linker-linux-x64.zip
- name: upload-linux-x64 - name: upload-linux-x64
id: upload-linux-x64 id: upload-linux-x64
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -129,7 +129,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-arm.zip asset-path: ./public/publish-zip/linker-linux-arm.zip
target-path: /downloads/linker/v1.8.9/linker-linux-arm.zip target-path: /downloads/linker/v1.9.0/linker-linux-arm.zip
- name: upload-linux-arm - name: upload-linux-arm
id: upload-linux-arm id: upload-linux-arm
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -149,7 +149,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-arm64.zip asset-path: ./public/publish-zip/linker-linux-arm64.zip
target-path: /downloads/linker/v1.8.9/linker-linux-arm64.zip target-path: /downloads/linker/v1.9.0/linker-linux-arm64.zip
- name: upload-linux-arm64 - name: upload-linux-arm64
id: upload-linux-arm64 id: upload-linux-arm64
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -169,7 +169,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-musl-x64.zip asset-path: ./public/publish-zip/linker-linux-musl-x64.zip
target-path: /downloads/linker/v1.8.9/linker-linux-musl-x64.zip target-path: /downloads/linker/v1.9.0/linker-linux-musl-x64.zip
- name: upload-linux-musl-x64 - name: upload-linux-musl-x64
id: upload-linux-musl-x64 id: upload-linux-musl-x64
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -189,7 +189,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-musl-arm.zip asset-path: ./public/publish-zip/linker-linux-musl-arm.zip
target-path: /downloads/linker/v1.8.9/linker-linux-musl-arm.zip target-path: /downloads/linker/v1.9.0/linker-linux-musl-arm.zip
- name: upload-linux-musl-arm - name: upload-linux-musl-arm
id: upload-linux-musl-arm id: upload-linux-musl-arm
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -209,7 +209,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-musl-arm64.zip asset-path: ./public/publish-zip/linker-linux-musl-arm64.zip
target-path: /downloads/linker/v1.8.9/linker-linux-musl-arm64.zip target-path: /downloads/linker/v1.9.0/linker-linux-musl-arm64.zip
- name: upload-linux-musl-arm64 - name: upload-linux-musl-arm64
id: upload-linux-musl-arm64 id: upload-linux-musl-arm64
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -259,7 +259,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-zip/linker.apk asset-path: ./public/publish-zip/linker.apk
target-path: /downloads/linker/v1.8.9/linker.apk target-path: /downloads/linker/v1.9.0/linker.apk
- name: upload-apk - name: upload-apk
id: upload-apk id: upload-apk
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master

View File

@@ -44,7 +44,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-ipk/x64/linker-x64.ipk asset-path: ./public/publish-ipk/x64/linker-x64.ipk
target-path: /downloads/linker/v1.8.9/linker-x64.ipk target-path: /downloads/linker/v1.9.0/linker-x64.ipk
- name: upload-x64 - name: upload-x64
id: upload-x64 id: upload-x64
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -64,7 +64,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-ipk/arm/linker-arm.ipk asset-path: ./public/publish-ipk/arm/linker-arm.ipk
target-path: /downloads/linker/v1.8.9/linker-arm.ipk target-path: /downloads/linker/v1.9.0/linker-arm.ipk
- name: upload-arm - name: upload-arm
id: upload-arm id: upload-arm
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master
@@ -84,7 +84,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode bucket: ide-qbcode
asset-path: ./public/publish-ipk/arm64/linker-arm64.ipk asset-path: ./public/publish-ipk/arm64/linker-arm64.ipk
target-path: /downloads/linker/v1.8.9/linker-arm64.ipk target-path: /downloads/linker/v1.9.0/linker-arm64.ipk
- name: upload-arm64 - name: upload-arm64
id: upload-arm64 id: upload-arm64
uses: actions/upload-release-asset@master uses: actions/upload-release-asset@master

View File

@@ -90,35 +90,35 @@ jobs:
- name: Push - name: Push
run: | run: |
dotnet nuget push ./src/linker.libs/bin/release/linker.libs.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.libs/bin/release/linker.libs.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger/bin/release/linker.messenger.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger/bin/release/linker.messenger.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.access/bin/release/linker.messenger.access.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.access/bin/release/linker.messenger.access.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.action/bin/release/linker.messenger.action.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.action/bin/release/linker.messenger.action.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.api/bin/release/linker.messenger.api.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.api/bin/release/linker.messenger.api.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.channel/bin/release/linker.messenger.channel.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.channel/bin/release/linker.messenger.channel.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.decenter/bin/release/linker.messenger.decenter.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.decenter/bin/release/linker.messenger.decenter.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.entry/bin/release/linker.messenger.entry.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.entry/bin/release/linker.messenger.entry.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.exroute/bin/release/linker.messenger.exroute.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.exroute/bin/release/linker.messenger.exroute.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.flow/bin/release/linker.messenger.flow.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.flow/bin/release/linker.messenger.flow.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.forward/bin/release/linker.messenger.forward.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.forward/bin/release/linker.messenger.forward.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.listen/bin/release/linker.messenger.listen.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.listen/bin/release/linker.messenger.listen.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.logger/bin/release/linker.messenger.logger.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.logger/bin/release/linker.messenger.logger.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.pcp/bin/release/linker.messenger.pcp.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.pcp/bin/release/linker.messenger.pcp.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.plan/bin/release/linker.messenger.plan.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.plan/bin/release/linker.messenger.plan.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.relay/bin/release/linker.messenger.relay.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.relay/bin/release/linker.messenger.relay.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.cdkey/bin/release/linker.messenger.cdkey.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.cdkey/bin/release/linker.messenger.cdkey.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.serializer.memorypack/bin/release/linker.messenger.serializer.memorypack.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.serializer.memorypack/bin/release/linker.messenger.serializer.memorypack.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.sforward/bin/release/linker.messenger.sforward.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.sforward/bin/release/linker.messenger.sforward.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.signin/bin/release/linker.messenger.signin.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.signin/bin/release/linker.messenger.signin.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.socks5/bin/release/linker.messenger.socks5.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.socks5/bin/release/linker.messenger.socks5.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.store.file/bin/release/linker.messenger.store.file.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.store.file/bin/release/linker.messenger.store.file.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.sync/bin/release/linker.messenger.sync.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.sync/bin/release/linker.messenger.sync.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.tunnel/bin/release/linker.messenger.tunnel.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.tunnel/bin/release/linker.messenger.tunnel.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.tuntap/bin/release/linker.messenger.tuntap.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.tuntap/bin/release/linker.messenger.tuntap.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.updater/bin/release/linker.messenger.updater.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.updater/bin/release/linker.messenger.updater.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.firewall/bin/release/linker.messenger.firewall.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.firewall/bin/release/linker.messenger.firewall.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.wakeup/bin/release/linker.messenger.wakeup.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.wakeup/bin/release/linker.messenger.wakeup.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.messenger.wlist/bin/release/linker.messenger.wlist.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.messenger.wlist/bin/release/linker.messenger.wlist.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.tun/bin/release/linker.tun.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.tun/bin/release/linker.tun.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.snat/bin/release/linker.snat.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.snat/bin/release/linker.snat.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols
dotnet nuget push ./src/linker.tunnel/bin/release/linker.tunnel.1.8.9.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols dotnet nuget push ./src/linker.tunnel/bin/release/linker.tunnel.1.9.0.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols

View File

@@ -91,6 +91,7 @@
<div> <div>
- 米多贝克&米多网络工程 - 米多贝克&米多网络工程
- 旋律 * 3
- 阳阳 - 阳阳
- 谢幕____(海那边的白月光) - 谢幕____(海那边的白月光)
- swayer. - swayer.
@@ -98,7 +99,7 @@
- 仰望 * 2 - 仰望 * 2
- 李氏の天下 - 李氏の天下
- 小猪 - 小猪
- 菜菜(木子) * 2 - 菜菜(木子) * 3
- 杰米儿 - 杰米儿
- Oasis - Oasis
- 坦然 - 坦然

View File

@@ -41,16 +41,16 @@ do
fi fi
done 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.8.9" . --push 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.0" . --push
cd ../../../../../ 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.8.9" . --push 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.0" . --push
cd ../../../../../ 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.8.9" . --push 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.0" . --push
cd ../../../../../ cd ../../../../../
done done
done done

View File

@@ -22,7 +22,7 @@ do
mkdir -p public/publish-ipk/${r}/data/usr/bin/linker mkdir -p public/publish-ipk/${r}/data/usr/bin/linker
cp -rf public/publish/${r}/* 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.8.9|g" public/publish-ipk/${r}/control/control sed -i "s|{version}|1.9.0|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}/data/etc/init.d/linker
sed -i 's/\r$//' public/publish-ipk/${r}/control/control 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/postinst

View File

@@ -28,7 +28,7 @@
<ApplicationId>com.snltty.linker.app</ApplicationId> <ApplicationId>com.snltty.linker.app</ApplicationId>
<Title>linker.app</Title> <Title>linker.app</Title>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<Authors>snltty</Authors> <Authors>snltty</Authors>
<Company>snltty</Company> <Company>snltty</Company>
<Copyright>snltty</Copyright> <Copyright>snltty</Copyright>
@@ -38,7 +38,7 @@
<PackageReleaseNotes>linker</PackageReleaseNotes> <PackageReleaseNotes>linker</PackageReleaseNotes>
<!-- Versions --> <!-- Versions -->
<ApplicationDisplayVersion>1.8.9</ApplicationDisplayVersion> <ApplicationDisplayVersion>1.9.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion> <ApplicationVersion>1</ApplicationVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">11.0</SupportedOSPlatformVersion> <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">11.0</SupportedOSPlatformVersion>

View File

@@ -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-280c6e06]{padding:1rem 0 0 1rem}.page-wrap[data-v-280c6e06]{display:inline-block}.logger-setting-wrap[data-v-280c6e06]{padding:1rem;box-sizing:border-box}.logger-setting-wrap .inner[data-v-280c6e06]{padding:1rem}.logger-setting-wrap .head[data-v-280c6e06]{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}

View File

@@ -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-039d8e9c]{margin-bottom:1rem;color:#555;border:1px solid #eee;padding:0 1rem 1rem 1rem}html.dark .head[data-v-039d8e9c]{border-color:#575c61}.firewall.el-table .action-1{color:green}.firewall.el-table .action-2{color:#c83f08}.firewall-setting-wrap[data-v-101dd60e]{padding:1rem;box-sizing:border-box;font-size:1.3rem}.firewall-setting-wrap .inner[data-v-101dd60e]{padding:1rem;width:100%;box-sizing:border-box}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -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-87f00112]{margin-bottom:1rem}html.dark .head[data-v-df5b0768]{border-color:#575c61}.head[data-v-df5b0768]{margin-bottom:1rem;color:#555;border:1px solid #eee;padding:0 1rem 1rem 1rem}.firewall.el-table .run-btn img{height:2rem;vertical-align:middle}.wakeup-setting-wrap[data-v-eaba7e5c]{padding:1rem;box-sizing:border-box;font-size:1.3rem}.wakeup-setting-wrap .inner[data-v-eaba7e5c]{padding:1rem;width:100%;box-sizing:border-box}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -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}.action-wrap[data-v-08c763b2]{font-size:1.3rem;padding:1.5rem}

View File

@@ -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}.transport-wrap[data-v-ea1d1936]{padding:1rem}

View File

@@ -0,0 +1 @@
.el-radio-group[data-v-72593913]{margin-right:.6rem}.wrap[data-v-72593913]{padding-bottom:1rem}.el-form-item[data-v-0827bc1c]{margin-bottom:1rem}.el-input-number--small[data-v-0827bc1c]{width:10rem!important}.el-form-item[data-v-7ea96748]{margin-bottom:1rem}.el-input-number--small[data-v-7ea96748]{width:10rem!important}.head .search>div[data-v-f4c5184a]{margin-right:1rem}.page[data-v-f4c5184a]{padding:2rem 0;display:inline-block}.el-form-item[data-v-f4c5184a]{margin-bottom:1rem}.el-input-number--small[data-v-f4c5184a]{width:10rem!important}.head .search>div[data-v-6a696afb]{margin-right:1rem}.page[data-v-6a696afb]{padding:2rem 0;display:inline-block}.el-form-item[data-v-6a696afb]{margin-bottom:1rem}.el-input-number--small[data-v-6a696afb]{width:10rem!important}.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-dae45eaa]{color:#409eff}.el-checkbox[data-v-dae45eaa]{font-weight:100}a.a-edit .el-icon[data-v-dae45eaa]{vertical-align:middle}.el-form-item[data-v-02fab3c6]{margin-bottom:1rem}.el-input-number--small[data-v-02fab3c6]{width:10rem!important}.head .search>div[data-v-2c4f37db]{margin-right:1rem}.page[data-v-2c4f37db]{padding:2rem 0;display:inline-block}.el-form-item[data-v-2c4f37db]{margin-bottom:1rem}.el-input-number--small[data-v-2c4f37db]{width:10rem!important}.blue[data-v-2cb09550]{color:#409eff}a.a-edit[data-v-2cb09550]{margin-left:1rem}a.a-edit .el-icon[data-v-2cb09550]{vertical-align:middle}.servers-wrap[data-v-3b21a224]{padding:1rem;font-size:1.3rem;color:#555}.servers-wrap a[data-v-3b21a224]{color:#333}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>linker.web</title><link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""/><script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script><script defer="defer" src="js/chunk-vendors.3e624437.js"></script><script defer="defer" src="js/app.35d1e2a7.js"></script><link href="css/chunk-vendors.d8267b33.css" rel="stylesheet"><link href="css/app.db9830c6.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but linker.web doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html> <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>linker.web</title><link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""/><script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script><script defer="defer" src="js/chunk-vendors.3e624437.js"></script><script defer="defer" src="js/app.a82999c6.js"></script><link href="css/chunk-vendors.d8267b33.css" rel="stylesheet"><link href="css/app.db9830c6.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but linker.web doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[276],{35377:function(e,s,t){t.d(s,{A:function(){return b}});var a=t(56768),n=t(24232);const l={class:"t-c"},c={class:"t-c w-100 mgt-1"};function o(e,s,t,o,r,d){const i=(0,a.g2)("Share"),u=(0,a.g2)("el-icon"),m=(0,a.g2)("el-button"),h=(0,a.g2)("el-transfer"),f=(0,a.g2)("el-dialog");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.RG)(e.$slots,"default",{},(()=>[(0,a.bF)(m,{class:"btn",size:"small",onClick:o.handleShowSync},{default:(0,a.k6)((()=>[(0,a.bF)(u,null,{default:(0,a.k6)((()=>[(0,a.bF)(i)])),_:1})])),_:1},8,["onClick"])])),(0,a.bF)(f,{class:"options-center",title:e.$t("server.sync"),"destroy-on-close":"",modelValue:o.state.showNames,"onUpdate:modelValue":s[2]||(s[2]=e=>o.state.showNames=e),width:"54rem",top:"2vh"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.Lk)("div",l,(0,n.v_)(`${e.$t("server.sync")}${e.$t(`server.async${o.state.name}`)}${e.$t("server.asyncText")}`),1),(0,a.bF)(h,{class:"src-tranfer mgt-1",modelValue:o.state.srcIdValues,"onUpdate:modelValue":s[0]||(s[0]=e=>o.state.srcIdValues=e),filterable:"","filter-method":o.srcFilterMethod,data:o.state.srcIds,titles:[e.$t("firewall.unselect"),e.$t("firewall.selected")],props:{key:"MachineId",label:"MachineName"}},null,8,["modelValue","filter-method","data","titles"]),(0,a.Lk)("div",c,[(0,a.bF)(m,{onClick:s[1]||(s[1]=e=>o.state.showNames=!1)},{default:(0,a.k6)((()=>[(0,a.eW)((0,n.v_)(e.$t("common.cancel")),1)])),_:1}),(0,a.bF)(m,{type:"primary",onClick:o.handleConfirm},{default:(0,a.k6)((()=>[(0,a.eW)((0,n.v_)(e.$t("common.confirm")),1)])),_:1},8,["onClick"])])])])),_:1},8,["title","modelValue"])])}var r=t(69299),d=t(10004);const i=e=>(0,d.zG)("sync/Sync",e);var u=t(53830),m=t(57477),h=t(51219),f=t(90144),v=t(35931),k={props:["name"],components:{Share:m.SYj},setup(e){const{t:s}=(0,v.s9)(),t=(0,u.B)(),n=(0,a.EW)((()=>t.value.hasAccess("Sync"))),l=(0,f.Kh)({name:e.name,loading:!1,showNames:!1,srcIdValues:[],srcIds:[]}),c=()=>{i({names:[e.name],ids:l.srcIdValues}).then((e=>{h.nk.success(s("common.oper")),l.showNames=!1}))},o=()=>{n.value?(l.showNames=!0,d()):h.nk.success(s("common.access"))},d=()=>{l.loading=!0,(0,r.NT)().then((e=>{l.loading=!1,l.srcIds=e})).catch((e=>{l.loading=!1}))},m=(e,s)=>s.MachineName.toLowerCase().includes(e.toLowerCase());return{state:l,handleShowSync:o,srcFilterMethod:m,handleConfirm:c}}},w=t(71241);const p=(0,w.A)(k,[["render",o]]);var b=p},83384:function(e,s,t){t.r(s),t.d(s,{default:function(){return m}});var a=t(56768);const n={class:"firewall-setting-wrap flex flex-column h-100"},l={class:"inner"};function c(e,s,t,c,o,r){const d=(0,a.g2)("Firewall");return(0,a.uX)(),(0,a.CE)("div",n,[(0,a.Lk)("div",l,[(0,a.bF)(d)])])}var o=t(90144),r=t(63733),d={components:{Firewall:r.A},setup(e,{emit:s}){const t=(0,o.Kh)({});return{state:t}}},i=t(71241);const u=(0,i.A)(d,[["render",c],["__scopeId","data-v-101dd60e"]]);var m=u}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[379],{19892:function(e,a,n){n.r(a),n.d(a,{default:function(){return O}});var t=n(56768);const s={class:"net-wrap app-wrap"},l={class:"inner absolute flex flex-column flex-nowrap"},i={class:"head"},u={class:"body flex-1 relative"},r={class:"status"};function c(e,a,n,c,d,o){const g=(0,t.g2)("Head"),p=(0,t.g2)("List"),v=(0,t.g2)("Status");return(0,t.uX)(),(0,t.CE)("div",s,[(0,t.Lk)("div",l,[(0,t.Lk)("div",i,[(0,t.bF)(g)]),(0,t.Lk)("div",u,[(0,t.bF)(p)]),(0,t.Lk)("div",r,[(0,t.bF)(v,{config:!1})])])])}n(44114);var d=n(24232);const o=e=>((0,t.Qi)("data-v-1cb47bd6"),e=e(),(0,t.jt)(),e),g={class:"head-wrap"},p={class:"tools flex"},v={class:"label"},h=o((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1))),f={style:{"margin-left":"1rem"}};function k(e,a,n,s,l,i){const u=(0,t.g2)("Refresh"),r=(0,t.g2)("el-icon"),c=(0,t.g2)("el-button"),o=(0,t.g2)("Background");return(0,t.uX)(),(0,t.CE)("div",g,[(0,t.Lk)("div",p,[(0,t.Lk)("span",v,"分组 : "+(0,d.v_)(s.state.group),1),h,(0,t.bF)(c,{size:"small",onClick:s.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)(" 刷新(F5)"),(0,t.bF)(r,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1})])),_:1},8,["onClick"]),(0,t.Lk)("div",f,[(0,t.bF)(o,{name:"net"})])])])}var b=n(53830),m=n(90144),C=n(57477),L=n(7199),_={components:{Edit:C.ffu,Refresh:C.C42,Background:L.A},setup(){const e=(0,b.B)(),a=(0,m.Kh)({server:(0,t.EW)((()=>e.value.config.Client.Server.Host)),group:(0,t.EW)((()=>e.value.config.Client.Group.Name))}),n=()=>{window.location.reload()};return{state:a,handleRefresh:n}}},w=n(71241);const S=(0,w.A)(_,[["render",k],["__scopeId","data-v-1cb47bd6"]]);var x=S;const F=e=>((0,t.Qi)("data-v-7a103ea4"),e=e(),(0,t.jt)(),e),z={class:"net-list-wrap flex flex-column absolute"},E={class:"flex-1 scrollbar"},T={class:"flex"},A=F((()=>(0,t.Lk)("div",{class:"flex-1"},null,-1))),I={class:"tuntap"},P={class:"page t-c"},B={class:"page-wrap t-c"};function R(e,a,n,s,l,i){const u=(0,t.g2)("DeviceName"),r=(0,t.g2)("UpdaterBtn"),c=(0,t.g2)("TuntapShow"),d=(0,t.g2)("el-pagination");return(0,t.uX)(),(0,t.CE)("div",z,[(0,t.Lk)("div",E,[(0,t.Lk)("ul",null,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.devices.page.List,((e,a)=>((0,t.uX)(),(0,t.CE)("li",{key:a},[(0,t.Lk)("dl",null,[(0,t.Lk)("dt",T,[(0,t.Lk)("div",null,[(0,t.bF)(u,{item:e},null,8,["item"])]),A,(0,t.Lk)("div",null,[(0,t.bF)(r,{config:!1,item:e},null,8,["item"])])]),(0,t.Lk)("dd",I,[s.tuntap.list[e.MachineId]?((0,t.uX)(),(0,t.Wv)(c,{key:0,item:e},null,8,["item"])):(0,t.Q3)("",!0)])])])))),128))])]),(0,t.Lk)("div",P,[(0,t.Lk)("div",B,[(0,t.bF)(d,{size:"small",background:"",layout:"prev,pager, next","pager-count":5,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"])])])])}var X=n(75234),y=n(54373),N=n(65304),U=n(31480),D=n(33200),Q=n(6564),W=n(73417),H={components:{StarFilled:C.BQ2,UpdaterBtn:U.A,DeviceName:D.A,TuntapShow:Q.A},setup(e){(0,b.B)();const a=(0,m.Kh)({}),{devices:n,machineId:s,_getSignList:l,_getSignList1:i,handlePageChange:u,handlePageSizeChange:r,clearDevicesTimeout:c}=(0,y.r)(),{tuntap:d,_getTuntapInfo:o,handleTuntapRefresh:g,clearTuntapTimeout:p,handleTuntapEdit:v,sortTuntapIP:h}=(0,X.O)(),{_getUpdater:f,_subscribeUpdater:k,clearUpdaterTimeout:C}=(0,N.d)();(0,W.L2)();return(0,t.sV)((()=>{u(),g(),l(),i(),o(),f(),k()})),(0,t.hi)((()=>{c(),p(),C()})),{state:a,devices:n,machineId:s,handlePageChange:u,handlePageSizeChange:r,tuntap:d}}};const K=(0,w.A)(H,[["render",R],["__scopeId","data-v-7a103ea4"]]);var j=K,q=n(2593),M=n(81387),V={components:{Head:x,List:j,Status:q.A},setup(){document.addEventListener("contextmenu",(function(e){e.preventDefault()}));const e=(0,b.B)(),a=(0,M.rd)();return(0,t.sV)((()=>{0==e.value.hasAccess("NetManager")&&a.push({name:"NoPermission"})})),{}}};const G=(0,w.A)(V,[["render",c],["__scopeId","data-v-60d9820b"]]);var O=G}}]);

View File

@@ -0,0 +1 @@
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[478],{54438:function(e,n,t){t.r(n),t.d(n,{default:function(){return p}});var s=t(56768);const a={class:"wakeup-setting-wrap flex flex-column h-100"},r={class:"inner"};function u(e,n,t,u,c,i){const o=(0,s.g2)("Wakeup");return(0,s.uX)(),(0,s.CE)("div",a,[(0,s.Lk)("div",r,[(0,s.bF)(o)])])}var c=t(90144),i=t(99919),o={components:{Wakeup:i.A},setup(e,{emit:n}){const t=(0,c.Kh)({});return{state:t}}},k=t(71241);const l=(0,k.A)(o,[["render",u],["__scopeId","data-v-eaba7e5c"]]);var p=l}}]);

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[493],{87414:function(e,a,n){n.r(a),n.d(a,{default:function(){return J}});var t=n(56768);const s={class:"net-wrap app-wrap"},l={class:"inner absolute flex flex-column flex-nowrap"},i={class:"head"},u={class:"body flex-1 relative"},r={class:"status"};function c(e,a,n,c,d,o){const g=(0,t.g2)("Head"),p=(0,t.g2)("List"),v=(0,t.g2)("Status");return(0,t.uX)(),(0,t.CE)("div",s,[(0,t.Lk)("div",l,[(0,t.Lk)("div",i,[(0,t.bF)(g)]),(0,t.Lk)("div",u,[(0,t.bF)(p)]),(0,t.Lk)("div",r,[(0,t.bF)(v,{config:!1})])])])}n(44114);var d=n(24232);const o=e=>((0,t.Qi)("data-v-1cb47bd6"),e=e(),(0,t.jt)(),e),g={class:"head-wrap"},p={class:"tools flex"},v={class:"label"},h=o((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1))),f={style:{"margin-left":"1rem"}};function k(e,a,n,s,l,i){const u=(0,t.g2)("Refresh"),r=(0,t.g2)("el-icon"),c=(0,t.g2)("el-button"),o=(0,t.g2)("Background");return(0,t.uX)(),(0,t.CE)("div",g,[(0,t.Lk)("div",p,[(0,t.Lk)("span",v,"分组 : "+(0,d.v_)(s.state.group),1),h,(0,t.bF)(c,{size:"small",onClick:s.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)(" 刷新(F5)"),(0,t.bF)(r,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1})])),_:1},8,["onClick"]),(0,t.Lk)("div",f,[(0,t.bF)(o,{name:"net"})])])])}var b=n(53830),m=n(90144),C=n(57477),L=n(7199),_={components:{Edit:C.ffu,Refresh:C.C42,Background:L.A},setup(){const e=(0,b.B)(),a=(0,m.Kh)({server:(0,t.EW)((()=>e.value.config.Client.Server.Host)),group:(0,t.EW)((()=>e.value.config.Client.Group.Name))}),n=()=>{window.location.reload()};return{state:a,handleRefresh:n}}},w=n(71241);const S=(0,w.A)(_,[["render",k],["__scopeId","data-v-1cb47bd6"]]);var x=S;const F=e=>((0,t.Qi)("data-v-3c358101"),e=e(),(0,t.jt)(),e),z={class:"net-list-wrap flex flex-column absolute"},E={class:"flex-1 scrollbar"},T={class:"flex"},A=F((()=>(0,t.Lk)("div",{class:"flex-1"},null,-1))),I={class:"tuntap"},P={class:"page t-c"},B={class:"page-wrap t-c"};function R(e,a,n,s,l,i){const u=(0,t.g2)("DeviceName"),r=(0,t.g2)("UpdaterBtn"),c=(0,t.g2)("TuntapShow"),d=(0,t.g2)("el-pagination");return(0,t.uX)(),(0,t.CE)("div",z,[(0,t.Lk)("div",E,[(0,t.Lk)("ul",null,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.devices.page.List,((e,a)=>((0,t.uX)(),(0,t.CE)("li",{key:a},[(0,t.Lk)("dl",null,[(0,t.Lk)("dt",T,[(0,t.Lk)("div",null,[(0,t.bF)(u,{item:e},null,8,["item"])]),A,(0,t.Lk)("div",null,[(0,t.bF)(r,{config:!1,item:e},null,8,["item"])])]),(0,t.Lk)("dd",I,[s.tuntap.list[e.MachineId]?((0,t.uX)(),(0,t.Wv)(c,{key:0,item:e},null,8,["item"])):(0,t.Q3)("",!0)])])])))),128))])]),(0,t.Lk)("div",P,[(0,t.Lk)("div",B,[(0,t.bF)(d,{size:"small",background:"",layout:"prev,pager, next","pager-count":5,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"])])])])}var y=n(75234),X=n(54373),N=n(65304),U=n(31480),D=n(33200),Q=n(6564),W=n(73417),H=n(76978),K={components:{StarFilled:C.BQ2,UpdaterBtn:U.A,DeviceName:D.A,TuntapShow:Q.A},setup(e){(0,b.B)();const a=(0,m.Kh)({}),{devices:n,machineId:s,_getSignList:l,_getSignList1:i,handlePageChange:u,handlePageSizeChange:r,clearDevicesTimeout:c}=(0,X.r)(),{tuntap:d,_getTuntapInfo:o,handleTuntapRefresh:g,clearTuntapTimeout:p,handleTuntapEdit:v,sortTuntapIP:h}=(0,y.O)(),{_getUpdater:f,_subscribeUpdater:k,clearUpdaterTimeout:C}=(0,N.d)();(0,H.y)();(0,W.L2)();return(0,t.sV)((()=>{u(),g(),l(),i(),o(),f(),k()})),(0,t.hi)((()=>{c(),p(),C()})),{state:a,devices:n,machineId:s,handlePageChange:u,handlePageSizeChange:r,tuntap:d}}};const j=(0,w.A)(K,[["render",R],["__scopeId","data-v-3c358101"]]);var q=j,M=n(2593),V=n(81387),G={components:{Head:x,List:q,Status:M.A},setup(){document.addEventListener("contextmenu",(function(e){e.preventDefault()}));const e=(0,b.B)(),a=(0,V.rd)();return(0,t.sV)((()=>{0==e.value.hasAccess("NetManager")&&a.push({name:"NoPermission"})})),{}}};const O=(0,w.A)(G,[["render",c],["__scopeId","data-v-60d9820b"]]);var J=O}}]);

View File

@@ -0,0 +1 @@
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[52],{96271:function(e,t,n){n.d(t,{A:function(){return b}});var a=n(56768),s=n(24232);const o={class:"flex"},c={class:"flex-1"},r={class:"t-c"};function l(e,t,n,l,d,i){const u=(0,a.g2)("Sync"),m=(0,a.g2)("el-input"),h=(0,a.g2)("el-button"),v=(0,a.g2)("el-card"),f=(0,a.gN)("trim");return(0,a.uX)(),(0,a.Wv)(v,{shadow:"never"},{header:(0,a.k6)((()=>[(0,a.Lk)("div",o,[(0,a.Lk)("span",c,(0,s.v_)(e.$t("action.text")),1),l.state.isSelf?((0,a.uX)(),(0,a.Wv)(u,{key:0,name:"ActionStatic"})):(0,a.Q3)("",!0)])])),footer:(0,a.k6)((()=>[(0,a.Lk)("div",r,[(0,a.bF)(h,{type:"success",onClick:l.handleSave},{default:(0,a.k6)((()=>[(0,a.eW)((0,s.v_)(e.$t("common.confirm")),1)])),_:1},8,["onClick"])])])),default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.bo)((0,a.bF)(m,{modelValue:l.state.data,"onUpdate:modelValue":t[0]||(t[0]=e=>l.state.data=e),rows:10,type:"textarea",resize:"none",onChange:l.handleSave},null,8,["modelValue","onChange"]),[[f]])])])),_:1})}var d=n(10004);const i=e=>(0,d.zG)("action/GetServerArgs",e),u=e=>(0,d.zG)("action/SetServerArgs",e);var m=n(53830),h=n(51219),v=n(90144),f=n(35931),k=n(35377),p={props:["machineId"],components:{Sync:k.A},setup(e){const{t:t}=(0,f.s9)(),n=(0,m.B)(),s=(0,v.Kh)({data:"",machineId:e.machineId||n.value.config.Client.Id,isSelf:(0,a.EW)((()=>s.machineId==n.value.config.Client.Id))}),o=()=>{i(s.machineId).then((e=>{s.data=e}))},c=()=>{try{if(s.data&&"object"!=typeof JSON.parse(s.data))return void h.nk.error(t("action.jsonError"))}catch(e){return void h.nk.error(t("action.jsonError"))}u({Key:s.machineId,Value:s.data}).then((()=>{h.nk.success(t("common.oper"))})).catch((e=>{console.log(e),h.nk.error(t("common.operFail"))}))};return(0,a.sV)((()=>{o()})),{state:s,handleSave:c}}},g=n(71241);const I=(0,g.A)(p,[["render",l]]);var b=I},35377:function(e,t,n){n.d(t,{A:function(){return I}});var a=n(56768),s=n(24232);const o={class:"t-c"},c={class:"t-c w-100 mgt-1"};function r(e,t,n,r,l,d){const i=(0,a.g2)("Share"),u=(0,a.g2)("el-icon"),m=(0,a.g2)("el-button"),h=(0,a.g2)("el-transfer"),v=(0,a.g2)("el-dialog");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.RG)(e.$slots,"default",{},(()=>[(0,a.bF)(m,{class:"btn",size:"small",onClick:r.handleShowSync},{default:(0,a.k6)((()=>[(0,a.bF)(u,null,{default:(0,a.k6)((()=>[(0,a.bF)(i)])),_:1})])),_:1},8,["onClick"])])),(0,a.bF)(v,{class:"options-center",title:e.$t("server.sync"),"destroy-on-close":"",modelValue:r.state.showNames,"onUpdate:modelValue":t[2]||(t[2]=e=>r.state.showNames=e),width:"54rem",top:"2vh"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.Lk)("div",o,(0,s.v_)(`${e.$t("server.sync")}${e.$t(`server.async${r.state.name}`)}${e.$t("server.asyncText")}`),1),(0,a.bF)(h,{class:"src-tranfer mgt-1",modelValue:r.state.srcIdValues,"onUpdate:modelValue":t[0]||(t[0]=e=>r.state.srcIdValues=e),filterable:"","filter-method":r.srcFilterMethod,data:r.state.srcIds,titles:[e.$t("firewall.unselect"),e.$t("firewall.selected")],props:{key:"MachineId",label:"MachineName"}},null,8,["modelValue","filter-method","data","titles"]),(0,a.Lk)("div",c,[(0,a.bF)(m,{onClick:t[1]||(t[1]=e=>r.state.showNames=!1)},{default:(0,a.k6)((()=>[(0,a.eW)((0,s.v_)(e.$t("common.cancel")),1)])),_:1}),(0,a.bF)(m,{type:"primary",onClick:r.handleConfirm},{default:(0,a.k6)((()=>[(0,a.eW)((0,s.v_)(e.$t("common.confirm")),1)])),_:1},8,["onClick"])])])])),_:1},8,["title","modelValue"])])}var l=n(69299),d=n(10004);const i=e=>(0,d.zG)("sync/Sync",e);var u=n(53830),m=n(57477),h=n(51219),v=n(90144),f=n(35931),k={props:["name"],components:{Share:m.SYj},setup(e){const{t:t}=(0,f.s9)(),n=(0,u.B)(),s=(0,a.EW)((()=>n.value.hasAccess("Sync"))),o=(0,v.Kh)({name:e.name,loading:!1,showNames:!1,srcIdValues:[],srcIds:[]}),c=()=>{i({names:[e.name],ids:o.srcIdValues}).then((e=>{h.nk.success(t("common.oper")),o.showNames=!1}))},r=()=>{s.value?(o.showNames=!0,d()):h.nk.success(t("common.access"))},d=()=>{o.loading=!0,(0,l.NT)().then((e=>{o.loading=!1,o.srcIds=e})).catch((e=>{o.loading=!1}))},m=(e,t)=>t.MachineName.toLowerCase().includes(e.toLowerCase());return{state:o,handleShowSync:r,srcFilterMethod:m,handleConfirm:c}}},p=n(71241);const g=(0,p.A)(k,[["render",r]]);var I=g},5052:function(e,t,n){n.r(t),n.d(t,{default:function(){return u}});var a=n(56768);const s={class:"action-wrap"};function o(e,t,n,o,c,r){const l=(0,a.g2)("Action");return(0,a.uX)(),(0,a.CE)("div",s,[(0,a.bF)(l,{machineId:o.state.machineId},null,8,["machineId"])])}var c=n(90144),r=n(96271),l={props:["machineId"],components:{Action:r.A},setup(e){const t=(0,c.Kh)({machineId:e.machineId});return{state:t}}},d=n(71241);const i=(0,d.A)(l,[["render",o],["__scopeId","data-v-08c763b2"]]);var u=i}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[693],{87414:function(e,a,n){n.r(a),n.d(a,{default:function(){return J}});var t=n(56768);const s={class:"net-wrap app-wrap"},l={class:"inner absolute flex flex-column flex-nowrap"},i={class:"head"},u={class:"body flex-1 relative"},r={class:"status"};function c(e,a,n,c,d,o){const g=(0,t.g2)("Head"),p=(0,t.g2)("List"),v=(0,t.g2)("Status");return(0,t.uX)(),(0,t.CE)("div",s,[(0,t.Lk)("div",l,[(0,t.Lk)("div",i,[(0,t.bF)(g)]),(0,t.Lk)("div",u,[(0,t.bF)(p)]),(0,t.Lk)("div",r,[(0,t.bF)(v,{config:!1})])])])}n(44114);var d=n(24232);const o=e=>((0,t.Qi)("data-v-1cb47bd6"),e=e(),(0,t.jt)(),e),g={class:"head-wrap"},p={class:"tools flex"},v={class:"label"},h=o((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1))),f={style:{"margin-left":"1rem"}};function k(e,a,n,s,l,i){const u=(0,t.g2)("Refresh"),r=(0,t.g2)("el-icon"),c=(0,t.g2)("el-button"),o=(0,t.g2)("Background");return(0,t.uX)(),(0,t.CE)("div",g,[(0,t.Lk)("div",p,[(0,t.Lk)("span",v,"分组 : "+(0,d.v_)(s.state.group),1),h,(0,t.bF)(c,{size:"small",onClick:s.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)(" 刷新(F5)"),(0,t.bF)(r,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1})])),_:1},8,["onClick"]),(0,t.Lk)("div",f,[(0,t.bF)(o,{name:"net"})])])])}var b=n(53830),m=n(90144),C=n(57477),L=n(7199),_={components:{Edit:C.ffu,Refresh:C.C42,Background:L.A},setup(){const e=(0,b.B)(),a=(0,m.Kh)({server:(0,t.EW)((()=>e.value.config.Client.Server.Host)),group:(0,t.EW)((()=>e.value.config.Client.Group.Name))}),n=()=>{window.location.reload()};return{state:a,handleRefresh:n}}},w=n(71241);const S=(0,w.A)(_,[["render",k],["__scopeId","data-v-1cb47bd6"]]);var x=S;const F=e=>((0,t.Qi)("data-v-3c358101"),e=e(),(0,t.jt)(),e),z={class:"net-list-wrap flex flex-column absolute"},E={class:"flex-1 scrollbar"},T={class:"flex"},A=F((()=>(0,t.Lk)("div",{class:"flex-1"},null,-1))),I={class:"tuntap"},P={class:"page t-c"},B={class:"page-wrap t-c"};function R(e,a,n,s,l,i){const u=(0,t.g2)("DeviceName"),r=(0,t.g2)("UpdaterBtn"),c=(0,t.g2)("TuntapShow"),d=(0,t.g2)("el-pagination");return(0,t.uX)(),(0,t.CE)("div",z,[(0,t.Lk)("div",E,[(0,t.Lk)("ul",null,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.devices.page.List,((e,a)=>((0,t.uX)(),(0,t.CE)("li",{key:a},[(0,t.Lk)("dl",null,[(0,t.Lk)("dt",T,[(0,t.Lk)("div",null,[(0,t.bF)(u,{item:e},null,8,["item"])]),A,(0,t.Lk)("div",null,[(0,t.bF)(r,{config:!1,item:e},null,8,["item"])])]),(0,t.Lk)("dd",I,[s.tuntap.list[e.MachineId]?((0,t.uX)(),(0,t.Wv)(c,{key:0,item:e},null,8,["item"])):(0,t.Q3)("",!0)])])])))),128))])]),(0,t.Lk)("div",P,[(0,t.Lk)("div",B,[(0,t.bF)(d,{size:"small",background:"",layout:"prev,pager, next","pager-count":5,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"])])])])}var y=n(75234),X=n(54373),N=n(65304),U=n(31480),D=n(33200),Q=n(6564),W=n(73417),H=n(76978),K={components:{StarFilled:C.BQ2,UpdaterBtn:U.A,DeviceName:D.A,TuntapShow:Q.A},setup(e){(0,b.B)();const a=(0,m.Kh)({}),{devices:n,machineId:s,_getSignList:l,_getSignList1:i,handlePageChange:u,handlePageSizeChange:r,clearDevicesTimeout:c}=(0,X.r)(),{tuntap:d,_getTuntapInfo:o,handleTuntapRefresh:g,clearTuntapTimeout:p,handleTuntapEdit:v,sortTuntapIP:h}=(0,y.O)(),{_getUpdater:f,_subscribeUpdater:k,clearUpdaterTimeout:C}=(0,N.d)();(0,H.y)();(0,W.L2)();return(0,t.sV)((()=>{u(),g(),l(),i(),o(),f(),k()})),(0,t.hi)((()=>{c(),p(),C()})),{state:a,devices:n,machineId:s,handlePageChange:u,handlePageSizeChange:r,tuntap:d}}};const j=(0,w.A)(K,[["render",R],["__scopeId","data-v-3c358101"]]);var q=j,M=n(2593),V=n(81387),G={components:{Head:x,List:q,Status:M.A},setup(){document.addEventListener("contextmenu",(function(e){e.preventDefault()}));const e=(0,b.B)(),a=(0,V.rd)();return(0,t.sV)((()=>{0==e.value.hasAccess("NetManager")&&a.push({name:"NoPermission"})})),{}}};const O=(0,w.A)(G,[["render",c],["__scopeId","data-v-60d9820b"]]);var J=O}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -45,12 +45,46 @@ WantedBy=multi-user.target
``` ```
4. 执行命令 4. 执行命令
``` ```
//4、重新加载配置文件 //重新加载配置文件
systemctl daemon-reload systemctl daemon-reload
//5、启动,或者重新启动 //启动,或者重新启动
systemctl start linker systemctl start linker
systemctl restart linker systemctl restart linker
//6、设置为自启动 //设置为自启动
systemctl enable linker systemctl enable linker
``` ```
::: :::
## 3、alpine 手动 rc-service
:::tip[说明]
1. 如果运行为客户端请确保你的linux有`tuntap`模块
2. 安装依赖`apk add --no-cache libstdc++ libintl tzdata zeromq bash net-tools iproute2 numactl-dev iputils iptables dmidecode`
3. 下载linux alpine版本程序放到 `/usr/local/linker` 文件夹
4. 写配置文件 `vi /etc/init.d/linker`,内容如下
```
#!/sbin/openrc-run
name="linker"
description="linker"
command="/usr/local/linker/linker"
command_args=""
command_background=true
pidfile="/var/run/${name}.pid"
depend() {
need net
}
```
5. 执行命令
```
//给予执行权限
chmod +x /etc/init.d/linker
//启动,或者重新启动
systemctl linker start
systemctl linker restart
//设置为自启动
rc-service add linker
```
:::

View File

@@ -11,6 +11,7 @@ sidebar_position: 96
<div> <div>
- 米多贝克&米多网络工程 - 米多贝克&米多网络工程
- 旋律 * 3
- 阳阳 - 阳阳
- 谢幕____(海那边的白月光) - 谢幕____(海那边的白月光)
- swayer. - swayer.
@@ -18,7 +19,7 @@ sidebar_position: 96
- 仰望 * 2 - 仰望 * 2
- 李氏の天下 - 李氏の天下
- 小猪 - 小猪
- 菜菜(木子) * 2 - 菜菜(木子) * 3
- 杰米儿 - 杰米儿
- Oasis - Oasis
- 坦然 - 坦然

View File

@@ -14,9 +14,9 @@
<Copyright>snltty</Copyright> <Copyright>snltty</Copyright>
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebugType>full</DebugType> <DebugType>full</DebugType>

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger api access</PackageReleaseNotes> <PackageReleaseNotes>linker messenger api access</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger api action</PackageReleaseNotes> <PackageReleaseNotes>linker messenger api action</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -17,9 +17,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger api</PackageReleaseNotes> <PackageReleaseNotes>linker messenger api</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -17,9 +17,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger cdkey</PackageReleaseNotes> <PackageReleaseNotes>linker messenger cdkey</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger channel</PackageReleaseNotes> <PackageReleaseNotes>linker messenger channel</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger decenter</PackageReleaseNotes> <PackageReleaseNotes>linker messenger decenter</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger entry</PackageReleaseNotes> <PackageReleaseNotes>linker messenger entry</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger exroute</PackageReleaseNotes> <PackageReleaseNotes>linker messenger exroute</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -17,9 +17,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger firewall</PackageReleaseNotes> <PackageReleaseNotes>linker messenger firewall</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -5,6 +5,7 @@ using linker.messenger.forward.proxy;
using linker.messenger.relay.server; using linker.messenger.relay.server;
using linker.messenger.socks5; using linker.messenger.socks5;
using linker.messenger.tunnel; using linker.messenger.tunnel;
using linker.messenger.tuntap;
using linker.plugins.sforward.proxy; using linker.plugins.sforward.proxy;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
namespace linker.messenger.flow namespace linker.messenger.flow
@@ -26,9 +27,13 @@ namespace linker.messenger.flow
serviceCollection.AddSingleton<FlowSocks5>(); serviceCollection.AddSingleton<FlowSocks5>();
serviceCollection.AddSingleton<Socks5Proxy, FlowSocks5Proxy>(); serviceCollection.AddSingleton<Socks5Proxy, FlowSocks5Proxy>();
serviceCollection.AddSingleton<FlowTunnel>(); serviceCollection.AddSingleton<FlowTunnel>();
serviceCollection.AddSingleton<TuntapProxy, FlowTuntapProxy>();
serviceCollection.AddSingleton<FlowMessenger>(); serviceCollection.AddSingleton<FlowMessenger>();
serviceCollection.AddSingleton<IMessengerResolver, MessengerResolverFlow>(); serviceCollection.AddSingleton<IMessengerResolver, MessengerResolverFlow>();
serviceCollection.AddSingleton<IMessengerSender, MessengerSenderFlow>(); serviceCollection.AddSingleton<IMessengerSender, MessengerSenderFlow>();

View File

@@ -1,10 +1,31 @@
using linker.libs; using linker.libs;
using linker.libs.extends; using linker.libs.extends;
using linker.messenger.pcp;
using linker.messenger.relay.client;
using linker.messenger.signin;
using linker.messenger.tuntap;
using linker.messenger.tuntap.cidr;
using linker.tunnel;
using linker.tunnel.connection; using linker.tunnel.connection;
using System.Collections.Concurrent; using System.Collections.Concurrent;
namespace linker.messenger.flow namespace linker.messenger.flow
{ {
public sealed class FlowTuntapProxy : TuntapProxy
{
private readonly FlowTunnel flowTunnel;
public FlowTuntapProxy(FlowTunnel flowTunnel, ISignInClientStore signInClientStore, TunnelTransfer tunnelTransfer, RelayClientTransfer relayTransfer, PcpTransfer pcpTransfer,
SignInClientTransfer signInClientTransfer, IRelayClientStore relayClientStore, TuntapConfigTransfer tuntapConfigTransfer, TuntapCidrConnectionManager tuntapCidrConnectionManager, TuntapCidrDecenterManager tuntapCidrDecenterManager, TuntapCidrMapfileManager tuntapCidrMapfileManager) : base(signInClientStore, tunnelTransfer, relayTransfer, pcpTransfer, signInClientTransfer, relayClientStore, tuntapConfigTransfer, tuntapCidrConnectionManager, tuntapCidrDecenterManager, tuntapCidrMapfileManager)
{
this.flowTunnel = flowTunnel;
}
public override void Add(ITunnelConnection connection)
{
flowTunnel.Add(connection);
}
}
public sealed class FlowTunnel : IFlow public sealed class FlowTunnel : IFlow
{ {
public long ReceiveBytes { get; private set; } public long ReceiveBytes { get; private set; }

View File

@@ -17,9 +17,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger flow</PackageReleaseNotes> <PackageReleaseNotes>linker messenger flow</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
@@ -45,6 +45,7 @@
<ProjectReference Include="..\linker.messenger.signin\linker.messenger.signin.csproj" /> <ProjectReference Include="..\linker.messenger.signin\linker.messenger.signin.csproj" />
<ProjectReference Include="..\linker.messenger.socks5\linker.messenger.socks5.csproj" /> <ProjectReference Include="..\linker.messenger.socks5\linker.messenger.socks5.csproj" />
<ProjectReference Include="..\linker.messenger.tunnel\linker.messenger.tunnel.csproj" /> <ProjectReference Include="..\linker.messenger.tunnel\linker.messenger.tunnel.csproj" />
<ProjectReference Include="..\linker.messenger.tuntap\linker.messenger.tuntap.csproj" />
<ProjectReference Include="..\linker.messenger\linker.messenger.csproj" /> <ProjectReference Include="..\linker.messenger\linker.messenger.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -17,9 +17,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger forward</PackageReleaseNotes> <PackageReleaseNotes>linker messenger forward</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -17,9 +17,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger listen</PackageReleaseNotes> <PackageReleaseNotes>linker messenger listen</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger logger</PackageReleaseNotes> <PackageReleaseNotes>linker messenger logger</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -17,9 +17,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger pcp</PackageReleaseNotes> <PackageReleaseNotes>linker messenger pcp</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger plan</PackageReleaseNotes> <PackageReleaseNotes>linker messenger plan</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger remote app</PackageReleaseNotes> <PackageReleaseNotes>linker messenger remote app</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -81,7 +81,7 @@ namespace linker.messenger.relay.client.transport
SslStream sslStream = null; SslStream sslStream = null;
if (relayInfo.SSL) if (relayInfo.SSL)
{ {
sslStream = new SslStream(new NetworkStream(socket, false), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null); sslStream = new SslStream(new NetworkStream(socket, false), false, ValidateServerCertificate, null);
await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions
{ {
EnabledSslProtocols = SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, EnabledSslProtocols = SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls,
@@ -289,7 +289,7 @@ namespace linker.messenger.relay.client.transport
SslStream sslStream = null; SslStream sslStream = null;
if (relayInfo.SSL) if (relayInfo.SSL)
{ {
sslStream = new SslStream(new NetworkStream(socket, false), false); sslStream = new SslStream(new NetworkStream(socket, false), false, ValidateServerCertificate,null);
await sslStream.AuthenticateAsServerAsync(messengerStore.Certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).ConfigureAwait(false); await sslStream.AuthenticateAsServerAsync(messengerStore.Certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).ConfigureAwait(false);
} }
return new TunnelConnectionTcp return new TunnelConnectionTcp

View File

@@ -18,9 +18,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger relay</PackageReleaseNotes> <PackageReleaseNotes>linker messenger relay</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger serializer memorypack</PackageReleaseNotes> <PackageReleaseNotes>linker messenger serializer memorypack</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger sforward</PackageReleaseNotes> <PackageReleaseNotes>linker messenger sforward</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -17,9 +17,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger signin</PackageReleaseNotes> <PackageReleaseNotes>linker messenger signin</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger socks5</PackageReleaseNotes> <PackageReleaseNotes>linker messenger socks5</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger store file</PackageReleaseNotes> <PackageReleaseNotes>linker messenger store file</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -18,9 +18,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger sync</PackageReleaseNotes> <PackageReleaseNotes>linker messenger sync</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger tunnel</PackageReleaseNotes> <PackageReleaseNotes>linker messenger tunnel</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,7 +16,7 @@ namespace linker.messenger.tuntap
public void Receive(ITunnelConnection connection, ReadOnlyMemory<byte> packet); public void Receive(ITunnelConnection connection, ReadOnlyMemory<byte> packet);
} }
public sealed class TuntapProxy : channel.Channel, ITunnelConnectionReceiveCallback public class TuntapProxy : channel.Channel, ITunnelConnectionReceiveCallback
{ {
public ITuntapProxyCallback Callback { get; set; } public ITuntapProxyCallback Callback { get; set; }
protected override string TransactionId => "tuntap"; protected override string TransactionId => "tuntap";
@@ -39,6 +39,7 @@ namespace linker.messenger.tuntap
protected override void Connected(ITunnelConnection connection) protected override void Connected(ITunnelConnection connection)
{ {
Add(connection);
connection.BeginReceive(this, null); connection.BeginReceive(this, null);
if (tuntapConfigTransfer.Info.TcpMerge) if (tuntapConfigTransfer.Info.TcpMerge)
connection.StartPacketMerge(); connection.StartPacketMerge();

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger tuntap</PackageReleaseNotes> <PackageReleaseNotes>linker messenger tuntap</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger updater</PackageReleaseNotes> <PackageReleaseNotes>linker messenger updater</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger wakeup</PackageReleaseNotes> <PackageReleaseNotes>linker messenger wakeup</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -17,9 +17,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger white list</PackageReleaseNotes> <PackageReleaseNotes>linker messenger white list</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -71,7 +71,7 @@ namespace linker.messenger
public async Task BeginReceiveServer(Socket socket, Memory<byte> memory) public async Task BeginReceiveServer(Socket socket, Memory<byte> memory)
{ {
NetworkStream networkStream = new NetworkStream(socket, false); NetworkStream networkStream = new NetworkStream(socket, false);
SslStream sslStream = new SslStream(networkStream, true); SslStream sslStream = new SslStream(networkStream, true, ValidateServerCertificate,null);
try try
{ {
await sslStream.AuthenticateAsServerAsync(messengerStore.Certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).WaitAsync(TimeSpan.FromMilliseconds(5000)).ConfigureAwait(false); await sslStream.AuthenticateAsServerAsync(messengerStore.Certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).WaitAsync(TimeSpan.FromMilliseconds(5000)).ConfigureAwait(false);
@@ -136,7 +136,7 @@ namespace linker.messenger
} }
NetworkStream networkStream = new NetworkStream(socket, false); NetworkStream networkStream = new NetworkStream(socket, false);
SslStream sslStream = new SslStream(networkStream, true, new RemoteCertificateValidationCallback(ValidateServerCertificate), null); SslStream sslStream = new SslStream(networkStream, true, ValidateServerCertificate, null);
try try
{ {
await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker messenger</PackageReleaseNotes> <PackageReleaseNotes>linker messenger</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker snat</PackageReleaseNotes> <PackageReleaseNotes>linker snat</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker tun</PackageReleaseNotes> <PackageReleaseNotes>linker tun</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -16,9 +16,9 @@
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl> <PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl> <RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker tunnel</PackageReleaseNotes> <PackageReleaseNotes>linker tunnel</PackageReleaseNotes>
<Version>1.8.9</Version> <Version>1.9.0</Version>
<AssemblyVersion>1.8.9</AssemblyVersion> <AssemblyVersion>1.9.0</AssemblyVersion>
<FileVersion>1.8.9</FileVersion> <FileVersion>1.9.0</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -177,7 +177,7 @@ namespace linker.tunnel.transport
SslStream sslStream = null; SslStream sslStream = null;
if (tunnelTransportInfo.SSL) if (tunnelTransportInfo.SSL)
{ {
sslStream = new SslStream(new NetworkStream(targetSocket, false), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null); sslStream = new SslStream(new NetworkStream(targetSocket, false), false, ValidateServerCertificate, null);
await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions { await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions {
EnabledSslProtocols = SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, EnabledSslProtocols = SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls,
CertificateRevocationCheckMode = X509RevocationMode.NoCheck, CertificateRevocationCheckMode = X509RevocationMode.NoCheck,
@@ -279,7 +279,7 @@ namespace linker.tunnel.transport
return; return;
} }
sslStream = new SslStream(new NetworkStream(socket, false), false); sslStream = new SslStream(new NetworkStream(socket, false), false, ValidateServerCertificate);
await sslStream.AuthenticateAsServerAsync(certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).ConfigureAwait(false); await sslStream.AuthenticateAsServerAsync(certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).ConfigureAwait(false);
} }

View File

@@ -167,7 +167,7 @@ namespace linker.tunnel.transport
SslStream sslStream = null; SslStream sslStream = null;
if (state.SSL) if (state.SSL)
{ {
sslStream = new SslStream(new NetworkStream(socket, false), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null); sslStream = new SslStream(new NetworkStream(socket, false), false, ValidateServerCertificate, null);
await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions
{ {
EnabledSslProtocols = SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, EnabledSslProtocols = SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls,
@@ -223,7 +223,7 @@ namespace linker.tunnel.transport
return null; return null;
} }
sslStream = new SslStream(new NetworkStream(socket, false), false); sslStream = new SslStream(new NetworkStream(socket, false), false, ValidateServerCertificate);
await sslStream.AuthenticateAsServerAsync(certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).ConfigureAwait(false); await sslStream.AuthenticateAsServerAsync(certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).ConfigureAwait(false);
} }

View File

@@ -261,7 +261,7 @@ namespace linker.tunnel.transport
return null; return null;
} }
sslStream = new SslStream(new NetworkStream(socket, false), false); sslStream = new SslStream(new NetworkStream(socket, false), false, ValidateServerCertificate);
await sslStream.AuthenticateAsServerAsync(certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).ConfigureAwait(false); await sslStream.AuthenticateAsServerAsync(certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).ConfigureAwait(false);
} }
@@ -335,7 +335,7 @@ namespace linker.tunnel.transport
SslStream sslStream = null; SslStream sslStream = null;
if (tunnelTransportInfo.SSL) if (tunnelTransportInfo.SSL)
{ {
sslStream = new SslStream(new NetworkStream(targetSocket, false), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null); sslStream = new SslStream(new NetworkStream(targetSocket, false), false, ValidateServerCertificate, null);
await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions { await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions {
EnabledSslProtocols = SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, EnabledSslProtocols = SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls,
CertificateRevocationCheckMode = X509RevocationMode.NoCheck, CertificateRevocationCheckMode = X509RevocationMode.NoCheck,

View File

@@ -0,0 +1,208 @@
# Details
Date : 2025-08-01 15:19:14
Directory c:\\Users\\snltty\\Desktop\\linker\\src\\linker.web
Total : 193 files, 23974 codes, 38 comments, 1018 blanks, all 25030 lines
[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md)
## Files
| filename | language | code | comment | blank | total |
| :--- | :--- | ---: | ---: | ---: | ---: |
| [README.md](/README.md) | Markdown | 15 | 0 | 5 | 20 |
| [babel.config.js](/babel.config.js) | JavaScript | 5 | 0 | 1 | 6 |
| [jsconfig.json](/jsconfig.json) | JSON with Comments | 19 | 0 | 1 | 20 |
| [package-lock.json](/package-lock.json) | JSON | 9,999 | 0 | 1 | 10,000 |
| [package.json](/package.json) | JSON | 31 | 0 | 1 | 32 |
| [public/aliyun.svg](/public/aliyun.svg) | XML | 1 | 0 | 0 | 1 |
| [public/alpine.svg](/public/alpine.svg) | XML | 1 | 0 | 0 | 1 |
| [public/amazon.svg](/public/amazon.svg) | XML | 1 | 0 | 0 | 1 |
| [public/android.svg](/public/android.svg) | XML | 1 | 0 | 0 | 1 |
| [public/archlinux.svg](/public/archlinux.svg) | XML | 1 | 0 | 0 | 1 |
| [public/armbian.svg](/public/armbian.svg) | XML | 1 | 0 | 0 | 1 |
| [public/centos.svg](/public/centos.svg) | XML | 1 | 0 | 0 | 1 |
| [public/chinamobile.svg](/public/chinamobile.svg) | XML | 1 | 0 | 0 | 1 |
| [public/chinanet.svg](/public/chinanet.svg) | XML | 1 | 0 | 0 | 1 |
| [public/chinaunicom.svg](/public/chinaunicom.svg) | XML | 1 | 0 | 0 | 1 |
| [public/debian.svg](/public/debian.svg) | XML | 1 | 0 | 0 | 1 |
| [public/docker.svg](/public/docker.svg) | XML | 1 | 0 | 0 | 1 |
| [public/fedora.svg](/public/fedora.svg) | XML | 1 | 0 | 0 | 1 |
| [public/google.svg](/public/google.svg) | XML | 1 | 0 | 0 | 1 |
| [public/huawei.svg](/public/huawei.svg) | XML | 1 | 0 | 0 | 1 |
| [public/index.html](/public/index.html) | HTML | 23 | 1 | 3 | 27 |
| [public/ios.svg](/public/ios.svg) | XML | 1 | 0 | 0 | 1 |
| [public/iphone.svg](/public/iphone.svg) | XML | 1 | 0 | 0 | 1 |
| [public/jdcom.svg](/public/jdcom.svg) | XML | 1 | 0 | 0 | 1 |
| [public/linux.svg](/public/linux.svg) | XML | 1 | 0 | 0 | 1 |
| [public/openwrt.svg](/public/openwrt.svg) | XML | 1 | 0 | 0 | 1 |
| [public/oppo.svg](/public/oppo.svg) | XML | 1 | 0 | 0 | 1 |
| [public/rocky.svg](/public/rocky.svg) | XML | 1 | 0 | 0 | 1 |
| [public/samsung.svg](/public/samsung.svg) | XML | 1 | 0 | 0 | 1 |
| [public/system.svg](/public/system.svg) | XML | 1 | 0 | 0 | 1 |
| [public/ubuntu.svg](/public/ubuntu.svg) | XML | 1 | 0 | 0 | 1 |
| [public/vivo.svg](/public/vivo.svg) | XML | 1 | 0 | 0 | 1 |
| [public/windows.svg](/public/windows.svg) | XML | 1 | 0 | 0 | 1 |
| [public/xiaomi.svg](/public/xiaomi.svg) | XML | 1 | 0 | 0 | 1 |
| [src/App.vue](/src/App.vue) | Vue | 32 | 0 | 6 | 38 |
| [src/apis/access.js](/src/apis/access.js) | JavaScript | 13 | 0 | 1 | 14 |
| [src/apis/action.js](/src/apis/action.js) | JavaScript | 7 | 0 | 2 | 9 |
| [src/apis/cdkey.js](/src/apis/cdkey.js) | JavaScript | 25 | 0 | 1 | 26 |
| [src/apis/config.js](/src/apis/config.js) | JavaScript | 22 | 0 | 2 | 24 |
| [src/apis/firewall.js](/src/apis/firewall.js) | JavaScript | 16 | 0 | 1 | 17 |
| [src/apis/flow.js](/src/apis/flow.js) | JavaScript | 28 | 0 | 1 | 29 |
| [src/apis/forward.js](/src/apis/forward.js) | JavaScript | 28 | 0 | 2 | 30 |
| [src/apis/logger.js](/src/apis/logger.js) | JavaScript | 13 | 0 | 4 | 17 |
| [src/apis/plan.js](/src/apis/plan.js) | JavaScript | 10 | 0 | 2 | 12 |
| [src/apis/relay.js](/src/apis/relay.js) | JavaScript | 31 | 0 | 2 | 33 |
| [src/apis/request.js](/src/apis/request.js) | JavaScript | 158 | 19 | 8 | 185 |
| [src/apis/sforward.js](/src/apis/sforward.js) | JavaScript | 25 | 0 | 3 | 28 |
| [src/apis/signin.js](/src/apis/signin.js) | JavaScript | 37 | 0 | 6 | 43 |
| [src/apis/socks5.js](/src/apis/socks5.js) | JavaScript | 22 | 0 | 3 | 25 |
| [src/apis/sync.js](/src/apis/sync.js) | JavaScript | 7 | 0 | 1 | 8 |
| [src/apis/tunnel.js](/src/apis/tunnel.js) | JavaScript | 28 | 0 | 4 | 32 |
| [src/apis/tuntap.js](/src/apis/tuntap.js) | JavaScript | 46 | 0 | 7 | 53 |
| [src/apis/updater.js](/src/apis/updater.js) | JavaScript | 37 | 0 | 4 | 41 |
| [src/apis/wakeup.js](/src/apis/wakeup.js) | JavaScript | 19 | 0 | 1 | 20 |
| [src/apis/wlist.js](/src/apis/wlist.js) | JavaScript | 10 | 0 | 0 | 10 |
| [src/assets/anquan.svg](/src/assets/anquan.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/cell.svg](/src/assets/cell.svg) | XML | 5 | 0 | 0 | 5 |
| [src/assets/coin.svg](/src/assets/coin.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/dadong.svg](/src/assets/dadong.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/dianchi.svg](/src/assets/dianchi.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/fuwuqi.svg](/src/assets/fuwuqi.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/group.svg](/src/assets/group.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/loading.svg](/src/assets/loading.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/login.svg](/src/assets/login.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/no-permission.svg](/src/assets/no-permission.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/qidong.svg](/src/assets/qidong.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/rizhi.svg](/src/assets/rizhi.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/run.svg](/src/assets/run.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/shouye.svg](/src/assets/shouye.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/shuaxin2.svg](/src/assets/shuaxin2.svg) | XML | 1 | 0 | 0 | 1 |
| [src/assets/style.css](/src/assets/style.css) | PostCSS | 393 | 10 | 110 | 513 |
| [src/lang/en-us.js](/src/lang/en-us.js) | JavaScript | 315 | 0 | 29 | 344 |
| [src/lang/index.js](/src/lang/index.js) | JavaScript | 18 | 0 | 1 | 19 |
| [src/lang/provide.js](/src/lang/provide.js) | JavaScript | 19 | 0 | 0 | 19 |
| [src/lang/zh-cn.js](/src/lang/zh-cn.js) | JavaScript | 399 | 0 | 39 | 438 |
| [src/main.js](/src/main.js) | JavaScript | 68 | 0 | 9 | 77 |
| [src/provide.js](/src/provide.js) | JavaScript | 40 | 3 | 4 | 47 |
| [src/router/index.js](/src/router/index.js) | JavaScript | 61 | 0 | 4 | 65 |
| [src/views/Api.vue](/src/views/Api.vue) | Vue | 128 | 0 | 9 | 137 |
| [src/views/NoPermission.vue](/src/views/NoPermission.vue) | Vue | 41 | 0 | 5 | 46 |
| [src/views/Refresh.vue](/src/views/Refresh.vue) | Vue | 71 | 0 | 8 | 79 |
| [src/views/components/accesss/Access.vue](/src/views/components/accesss/Access.vue) | Vue | 106 | 0 | 5 | 111 |
| [src/views/components/accesss/AccessEdit.vue](/src/views/components/accesss/AccessEdit.vue) | Vue | 60 | 0 | 3 | 63 |
| [src/views/components/accesss/AccessNum.vue](/src/views/components/accesss/AccessNum.vue) | Vue | 29 | 0 | 5 | 34 |
| [src/views/components/accesss/access.js](/src/views/components/accesss/access.js) | JavaScript | 35 | 0 | 3 | 38 |
| [src/views/components/action/Action.vue](/src/views/components/action/Action.vue) | Vue | 72 | 0 | 1 | 73 |
| [src/views/components/cdkey/Add.vue](/src/views/components/cdkey/Add.vue) | Vue | 136 | 0 | 3 | 139 |
| [src/views/components/cdkey/Flags.vue](/src/views/components/cdkey/Flags.vue) | Vue | 43 | 0 | 7 | 50 |
| [src/views/components/cdkey/Index.vue](/src/views/components/cdkey/Index.vue) | Vue | 29 | 0 | 5 | 34 |
| [src/views/components/cdkey/Manager.vue](/src/views/components/cdkey/Manager.vue) | Vue | 183 | 0 | 5 | 188 |
| [src/views/components/cdkey/My.vue](/src/views/components/cdkey/My.vue) | Vue | 193 | 0 | 6 | 199 |
| [src/views/components/cdkey/Test.vue](/src/views/components/cdkey/Test.vue) | Vue | 198 | 0 | 3 | 201 |
| [src/views/components/connection/ConnectionShow.vue](/src/views/components/connection/ConnectionShow.vue) | Vue | 86 | 0 | 9 | 95 |
| [src/views/components/connection/ConnectionsEdit.vue](/src/views/components/connection/ConnectionsEdit.vue) | Vue | 281 | 0 | 13 | 294 |
| [src/views/components/connection/connections.js](/src/views/components/connection/connections.js) | JavaScript | 133 | 0 | 16 | 149 |
| [src/views/components/device/Device.vue](/src/views/components/device/Device.vue) | Vue | 75 | 0 | 7 | 82 |
| [src/views/components/device/DeviceEdit.vue](/src/views/components/device/DeviceEdit.vue) | Vue | 66 | 0 | 3 | 69 |
| [src/views/components/device/DeviceName.vue](/src/views/components/device/DeviceName.vue) | Vue | 67 | 0 | 8 | 75 |
| [src/views/components/device/devices.js](/src/views/components/device/devices.js) | JavaScript | 111 | 1 | 5 | 117 |
| [src/views/components/firewall/Add.vue](/src/views/components/firewall/Add.vue) | Vue | 210 | 0 | 11 | 221 |
| [src/views/components/firewall/Firewall.vue](/src/views/components/firewall/Firewall.vue) | Vue | 290 | 0 | 15 | 305 |
| [src/views/components/flow/Index.vue](/src/views/components/flow/Index.vue) | Vue | 184 | 0 | 17 | 201 |
| [src/views/components/flow/OnlineAllMap.vue](/src/views/components/flow/OnlineAllMap.vue) | Vue | 75 | 0 | 9 | 84 |
| [src/views/components/flow/OnlineMap.vue](/src/views/components/flow/OnlineMap.vue) | Vue | 87 | 0 | 9 | 96 |
| [src/views/components/flow/ServerFlowForward.vue](/src/views/components/flow/ServerFlowForward.vue) | Vue | 136 | 0 | 10 | 146 |
| [src/views/components/flow/ServerFlowMessenger.vue](/src/views/components/flow/ServerFlowMessenger.vue) | Vue | 111 | 0 | 12 | 123 |
| [src/views/components/flow/ServerFlowRelay.vue](/src/views/components/flow/ServerFlowRelay.vue) | Vue | 141 | 0 | 10 | 151 |
| [src/views/components/flow/ServerFlowSForward.vue](/src/views/components/flow/ServerFlowSForward.vue) | Vue | 141 | 0 | 10 | 151 |
| [src/views/components/flow/flow.js](/src/views/components/flow/flow.js) | JavaScript | 19 | 0 | 1 | 20 |
| [src/views/components/forward/Config.vue](/src/views/components/forward/Config.vue) | Vue | 38 | 0 | 3 | 41 |
| [src/views/components/forward/Forward.vue](/src/views/components/forward/Forward.vue) | Vue | 105 | 0 | 4 | 109 |
| [src/views/components/forward/ForwardEdit.vue](/src/views/components/forward/ForwardEdit.vue) | Vue | 318 | 0 | 13 | 331 |
| [src/views/components/forward/SForwardEdit.vue](/src/views/components/forward/SForwardEdit.vue) | Vue | 276 | 0 | 10 | 286 |
| [src/views/components/forward/forward.js](/src/views/components/forward/forward.js) | JavaScript | 45 | 0 | 2 | 47 |
| [src/views/components/forward/sforward.js](/src/views/components/forward/sforward.js) | JavaScript | 49 | 0 | 4 | 53 |
| [src/views/components/groups/Groups.vue](/src/views/components/groups/Groups.vue) | Vue | 157 | 3 | 5 | 165 |
| [src/views/components/groups/Index.vue](/src/views/components/groups/Index.vue) | Vue | 84 | 0 | 3 | 87 |
| [src/views/components/oper/Oper.vue](/src/views/components/oper/Oper.vue) | Vue | 187 | 0 | 28 | 215 |
| [src/views/components/oper/OperAction.vue](/src/views/components/oper/OperAction.vue) | Vue | 40 | 0 | 1 | 41 |
| [src/views/components/oper/OperFirewall.vue](/src/views/components/oper/OperFirewall.vue) | Vue | 40 | 0 | 2 | 42 |
| [src/views/components/oper/OperFlow.vue](/src/views/components/oper/OperFlow.vue) | Vue | 33 | 0 | 1 | 34 |
| [src/views/components/oper/OperRoutes.vue](/src/views/components/oper/OperRoutes.vue) | Vue | 63 | 0 | 4 | 67 |
| [src/views/components/oper/OperTransport.vue](/src/views/components/oper/OperTransport.vue) | Vue | 40 | 0 | 2 | 42 |
| [src/views/components/oper/OperWakeup.vue](/src/views/components/oper/OperWakeup.vue) | Vue | 40 | 0 | 2 | 42 |
| [src/views/components/oper/oper.js](/src/views/components/oper/oper.js) | JavaScript | 19 | 0 | 1 | 20 |
| [src/views/components/plan/PlanEdit.vue](/src/views/components/plan/PlanEdit.vue) | Vue | 277 | 0 | 9 | 286 |
| [src/views/components/plan/PlanList.vue](/src/views/components/plan/PlanList.vue) | Vue | 66 | 0 | 5 | 71 |
| [src/views/components/plan/PlanShow.vue](/src/views/components/plan/PlanShow.vue) | Vue | 90 | 0 | 7 | 97 |
| [src/views/components/relay/Config.vue](/src/views/components/relay/Config.vue) | Vue | 86 | 0 | 4 | 90 |
| [src/views/components/relay/EditNode.vue](/src/views/components/relay/EditNode.vue) | Vue | 114 | 0 | 4 | 118 |
| [src/views/components/relay/Nodes.vue](/src/views/components/relay/Nodes.vue) | Vue | 221 | 0 | 6 | 227 |
| [src/views/components/socks5/Socks5.vue](/src/views/components/socks5/Socks5.vue) | Vue | 32 | 0 | 4 | 36 |
| [src/views/components/socks5/Socks5Edit.vue](/src/views/components/socks5/Socks5Edit.vue) | Vue | 87 | 0 | 3 | 90 |
| [src/views/components/socks5/Socks5Lan.vue](/src/views/components/socks5/Socks5Lan.vue) | Vue | 146 | 0 | 5 | 151 |
| [src/views/components/socks5/Socks5Show.vue](/src/views/components/socks5/Socks5Show.vue) | Vue | 138 | 0 | 9 | 147 |
| [src/views/components/socks5/socks5.js](/src/views/components/socks5/socks5.js) | JavaScript | 58 | 0 | 6 | 64 |
| [src/views/components/status/Api.vue](/src/views/components/status/Api.vue) | Vue | 53 | 0 | 1 | 54 |
| [src/views/components/status/Export.vue](/src/views/components/status/Export.vue) | Vue | 264 | 0 | 17 | 281 |
| [src/views/components/status/Index.vue](/src/views/components/status/Index.vue) | Vue | 70 | 1 | 6 | 77 |
| [src/views/components/status/server/Flow.vue](/src/views/components/status/server/Flow.vue) | Vue | 43 | 0 | 3 | 46 |
| [src/views/components/status/server/Index.vue](/src/views/components/status/server/Index.vue) | Vue | 40 | 0 | 4 | 44 |
| [src/views/components/status/server/Version.vue](/src/views/components/status/server/Version.vue) | Vue | 151 | 0 | 11 | 162 |
| [src/views/components/stopwatch/Stopwatch.vue](/src/views/components/stopwatch/Stopwatch.vue) | Vue | 73 | 0 | 6 | 79 |
| [src/views/components/sync/Ids.vue](/src/views/components/sync/Ids.vue) | Vue | 54 | 0 | 4 | 58 |
| [src/views/components/sync/Index.vue](/src/views/components/sync/Index.vue) | Vue | 92 | 0 | 3 | 95 |
| [src/views/components/transport/Transport.vue](/src/views/components/transport/Transport.vue) | Vue | 93 | 0 | 3 | 96 |
| [src/views/components/tunnel/Tunnel.vue](/src/views/components/tunnel/Tunnel.vue) | Vue | 153 | 0 | 14 | 167 |
| [src/views/components/tunnel/TunnelEdit.vue](/src/views/components/tunnel/TunnelEdit.vue) | Vue | 124 | 0 | 6 | 130 |
| [src/views/components/tunnel/tunnel.js](/src/views/components/tunnel/tunnel.js) | JavaScript | 74 | 0 | 4 | 78 |
| [src/views/components/tuntap/Tuntap.vue](/src/views/components/tuntap/Tuntap.vue) | Vue | 30 | 0 | 3 | 33 |
| [src/views/components/tuntap/TuntapEdit.vue](/src/views/components/tuntap/TuntapEdit.vue) | Vue | 79 | 0 | 5 | 84 |
| [src/views/components/tuntap/TuntapForward.vue](/src/views/components/tuntap/TuntapForward.vue) | Vue | 191 | 0 | 10 | 201 |
| [src/views/components/tuntap/TuntapIP.vue](/src/views/components/tuntap/TuntapIP.vue) | Vue | 114 | 0 | 7 | 121 |
| [src/views/components/tuntap/TuntapLan.vue](/src/views/components/tuntap/TuntapLan.vue) | Vue | 149 | 0 | 5 | 154 |
| [src/views/components/tuntap/TuntapLease.vue](/src/views/components/tuntap/TuntapLease.vue) | Vue | 134 | 0 | 6 | 140 |
| [src/views/components/tuntap/TuntapShow.vue](/src/views/components/tuntap/TuntapShow.vue) | Vue | 177 | 0 | 12 | 189 |
| [src/views/components/tuntap/tuntap.js](/src/views/components/tuntap/tuntap.js) | JavaScript | 77 | 0 | 11 | 88 |
| [src/views/components/updater/Config.vue](/src/views/components/updater/Config.vue) | Vue | 37 | 0 | 2 | 39 |
| [src/views/components/updater/UpdaterBtn.vue](/src/views/components/updater/UpdaterBtn.vue) | Vue | 154 | 0 | 8 | 162 |
| [src/views/components/updater/UpdaterConfirm.vue](/src/views/components/updater/UpdaterConfirm.vue) | Vue | 98 | 0 | 9 | 107 |
| [src/views/components/updater/updater.js](/src/views/components/updater/updater.js) | JavaScript | 56 | 0 | 7 | 63 |
| [src/views/components/wakeup/Add.vue](/src/views/components/wakeup/Add.vue) | Vue | 216 | 0 | 6 | 222 |
| [src/views/components/wakeup/Wakeup.vue](/src/views/components/wakeup/Wakeup.vue) | Vue | 210 | 0 | 9 | 219 |
| [src/views/components/wlist/Add.vue](/src/views/components/wlist/Add.vue) | Vue | 146 | 0 | 10 | 156 |
| [src/views/components/wlist/Index.vue](/src/views/components/wlist/Index.vue) | Vue | 21 | 0 | 4 | 25 |
| [src/views/components/wlist/Manager.vue](/src/views/components/wlist/Manager.vue) | Vue | 145 | 0 | 7 | 152 |
| [src/views/layout/full/Index.vue](/src/views/layout/full/Index.vue) | Vue | 84 | 0 | 4 | 88 |
| [src/views/layout/full/action/Index.vue](/src/views/layout/full/action/Index.vue) | Vue | 25 | 0 | 0 | 25 |
| [src/views/layout/full/config/Config.vue](/src/views/layout/full/config/Config.vue) | Vue | 94 | 0 | 4 | 98 |
| [src/views/layout/full/config/Index.vue](/src/views/layout/full/config/Index.vue) | Vue | 29 | 0 | 0 | 29 |
| [src/views/layout/full/firewall/Index.vue](/src/views/layout/full/firewall/Index.vue) | Vue | 35 | 0 | 3 | 38 |
| [src/views/layout/full/head/Background.vue](/src/views/layout/full/head/Background.vue) | Vue | 80 | 0 | 6 | 86 |
| [src/views/layout/full/head/Index.vue](/src/views/layout/full/head/Index.vue) | Vue | 105 | 0 | 15 | 120 |
| [src/views/layout/full/head/Locale.vue](/src/views/layout/full/head/Locale.vue) | Vue | 58 | 0 | 5 | 63 |
| [src/views/layout/full/head/Menu.vue](/src/views/layout/full/head/Menu.vue) | Vue | 151 | 0 | 7 | 158 |
| [src/views/layout/full/head/Theme.vue](/src/views/layout/full/head/Theme.vue) | Vue | 45 | 0 | 5 | 50 |
| [src/views/layout/full/install/Client.vue](/src/views/layout/full/install/Client.vue) | Vue | 168 | 0 | 7 | 175 |
| [src/views/layout/full/install/Common.vue](/src/views/layout/full/install/Common.vue) | Vue | 51 | 0 | 6 | 57 |
| [src/views/layout/full/install/Copy.vue](/src/views/layout/full/install/Copy.vue) | Vue | 38 | 0 | 4 | 42 |
| [src/views/layout/full/install/Index.vue](/src/views/layout/full/install/Index.vue) | Vue | 38 | 0 | 3 | 41 |
| [src/views/layout/full/install/Input.vue](/src/views/layout/full/install/Input.vue) | Vue | 87 | 0 | 3 | 90 |
| [src/views/layout/full/install/Save.vue](/src/views/layout/full/install/Save.vue) | Vue | 57 | 0 | 4 | 61 |
| [src/views/layout/full/install/Server.vue](/src/views/layout/full/install/Server.vue) | Vue | 178 | 0 | 7 | 185 |
| [src/views/layout/full/list/Index.vue](/src/views/layout/full/list/Index.vue) | Vue | 230 | 0 | 29 | 259 |
| [src/views/layout/full/list/Sort.vue](/src/views/layout/full/list/Sort.vue) | Vue | 68 | 0 | 7 | 75 |
| [src/views/layout/full/logger/Index.vue](/src/views/layout/full/logger/Index.vue) | Vue | 163 | 0 | 14 | 177 |
| [src/views/layout/full/logger/Setting.vue](/src/views/layout/full/logger/Setting.vue) | Vue | 127 | 0 | 8 | 135 |
| [src/views/layout/full/transport/Index.vue](/src/views/layout/full/transport/Index.vue) | Vue | 27 | 0 | 0 | 27 |
| [src/views/layout/full/wakeup/Index.vue](/src/views/layout/full/wakeup/Index.vue) | Vue | 35 | 0 | 2 | 37 |
| [src/views/layout/net/Head.vue](/src/views/layout/net/Head.vue) | Vue | 75 | 0 | 7 | 82 |
| [src/views/layout/net/Index.vue](/src/views/layout/net/Index.vue) | Vue | 51 | 0 | 5 | 56 |
| [src/views/layout/net/List.vue](/src/views/layout/net/List.vue) | Vue | 95 | 0 | 10 | 105 |
| [vue.config.js](/vue.config.js) | JavaScript | 10 | 0 | 1 | 11 |
[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md)

View File

@@ -0,0 +1,15 @@
# Diff Details
Date : 2025-08-01 15:19:14
Directory c:\\Users\\snltty\\Desktop\\linker\\src\\linker.web
Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines
[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details
## Files
| filename | language | code | comment | blank | total |
| :--- | :--- | ---: | ---: | ---: | ---: |
[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details

View File

@@ -0,0 +1,2 @@
"filename", "language", "", "comment", "blank", "total"
"Total", "-", , 0, 0, 0
1 filename language comment blank total
2 Total - 0 0 0

View File

@@ -0,0 +1,19 @@
# Diff Summary
Date : 2025-08-01 15:19:14
Directory c:\\Users\\snltty\\Desktop\\linker\\src\\linker.web
Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines
[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md)
## Languages
| language | files | code | comment | blank | total |
| :--- | ---: | ---: | ---: | ---: | ---: |
## Directories
| path | files | code | comment | blank | total |
| :--- | ---: | ---: | ---: | ---: | ---: |
[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md)

View File

@@ -0,0 +1,22 @@
Date : 2025-08-01 15:19:14
Directory : c:\Users\snltty\Desktop\linker\src\linker.web
Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines
Languages
+----------+------------+------------+------------+------------+------------+
| language | files | code | comment | blank | total |
+----------+------------+------------+------------+------------+------------+
+----------+------------+------------+------------+------------+------------+
Directories
+------+------------+------------+------------+------------+------------+
| path | files | code | comment | blank | total |
+------+------------+------------+------------+------------+------------+
+------+------------+------------+------------+------------+------------+
Files
+----------+----------+------------+------------+------------+------------+
| filename | language | code | comment | blank | total |
+----------+----------+------------+------------+------------+------------+
| Total | | 0 | 0 | 0 | 0 |
+----------+----------+------------+------------+------------+------------+

View File

@@ -0,0 +1,195 @@
"filename", "language", "JavaScript", "Markdown", "JSON", "XML", "Vue", "HTML", "JSON with Comments", "PostCSS", "comment", "blank", "total"
"c:\Users\snltty\Desktop\linker\src\linker.web\README.md", "Markdown", 0, 15, 0, 0, 0, 0, 0, 0, 0, 5, 20
"c:\Users\snltty\Desktop\linker\src\linker.web\babel.config.js", "JavaScript", 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6
"c:\Users\snltty\Desktop\linker\src\linker.web\jsconfig.json", "JSON with Comments", 0, 0, 0, 0, 0, 0, 19, 0, 0, 1, 20
"c:\Users\snltty\Desktop\linker\src\linker.web\package-lock.json", "JSON", 0, 0, 9999, 0, 0, 0, 0, 0, 0, 1, 10000
"c:\Users\snltty\Desktop\linker\src\linker.web\package.json", "JSON", 0, 0, 31, 0, 0, 0, 0, 0, 0, 1, 32
"c:\Users\snltty\Desktop\linker\src\linker.web\public\aliyun.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\alpine.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\amazon.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\android.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\archlinux.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\armbian.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\centos.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\chinamobile.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\chinanet.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\chinaunicom.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\debian.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\docker.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\fedora.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\google.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\huawei.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\index.html", "HTML", 0, 0, 0, 0, 0, 23, 0, 0, 1, 3, 27
"c:\Users\snltty\Desktop\linker\src\linker.web\public\ios.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\iphone.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\jdcom.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\linux.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\openwrt.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\oppo.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\rocky.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\samsung.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\system.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\ubuntu.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\vivo.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\windows.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\public\xiaomi.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\App.vue", "Vue", 0, 0, 0, 0, 32, 0, 0, 0, 0, 6, 38
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\access.js", "JavaScript", 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 14
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\action.js", "JavaScript", 7, 0, 0, 0, 0, 0, 0, 0, 0, 2, 9
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\cdkey.js", "JavaScript", 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 26
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\config.js", "JavaScript", 22, 0, 0, 0, 0, 0, 0, 0, 0, 2, 24
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\firewall.js", "JavaScript", 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\flow.js", "JavaScript", 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 29
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\forward.js", "JavaScript", 28, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\logger.js", "JavaScript", 13, 0, 0, 0, 0, 0, 0, 0, 0, 4, 17
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\plan.js", "JavaScript", 10, 0, 0, 0, 0, 0, 0, 0, 0, 2, 12
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\relay.js", "JavaScript", 31, 0, 0, 0, 0, 0, 0, 0, 0, 2, 33
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\request.js", "JavaScript", 158, 0, 0, 0, 0, 0, 0, 0, 19, 8, 185
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\sforward.js", "JavaScript", 25, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\signin.js", "JavaScript", 37, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\socks5.js", "JavaScript", 22, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\sync.js", "JavaScript", 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 8
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\tunnel.js", "JavaScript", 28, 0, 0, 0, 0, 0, 0, 0, 0, 4, 32
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\tuntap.js", "JavaScript", 46, 0, 0, 0, 0, 0, 0, 0, 0, 7, 53
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\updater.js", "JavaScript", 37, 0, 0, 0, 0, 0, 0, 0, 0, 4, 41
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\wakeup.js", "JavaScript", 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\wlist.js", "JavaScript", 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\anquan.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\cell.svg", "XML", 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\coin.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\dadong.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\dianchi.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\fuwuqi.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\group.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\loading.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\login.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\no-permission.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\qidong.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\rizhi.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\run.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\shouye.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\shuaxin2.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\style.css", "PostCSS", 0, 0, 0, 0, 0, 0, 0, 393, 10, 110, 513
"c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\en-us.js", "JavaScript", 315, 0, 0, 0, 0, 0, 0, 0, 0, 29, 344
"c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\index.js", "JavaScript", 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19
"c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\provide.js", "JavaScript", 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19
"c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\zh-cn.js", "JavaScript", 399, 0, 0, 0, 0, 0, 0, 0, 0, 39, 438
"c:\Users\snltty\Desktop\linker\src\linker.web\src\main.js", "JavaScript", 68, 0, 0, 0, 0, 0, 0, 0, 0, 9, 77
"c:\Users\snltty\Desktop\linker\src\linker.web\src\provide.js", "JavaScript", 40, 0, 0, 0, 0, 0, 0, 0, 3, 4, 47
"c:\Users\snltty\Desktop\linker\src\linker.web\src\router\index.js", "JavaScript", 61, 0, 0, 0, 0, 0, 0, 0, 0, 4, 65
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\Api.vue", "Vue", 0, 0, 0, 0, 128, 0, 0, 0, 0, 9, 137
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\NoPermission.vue", "Vue", 0, 0, 0, 0, 41, 0, 0, 0, 0, 5, 46
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\Refresh.vue", "Vue", 0, 0, 0, 0, 71, 0, 0, 0, 0, 8, 79
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\Access.vue", "Vue", 0, 0, 0, 0, 106, 0, 0, 0, 0, 5, 111
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessEdit.vue", "Vue", 0, 0, 0, 0, 60, 0, 0, 0, 0, 3, 63
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessNum.vue", "Vue", 0, 0, 0, 0, 29, 0, 0, 0, 0, 5, 34
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\access.js", "JavaScript", 35, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\Action.vue", "Vue", 0, 0, 0, 0, 72, 0, 0, 0, 0, 1, 73
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Add.vue", "Vue", 0, 0, 0, 0, 136, 0, 0, 0, 0, 3, 139
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Flags.vue", "Vue", 0, 0, 0, 0, 43, 0, 0, 0, 0, 7, 50
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Index.vue", "Vue", 0, 0, 0, 0, 29, 0, 0, 0, 0, 5, 34
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Manager.vue", "Vue", 0, 0, 0, 0, 183, 0, 0, 0, 0, 5, 188
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\My.vue", "Vue", 0, 0, 0, 0, 193, 0, 0, 0, 0, 6, 199
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Test.vue", "Vue", 0, 0, 0, 0, 198, 0, 0, 0, 0, 3, 201
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\connection\ConnectionShow.vue", "Vue", 0, 0, 0, 0, 86, 0, 0, 0, 0, 9, 95
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\connection\ConnectionsEdit.vue", "Vue", 0, 0, 0, 0, 281, 0, 0, 0, 0, 13, 294
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\connection\connections.js", "JavaScript", 133, 0, 0, 0, 0, 0, 0, 0, 0, 16, 149
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\Device.vue", "Vue", 0, 0, 0, 0, 75, 0, 0, 0, 0, 7, 82
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\DeviceEdit.vue", "Vue", 0, 0, 0, 0, 66, 0, 0, 0, 0, 3, 69
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\DeviceName.vue", "Vue", 0, 0, 0, 0, 67, 0, 0, 0, 0, 8, 75
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\devices.js", "JavaScript", 111, 0, 0, 0, 0, 0, 0, 0, 1, 5, 117
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Add.vue", "Vue", 0, 0, 0, 0, 210, 0, 0, 0, 0, 11, 221
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Firewall.vue", "Vue", 0, 0, 0, 0, 290, 0, 0, 0, 0, 15, 305
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\Index.vue", "Vue", 0, 0, 0, 0, 184, 0, 0, 0, 0, 17, 201
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OnlineAllMap.vue", "Vue", 0, 0, 0, 0, 75, 0, 0, 0, 0, 9, 84
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OnlineMap.vue", "Vue", 0, 0, 0, 0, 87, 0, 0, 0, 0, 9, 96
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowForward.vue", "Vue", 0, 0, 0, 0, 136, 0, 0, 0, 0, 10, 146
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowMessenger.vue", "Vue", 0, 0, 0, 0, 111, 0, 0, 0, 0, 12, 123
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowRelay.vue", "Vue", 0, 0, 0, 0, 141, 0, 0, 0, 0, 10, 151
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowSForward.vue", "Vue", 0, 0, 0, 0, 141, 0, 0, 0, 0, 10, 151
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\flow.js", "JavaScript", 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Config.vue", "Vue", 0, 0, 0, 0, 38, 0, 0, 0, 0, 3, 41
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Forward.vue", "Vue", 0, 0, 0, 0, 105, 0, 0, 0, 0, 4, 109
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\ForwardEdit.vue", "Vue", 0, 0, 0, 0, 318, 0, 0, 0, 0, 13, 331
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\SForwardEdit.vue", "Vue", 0, 0, 0, 0, 276, 0, 0, 0, 0, 10, 286
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\forward.js", "JavaScript", 45, 0, 0, 0, 0, 0, 0, 0, 0, 2, 47
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\sforward.js", "JavaScript", 49, 0, 0, 0, 0, 0, 0, 0, 0, 4, 53
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\groups\Groups.vue", "Vue", 0, 0, 0, 0, 157, 0, 0, 0, 3, 5, 165
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\groups\Index.vue", "Vue", 0, 0, 0, 0, 84, 0, 0, 0, 0, 3, 87
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\Oper.vue", "Vue", 0, 0, 0, 0, 187, 0, 0, 0, 0, 28, 215
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperAction.vue", "Vue", 0, 0, 0, 0, 40, 0, 0, 0, 0, 1, 41
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperFirewall.vue", "Vue", 0, 0, 0, 0, 40, 0, 0, 0, 0, 2, 42
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperFlow.vue", "Vue", 0, 0, 0, 0, 33, 0, 0, 0, 0, 1, 34
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperRoutes.vue", "Vue", 0, 0, 0, 0, 63, 0, 0, 0, 0, 4, 67
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperTransport.vue", "Vue", 0, 0, 0, 0, 40, 0, 0, 0, 0, 2, 42
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperWakeup.vue", "Vue", 0, 0, 0, 0, 40, 0, 0, 0, 0, 2, 42
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\oper.js", "JavaScript", 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanEdit.vue", "Vue", 0, 0, 0, 0, 277, 0, 0, 0, 0, 9, 286
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanList.vue", "Vue", 0, 0, 0, 0, 66, 0, 0, 0, 0, 5, 71
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanShow.vue", "Vue", 0, 0, 0, 0, 90, 0, 0, 0, 0, 7, 97
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\Config.vue", "Vue", 0, 0, 0, 0, 86, 0, 0, 0, 0, 4, 90
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\EditNode.vue", "Vue", 0, 0, 0, 0, 114, 0, 0, 0, 0, 4, 118
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\Nodes.vue", "Vue", 0, 0, 0, 0, 221, 0, 0, 0, 0, 6, 227
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5.vue", "Vue", 0, 0, 0, 0, 32, 0, 0, 0, 0, 4, 36
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Edit.vue", "Vue", 0, 0, 0, 0, 87, 0, 0, 0, 0, 3, 90
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Lan.vue", "Vue", 0, 0, 0, 0, 146, 0, 0, 0, 0, 5, 151
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Show.vue", "Vue", 0, 0, 0, 0, 138, 0, 0, 0, 0, 9, 147
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\socks5.js", "JavaScript", 58, 0, 0, 0, 0, 0, 0, 0, 0, 6, 64
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Api.vue", "Vue", 0, 0, 0, 0, 53, 0, 0, 0, 0, 1, 54
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Export.vue", "Vue", 0, 0, 0, 0, 264, 0, 0, 0, 0, 17, 281
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Index.vue", "Vue", 0, 0, 0, 0, 70, 0, 0, 0, 1, 6, 77
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Flow.vue", "Vue", 0, 0, 0, 0, 43, 0, 0, 0, 0, 3, 46
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Index.vue", "Vue", 0, 0, 0, 0, 40, 0, 0, 0, 0, 4, 44
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Version.vue", "Vue", 0, 0, 0, 0, 151, 0, 0, 0, 0, 11, 162
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\stopwatch\Stopwatch.vue", "Vue", 0, 0, 0, 0, 73, 0, 0, 0, 0, 6, 79
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\sync\Ids.vue", "Vue", 0, 0, 0, 0, 54, 0, 0, 0, 0, 4, 58
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\sync\Index.vue", "Vue", 0, 0, 0, 0, 92, 0, 0, 0, 0, 3, 95
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\Transport.vue", "Vue", 0, 0, 0, 0, 93, 0, 0, 0, 0, 3, 96
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\Tunnel.vue", "Vue", 0, 0, 0, 0, 153, 0, 0, 0, 0, 14, 167
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\TunnelEdit.vue", "Vue", 0, 0, 0, 0, 124, 0, 0, 0, 0, 6, 130
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\tunnel.js", "JavaScript", 74, 0, 0, 0, 0, 0, 0, 0, 0, 4, 78
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\Tuntap.vue", "Vue", 0, 0, 0, 0, 30, 0, 0, 0, 0, 3, 33
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapEdit.vue", "Vue", 0, 0, 0, 0, 79, 0, 0, 0, 0, 5, 84
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapForward.vue", "Vue", 0, 0, 0, 0, 191, 0, 0, 0, 0, 10, 201
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapIP.vue", "Vue", 0, 0, 0, 0, 114, 0, 0, 0, 0, 7, 121
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapLan.vue", "Vue", 0, 0, 0, 0, 149, 0, 0, 0, 0, 5, 154
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapLease.vue", "Vue", 0, 0, 0, 0, 134, 0, 0, 0, 0, 6, 140
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapShow.vue", "Vue", 0, 0, 0, 0, 177, 0, 0, 0, 0, 12, 189
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\tuntap.js", "JavaScript", 77, 0, 0, 0, 0, 0, 0, 0, 0, 11, 88
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\Config.vue", "Vue", 0, 0, 0, 0, 37, 0, 0, 0, 0, 2, 39
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\UpdaterBtn.vue", "Vue", 0, 0, 0, 0, 154, 0, 0, 0, 0, 8, 162
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\UpdaterConfirm.vue", "Vue", 0, 0, 0, 0, 98, 0, 0, 0, 0, 9, 107
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\updater.js", "JavaScript", 56, 0, 0, 0, 0, 0, 0, 0, 0, 7, 63
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Add.vue", "Vue", 0, 0, 0, 0, 216, 0, 0, 0, 0, 6, 222
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Wakeup.vue", "Vue", 0, 0, 0, 0, 210, 0, 0, 0, 0, 9, 219
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Add.vue", "Vue", 0, 0, 0, 0, 146, 0, 0, 0, 0, 10, 156
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Index.vue", "Vue", 0, 0, 0, 0, 21, 0, 0, 0, 0, 4, 25
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Manager.vue", "Vue", 0, 0, 0, 0, 145, 0, 0, 0, 0, 7, 152
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\Index.vue", "Vue", 0, 0, 0, 0, 84, 0, 0, 0, 0, 4, 88
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\action\Index.vue", "Vue", 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 25
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\config\Config.vue", "Vue", 0, 0, 0, 0, 94, 0, 0, 0, 0, 4, 98
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\config\Index.vue", "Vue", 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 29
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\firewall\Index.vue", "Vue", 0, 0, 0, 0, 35, 0, 0, 0, 0, 3, 38
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Background.vue", "Vue", 0, 0, 0, 0, 80, 0, 0, 0, 0, 6, 86
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Index.vue", "Vue", 0, 0, 0, 0, 105, 0, 0, 0, 0, 15, 120
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Locale.vue", "Vue", 0, 0, 0, 0, 58, 0, 0, 0, 0, 5, 63
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Menu.vue", "Vue", 0, 0, 0, 0, 151, 0, 0, 0, 0, 7, 158
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Theme.vue", "Vue", 0, 0, 0, 0, 45, 0, 0, 0, 0, 5, 50
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Client.vue", "Vue", 0, 0, 0, 0, 168, 0, 0, 0, 0, 7, 175
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Common.vue", "Vue", 0, 0, 0, 0, 51, 0, 0, 0, 0, 6, 57
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Copy.vue", "Vue", 0, 0, 0, 0, 38, 0, 0, 0, 0, 4, 42
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Index.vue", "Vue", 0, 0, 0, 0, 38, 0, 0, 0, 0, 3, 41
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Input.vue", "Vue", 0, 0, 0, 0, 87, 0, 0, 0, 0, 3, 90
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Save.vue", "Vue", 0, 0, 0, 0, 57, 0, 0, 0, 0, 4, 61
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Server.vue", "Vue", 0, 0, 0, 0, 178, 0, 0, 0, 0, 7, 185
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\list\Index.vue", "Vue", 0, 0, 0, 0, 230, 0, 0, 0, 0, 29, 259
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\list\Sort.vue", "Vue", 0, 0, 0, 0, 68, 0, 0, 0, 0, 7, 75
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\logger\Index.vue", "Vue", 0, 0, 0, 0, 163, 0, 0, 0, 0, 14, 177
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\logger\Setting.vue", "Vue", 0, 0, 0, 0, 127, 0, 0, 0, 0, 8, 135
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\transport\Index.vue", "Vue", 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 27
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\wakeup\Index.vue", "Vue", 0, 0, 0, 0, 35, 0, 0, 0, 0, 2, 37
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\Head.vue", "Vue", 0, 0, 0, 0, 75, 0, 0, 0, 0, 7, 82
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\Index.vue", "Vue", 0, 0, 0, 0, 51, 0, 0, 0, 0, 5, 56
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\List.vue", "Vue", 0, 0, 0, 0, 95, 0, 0, 0, 0, 10, 105
"c:\Users\snltty\Desktop\linker\src\linker.web\vue.config.js", "JavaScript", 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 11
"Total", "-", 2193, 15, 10030, 47, 11254, 23, 19, 393, 38, 1018, 25030
1 filename language JavaScript Markdown JSON XML Vue HTML JSON with Comments PostCSS comment blank total
2 c:\Users\snltty\Desktop\linker\src\linker.web\README.md Markdown 0 15 0 0 0 0 0 0 0 5 20
3 c:\Users\snltty\Desktop\linker\src\linker.web\babel.config.js JavaScript 5 0 0 0 0 0 0 0 0 1 6
4 c:\Users\snltty\Desktop\linker\src\linker.web\jsconfig.json JSON with Comments 0 0 0 0 0 0 19 0 0 1 20
5 c:\Users\snltty\Desktop\linker\src\linker.web\package-lock.json JSON 0 0 9999 0 0 0 0 0 0 1 10000
6 c:\Users\snltty\Desktop\linker\src\linker.web\package.json JSON 0 0 31 0 0 0 0 0 0 1 32
7 c:\Users\snltty\Desktop\linker\src\linker.web\public\aliyun.svg XML 0 0 0 1 0 0 0 0 0 0 1
8 c:\Users\snltty\Desktop\linker\src\linker.web\public\alpine.svg XML 0 0 0 1 0 0 0 0 0 0 1
9 c:\Users\snltty\Desktop\linker\src\linker.web\public\amazon.svg XML 0 0 0 1 0 0 0 0 0 0 1
10 c:\Users\snltty\Desktop\linker\src\linker.web\public\android.svg XML 0 0 0 1 0 0 0 0 0 0 1
11 c:\Users\snltty\Desktop\linker\src\linker.web\public\archlinux.svg XML 0 0 0 1 0 0 0 0 0 0 1
12 c:\Users\snltty\Desktop\linker\src\linker.web\public\armbian.svg XML 0 0 0 1 0 0 0 0 0 0 1
13 c:\Users\snltty\Desktop\linker\src\linker.web\public\centos.svg XML 0 0 0 1 0 0 0 0 0 0 1
14 c:\Users\snltty\Desktop\linker\src\linker.web\public\chinamobile.svg XML 0 0 0 1 0 0 0 0 0 0 1
15 c:\Users\snltty\Desktop\linker\src\linker.web\public\chinanet.svg XML 0 0 0 1 0 0 0 0 0 0 1
16 c:\Users\snltty\Desktop\linker\src\linker.web\public\chinaunicom.svg XML 0 0 0 1 0 0 0 0 0 0 1
17 c:\Users\snltty\Desktop\linker\src\linker.web\public\debian.svg XML 0 0 0 1 0 0 0 0 0 0 1
18 c:\Users\snltty\Desktop\linker\src\linker.web\public\docker.svg XML 0 0 0 1 0 0 0 0 0 0 1
19 c:\Users\snltty\Desktop\linker\src\linker.web\public\fedora.svg XML 0 0 0 1 0 0 0 0 0 0 1
20 c:\Users\snltty\Desktop\linker\src\linker.web\public\google.svg XML 0 0 0 1 0 0 0 0 0 0 1
21 c:\Users\snltty\Desktop\linker\src\linker.web\public\huawei.svg XML 0 0 0 1 0 0 0 0 0 0 1
22 c:\Users\snltty\Desktop\linker\src\linker.web\public\index.html HTML 0 0 0 0 0 23 0 0 1 3 27
23 c:\Users\snltty\Desktop\linker\src\linker.web\public\ios.svg XML 0 0 0 1 0 0 0 0 0 0 1
24 c:\Users\snltty\Desktop\linker\src\linker.web\public\iphone.svg XML 0 0 0 1 0 0 0 0 0 0 1
25 c:\Users\snltty\Desktop\linker\src\linker.web\public\jdcom.svg XML 0 0 0 1 0 0 0 0 0 0 1
26 c:\Users\snltty\Desktop\linker\src\linker.web\public\linux.svg XML 0 0 0 1 0 0 0 0 0 0 1
27 c:\Users\snltty\Desktop\linker\src\linker.web\public\openwrt.svg XML 0 0 0 1 0 0 0 0 0 0 1
28 c:\Users\snltty\Desktop\linker\src\linker.web\public\oppo.svg XML 0 0 0 1 0 0 0 0 0 0 1
29 c:\Users\snltty\Desktop\linker\src\linker.web\public\rocky.svg XML 0 0 0 1 0 0 0 0 0 0 1
30 c:\Users\snltty\Desktop\linker\src\linker.web\public\samsung.svg XML 0 0 0 1 0 0 0 0 0 0 1
31 c:\Users\snltty\Desktop\linker\src\linker.web\public\system.svg XML 0 0 0 1 0 0 0 0 0 0 1
32 c:\Users\snltty\Desktop\linker\src\linker.web\public\ubuntu.svg XML 0 0 0 1 0 0 0 0 0 0 1
33 c:\Users\snltty\Desktop\linker\src\linker.web\public\vivo.svg XML 0 0 0 1 0 0 0 0 0 0 1
34 c:\Users\snltty\Desktop\linker\src\linker.web\public\windows.svg XML 0 0 0 1 0 0 0 0 0 0 1
35 c:\Users\snltty\Desktop\linker\src\linker.web\public\xiaomi.svg XML 0 0 0 1 0 0 0 0 0 0 1
36 c:\Users\snltty\Desktop\linker\src\linker.web\src\App.vue Vue 0 0 0 0 32 0 0 0 0 6 38
37 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\access.js JavaScript 13 0 0 0 0 0 0 0 0 1 14
38 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\action.js JavaScript 7 0 0 0 0 0 0 0 0 2 9
39 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\cdkey.js JavaScript 25 0 0 0 0 0 0 0 0 1 26
40 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\config.js JavaScript 22 0 0 0 0 0 0 0 0 2 24
41 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\firewall.js JavaScript 16 0 0 0 0 0 0 0 0 1 17
42 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\flow.js JavaScript 28 0 0 0 0 0 0 0 0 1 29
43 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\forward.js JavaScript 28 0 0 0 0 0 0 0 0 2 30
44 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\logger.js JavaScript 13 0 0 0 0 0 0 0 0 4 17
45 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\plan.js JavaScript 10 0 0 0 0 0 0 0 0 2 12
46 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\relay.js JavaScript 31 0 0 0 0 0 0 0 0 2 33
47 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\request.js JavaScript 158 0 0 0 0 0 0 0 19 8 185
48 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\sforward.js JavaScript 25 0 0 0 0 0 0 0 0 3 28
49 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\signin.js JavaScript 37 0 0 0 0 0 0 0 0 6 43
50 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\socks5.js JavaScript 22 0 0 0 0 0 0 0 0 3 25
51 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\sync.js JavaScript 7 0 0 0 0 0 0 0 0 1 8
52 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\tunnel.js JavaScript 28 0 0 0 0 0 0 0 0 4 32
53 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\tuntap.js JavaScript 46 0 0 0 0 0 0 0 0 7 53
54 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\updater.js JavaScript 37 0 0 0 0 0 0 0 0 4 41
55 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\wakeup.js JavaScript 19 0 0 0 0 0 0 0 0 1 20
56 c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\wlist.js JavaScript 10 0 0 0 0 0 0 0 0 0 10
57 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\anquan.svg XML 0 0 0 1 0 0 0 0 0 0 1
58 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\cell.svg XML 0 0 0 5 0 0 0 0 0 0 5
59 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\coin.svg XML 0 0 0 1 0 0 0 0 0 0 1
60 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\dadong.svg XML 0 0 0 1 0 0 0 0 0 0 1
61 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\dianchi.svg XML 0 0 0 1 0 0 0 0 0 0 1
62 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\fuwuqi.svg XML 0 0 0 1 0 0 0 0 0 0 1
63 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\group.svg XML 0 0 0 1 0 0 0 0 0 0 1
64 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\loading.svg XML 0 0 0 1 0 0 0 0 0 0 1
65 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\login.svg XML 0 0 0 1 0 0 0 0 0 0 1
66 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\no-permission.svg XML 0 0 0 1 0 0 0 0 0 0 1
67 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\qidong.svg XML 0 0 0 1 0 0 0 0 0 0 1
68 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\rizhi.svg XML 0 0 0 1 0 0 0 0 0 0 1
69 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\run.svg XML 0 0 0 1 0 0 0 0 0 0 1
70 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\shouye.svg XML 0 0 0 1 0 0 0 0 0 0 1
71 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\shuaxin2.svg XML 0 0 0 1 0 0 0 0 0 0 1
72 c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\style.css PostCSS 0 0 0 0 0 0 0 393 10 110 513
73 c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\en-us.js JavaScript 315 0 0 0 0 0 0 0 0 29 344
74 c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\index.js JavaScript 18 0 0 0 0 0 0 0 0 1 19
75 c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\provide.js JavaScript 19 0 0 0 0 0 0 0 0 0 19
76 c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\zh-cn.js JavaScript 399 0 0 0 0 0 0 0 0 39 438
77 c:\Users\snltty\Desktop\linker\src\linker.web\src\main.js JavaScript 68 0 0 0 0 0 0 0 0 9 77
78 c:\Users\snltty\Desktop\linker\src\linker.web\src\provide.js JavaScript 40 0 0 0 0 0 0 0 3 4 47
79 c:\Users\snltty\Desktop\linker\src\linker.web\src\router\index.js JavaScript 61 0 0 0 0 0 0 0 0 4 65
80 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\Api.vue Vue 0 0 0 0 128 0 0 0 0 9 137
81 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\NoPermission.vue Vue 0 0 0 0 41 0 0 0 0 5 46
82 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\Refresh.vue Vue 0 0 0 0 71 0 0 0 0 8 79
83 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\Access.vue Vue 0 0 0 0 106 0 0 0 0 5 111
84 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessEdit.vue Vue 0 0 0 0 60 0 0 0 0 3 63
85 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessNum.vue Vue 0 0 0 0 29 0 0 0 0 5 34
86 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\access.js JavaScript 35 0 0 0 0 0 0 0 0 3 38
87 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\Action.vue Vue 0 0 0 0 72 0 0 0 0 1 73
88 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Add.vue Vue 0 0 0 0 136 0 0 0 0 3 139
89 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Flags.vue Vue 0 0 0 0 43 0 0 0 0 7 50
90 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Index.vue Vue 0 0 0 0 29 0 0 0 0 5 34
91 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Manager.vue Vue 0 0 0 0 183 0 0 0 0 5 188
92 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\My.vue Vue 0 0 0 0 193 0 0 0 0 6 199
93 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Test.vue Vue 0 0 0 0 198 0 0 0 0 3 201
94 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\connection\ConnectionShow.vue Vue 0 0 0 0 86 0 0 0 0 9 95
95 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\connection\ConnectionsEdit.vue Vue 0 0 0 0 281 0 0 0 0 13 294
96 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\connection\connections.js JavaScript 133 0 0 0 0 0 0 0 0 16 149
97 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\Device.vue Vue 0 0 0 0 75 0 0 0 0 7 82
98 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\DeviceEdit.vue Vue 0 0 0 0 66 0 0 0 0 3 69
99 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\DeviceName.vue Vue 0 0 0 0 67 0 0 0 0 8 75
100 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\devices.js JavaScript 111 0 0 0 0 0 0 0 1 5 117
101 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Add.vue Vue 0 0 0 0 210 0 0 0 0 11 221
102 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Firewall.vue Vue 0 0 0 0 290 0 0 0 0 15 305
103 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\Index.vue Vue 0 0 0 0 184 0 0 0 0 17 201
104 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OnlineAllMap.vue Vue 0 0 0 0 75 0 0 0 0 9 84
105 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OnlineMap.vue Vue 0 0 0 0 87 0 0 0 0 9 96
106 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowForward.vue Vue 0 0 0 0 136 0 0 0 0 10 146
107 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowMessenger.vue Vue 0 0 0 0 111 0 0 0 0 12 123
108 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowRelay.vue Vue 0 0 0 0 141 0 0 0 0 10 151
109 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowSForward.vue Vue 0 0 0 0 141 0 0 0 0 10 151
110 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\flow.js JavaScript 19 0 0 0 0 0 0 0 0 1 20
111 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Config.vue Vue 0 0 0 0 38 0 0 0 0 3 41
112 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Forward.vue Vue 0 0 0 0 105 0 0 0 0 4 109
113 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\ForwardEdit.vue Vue 0 0 0 0 318 0 0 0 0 13 331
114 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\SForwardEdit.vue Vue 0 0 0 0 276 0 0 0 0 10 286
115 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\forward.js JavaScript 45 0 0 0 0 0 0 0 0 2 47
116 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\sforward.js JavaScript 49 0 0 0 0 0 0 0 0 4 53
117 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\groups\Groups.vue Vue 0 0 0 0 157 0 0 0 3 5 165
118 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\groups\Index.vue Vue 0 0 0 0 84 0 0 0 0 3 87
119 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\Oper.vue Vue 0 0 0 0 187 0 0 0 0 28 215
120 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperAction.vue Vue 0 0 0 0 40 0 0 0 0 1 41
121 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperFirewall.vue Vue 0 0 0 0 40 0 0 0 0 2 42
122 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperFlow.vue Vue 0 0 0 0 33 0 0 0 0 1 34
123 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperRoutes.vue Vue 0 0 0 0 63 0 0 0 0 4 67
124 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperTransport.vue Vue 0 0 0 0 40 0 0 0 0 2 42
125 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperWakeup.vue Vue 0 0 0 0 40 0 0 0 0 2 42
126 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\oper.js JavaScript 19 0 0 0 0 0 0 0 0 1 20
127 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanEdit.vue Vue 0 0 0 0 277 0 0 0 0 9 286
128 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanList.vue Vue 0 0 0 0 66 0 0 0 0 5 71
129 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanShow.vue Vue 0 0 0 0 90 0 0 0 0 7 97
130 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\Config.vue Vue 0 0 0 0 86 0 0 0 0 4 90
131 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\EditNode.vue Vue 0 0 0 0 114 0 0 0 0 4 118
132 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\Nodes.vue Vue 0 0 0 0 221 0 0 0 0 6 227
133 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5.vue Vue 0 0 0 0 32 0 0 0 0 4 36
134 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Edit.vue Vue 0 0 0 0 87 0 0 0 0 3 90
135 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Lan.vue Vue 0 0 0 0 146 0 0 0 0 5 151
136 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Show.vue Vue 0 0 0 0 138 0 0 0 0 9 147
137 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\socks5.js JavaScript 58 0 0 0 0 0 0 0 0 6 64
138 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Api.vue Vue 0 0 0 0 53 0 0 0 0 1 54
139 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Export.vue Vue 0 0 0 0 264 0 0 0 0 17 281
140 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Index.vue Vue 0 0 0 0 70 0 0 0 1 6 77
141 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Flow.vue Vue 0 0 0 0 43 0 0 0 0 3 46
142 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Index.vue Vue 0 0 0 0 40 0 0 0 0 4 44
143 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Version.vue Vue 0 0 0 0 151 0 0 0 0 11 162
144 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\stopwatch\Stopwatch.vue Vue 0 0 0 0 73 0 0 0 0 6 79
145 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\sync\Ids.vue Vue 0 0 0 0 54 0 0 0 0 4 58
146 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\sync\Index.vue Vue 0 0 0 0 92 0 0 0 0 3 95
147 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\Transport.vue Vue 0 0 0 0 93 0 0 0 0 3 96
148 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\Tunnel.vue Vue 0 0 0 0 153 0 0 0 0 14 167
149 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\TunnelEdit.vue Vue 0 0 0 0 124 0 0 0 0 6 130
150 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\tunnel.js JavaScript 74 0 0 0 0 0 0 0 0 4 78
151 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\Tuntap.vue Vue 0 0 0 0 30 0 0 0 0 3 33
152 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapEdit.vue Vue 0 0 0 0 79 0 0 0 0 5 84
153 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapForward.vue Vue 0 0 0 0 191 0 0 0 0 10 201
154 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapIP.vue Vue 0 0 0 0 114 0 0 0 0 7 121
155 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapLan.vue Vue 0 0 0 0 149 0 0 0 0 5 154
156 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapLease.vue Vue 0 0 0 0 134 0 0 0 0 6 140
157 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapShow.vue Vue 0 0 0 0 177 0 0 0 0 12 189
158 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\tuntap.js JavaScript 77 0 0 0 0 0 0 0 0 11 88
159 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\Config.vue Vue 0 0 0 0 37 0 0 0 0 2 39
160 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\UpdaterBtn.vue Vue 0 0 0 0 154 0 0 0 0 8 162
161 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\UpdaterConfirm.vue Vue 0 0 0 0 98 0 0 0 0 9 107
162 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\updater.js JavaScript 56 0 0 0 0 0 0 0 0 7 63
163 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Add.vue Vue 0 0 0 0 216 0 0 0 0 6 222
164 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Wakeup.vue Vue 0 0 0 0 210 0 0 0 0 9 219
165 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Add.vue Vue 0 0 0 0 146 0 0 0 0 10 156
166 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Index.vue Vue 0 0 0 0 21 0 0 0 0 4 25
167 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Manager.vue Vue 0 0 0 0 145 0 0 0 0 7 152
168 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\Index.vue Vue 0 0 0 0 84 0 0 0 0 4 88
169 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\action\Index.vue Vue 0 0 0 0 25 0 0 0 0 0 25
170 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\config\Config.vue Vue 0 0 0 0 94 0 0 0 0 4 98
171 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\config\Index.vue Vue 0 0 0 0 29 0 0 0 0 0 29
172 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\firewall\Index.vue Vue 0 0 0 0 35 0 0 0 0 3 38
173 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Background.vue Vue 0 0 0 0 80 0 0 0 0 6 86
174 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Index.vue Vue 0 0 0 0 105 0 0 0 0 15 120
175 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Locale.vue Vue 0 0 0 0 58 0 0 0 0 5 63
176 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Menu.vue Vue 0 0 0 0 151 0 0 0 0 7 158
177 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Theme.vue Vue 0 0 0 0 45 0 0 0 0 5 50
178 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Client.vue Vue 0 0 0 0 168 0 0 0 0 7 175
179 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Common.vue Vue 0 0 0 0 51 0 0 0 0 6 57
180 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Copy.vue Vue 0 0 0 0 38 0 0 0 0 4 42
181 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Index.vue Vue 0 0 0 0 38 0 0 0 0 3 41
182 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Input.vue Vue 0 0 0 0 87 0 0 0 0 3 90
183 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Save.vue Vue 0 0 0 0 57 0 0 0 0 4 61
184 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Server.vue Vue 0 0 0 0 178 0 0 0 0 7 185
185 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\list\Index.vue Vue 0 0 0 0 230 0 0 0 0 29 259
186 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\list\Sort.vue Vue 0 0 0 0 68 0 0 0 0 7 75
187 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\logger\Index.vue Vue 0 0 0 0 163 0 0 0 0 14 177
188 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\logger\Setting.vue Vue 0 0 0 0 127 0 0 0 0 8 135
189 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\transport\Index.vue Vue 0 0 0 0 27 0 0 0 0 0 27
190 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\wakeup\Index.vue Vue 0 0 0 0 35 0 0 0 0 2 37
191 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\Head.vue Vue 0 0 0 0 75 0 0 0 0 7 82
192 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\Index.vue Vue 0 0 0 0 51 0 0 0 0 5 56
193 c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\List.vue Vue 0 0 0 0 95 0 0 0 0 10 105
194 c:\Users\snltty\Desktop\linker\src\linker.web\vue.config.js JavaScript 10 0 0 0 0 0 0 0 0 1 11
195 Total - 2193 15 10030 47 11254 23 19 393 38 1018 25030

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,76 @@
# Summary
Date : 2025-08-01 15:19:14
Directory c:\\Users\\snltty\\Desktop\\linker\\src\\linker.web
Total : 193 files, 23974 codes, 38 comments, 1018 blanks, all 25030 lines
Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md)
## Languages
| language | files | code | comment | blank | total |
| :--- | ---: | ---: | ---: | ---: | ---: |
| Vue | 104 | 11,254 | 4 | 694 | 11,952 |
| JSON | 2 | 10,030 | 0 | 2 | 10,032 |
| JavaScript | 40 | 2,193 | 23 | 203 | 2,419 |
| PostCSS | 1 | 393 | 10 | 110 | 513 |
| XML | 43 | 47 | 0 | 0 | 47 |
| HTML | 1 | 23 | 1 | 3 | 27 |
| JSON with Comments | 1 | 19 | 0 | 1 | 20 |
| Markdown | 1 | 15 | 0 | 5 | 20 |
## Directories
| path | files | code | comment | blank | total |
| :--- | ---: | ---: | ---: | ---: | ---: |
| . | 193 | 23,974 | 38 | 1,018 | 25,030 |
| . (Files) | 6 | 10,079 | 0 | 10 | 10,089 |
| public | 29 | 51 | 1 | 3 | 55 |
| src | 158 | 13,844 | 37 | 1,005 | 14,886 |
| src (Files) | 3 | 140 | 3 | 19 | 162 |
| src\\apis | 20 | 582 | 19 | 55 | 656 |
| src\\assets | 16 | 412 | 10 | 110 | 532 |
| src\\lang | 4 | 751 | 0 | 69 | 820 |
| src\\router | 1 | 61 | 0 | 4 | 65 |
| src\\views | 114 | 11,898 | 5 | 748 | 12,651 |
| src\\views (Files) | 3 | 240 | 0 | 22 | 262 |
| src\\views\\components | 85 | 9,464 | 5 | 561 | 10,030 |
| src\\views\\components\\accesss | 4 | 230 | 0 | 16 | 246 |
| src\\views\\components\\action | 1 | 72 | 0 | 1 | 73 |
| src\\views\\components\\cdkey | 6 | 782 | 0 | 29 | 811 |
| src\\views\\components\\connection | 3 | 500 | 0 | 38 | 538 |
| src\\views\\components\\device | 4 | 319 | 1 | 23 | 343 |
| src\\views\\components\\firewall | 2 | 500 | 0 | 26 | 526 |
| src\\views\\components\\flow | 8 | 894 | 0 | 78 | 972 |
| src\\views\\components\\forward | 6 | 831 | 0 | 36 | 867 |
| src\\views\\components\\groups | 2 | 241 | 3 | 8 | 252 |
| src\\views\\components\\oper | 8 | 462 | 0 | 41 | 503 |
| src\\views\\components\\plan | 3 | 433 | 0 | 21 | 454 |
| src\\views\\components\\relay | 3 | 421 | 0 | 14 | 435 |
| src\\views\\components\\socks5 | 5 | 461 | 0 | 27 | 488 |
| src\\views\\components\\status | 6 | 621 | 1 | 42 | 664 |
| src\\views\\components\\status (Files) | 3 | 387 | 1 | 24 | 412 |
| src\\views\\components\\status\\server | 3 | 234 | 0 | 18 | 252 |
| src\\views\\components\\stopwatch | 1 | 73 | 0 | 6 | 79 |
| src\\views\\components\\sync | 2 | 146 | 0 | 7 | 153 |
| src\\views\\components\\transport | 1 | 93 | 0 | 3 | 96 |
| src\\views\\components\\tunnel | 3 | 351 | 0 | 24 | 375 |
| src\\views\\components\\tuntap | 8 | 951 | 0 | 59 | 1,010 |
| src\\views\\components\\updater | 4 | 345 | 0 | 26 | 371 |
| src\\views\\components\\wakeup | 2 | 426 | 0 | 15 | 441 |
| src\\views\\components\\wlist | 3 | 312 | 0 | 21 | 333 |
| src\\views\\layout | 26 | 2,194 | 0 | 165 | 2,359 |
| src\\views\\layout\\full | 23 | 1,973 | 0 | 143 | 2,116 |
| src\\views\\layout\\full (Files) | 1 | 84 | 0 | 4 | 88 |
| src\\views\\layout\\full\\action | 1 | 25 | 0 | 0 | 25 |
| src\\views\\layout\\full\\config | 2 | 123 | 0 | 4 | 127 |
| src\\views\\layout\\full\\firewall | 1 | 35 | 0 | 3 | 38 |
| src\\views\\layout\\full\\head | 5 | 439 | 0 | 38 | 477 |
| src\\views\\layout\\full\\install | 7 | 617 | 0 | 34 | 651 |
| src\\views\\layout\\full\\list | 2 | 298 | 0 | 36 | 334 |
| src\\views\\layout\\full\\logger | 2 | 290 | 0 | 22 | 312 |
| src\\views\\layout\\full\\transport | 1 | 27 | 0 | 0 | 27 |
| src\\views\\layout\\full\\wakeup | 1 | 35 | 0 | 2 | 37 |
| src\\views\\layout\\net | 3 | 221 | 0 | 22 | 243 |
Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md)

View File

@@ -0,0 +1,272 @@
Date : 2025-08-01 15:19:14
Directory : c:\Users\snltty\Desktop\linker\src\linker.web
Total : 193 files, 23974 codes, 38 comments, 1018 blanks, all 25030 lines
Languages
+--------------------+------------+------------+------------+------------+------------+
| language | files | code | comment | blank | total |
+--------------------+------------+------------+------------+------------+------------+
| Vue | 104 | 11,254 | 4 | 694 | 11,952 |
| JSON | 2 | 10,030 | 0 | 2 | 10,032 |
| JavaScript | 40 | 2,193 | 23 | 203 | 2,419 |
| PostCSS | 1 | 393 | 10 | 110 | 513 |
| XML | 43 | 47 | 0 | 0 | 47 |
| HTML | 1 | 23 | 1 | 3 | 27 |
| JSON with Comments | 1 | 19 | 0 | 1 | 20 |
| Markdown | 1 | 15 | 0 | 5 | 20 |
+--------------------+------------+------------+------------+------------+------------+
Directories
+---------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
| path | files | code | comment | blank | total |
+---------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
| . | 193 | 23,974 | 38 | 1,018 | 25,030 |
| . (Files) | 6 | 10,079 | 0 | 10 | 10,089 |
| public | 29 | 51 | 1 | 3 | 55 |
| src | 158 | 13,844 | 37 | 1,005 | 14,886 |
| src (Files) | 3 | 140 | 3 | 19 | 162 |
| src\apis | 20 | 582 | 19 | 55 | 656 |
| src\assets | 16 | 412 | 10 | 110 | 532 |
| src\lang | 4 | 751 | 0 | 69 | 820 |
| src\router | 1 | 61 | 0 | 4 | 65 |
| src\views | 114 | 11,898 | 5 | 748 | 12,651 |
| src\views (Files) | 3 | 240 | 0 | 22 | 262 |
| src\views\components | 85 | 9,464 | 5 | 561 | 10,030 |
| src\views\components\accesss | 4 | 230 | 0 | 16 | 246 |
| src\views\components\action | 1 | 72 | 0 | 1 | 73 |
| src\views\components\cdkey | 6 | 782 | 0 | 29 | 811 |
| src\views\components\connection | 3 | 500 | 0 | 38 | 538 |
| src\views\components\device | 4 | 319 | 1 | 23 | 343 |
| src\views\components\firewall | 2 | 500 | 0 | 26 | 526 |
| src\views\components\flow | 8 | 894 | 0 | 78 | 972 |
| src\views\components\forward | 6 | 831 | 0 | 36 | 867 |
| src\views\components\groups | 2 | 241 | 3 | 8 | 252 |
| src\views\components\oper | 8 | 462 | 0 | 41 | 503 |
| src\views\components\plan | 3 | 433 | 0 | 21 | 454 |
| src\views\components\relay | 3 | 421 | 0 | 14 | 435 |
| src\views\components\socks5 | 5 | 461 | 0 | 27 | 488 |
| src\views\components\status | 6 | 621 | 1 | 42 | 664 |
| src\views\components\status (Files) | 3 | 387 | 1 | 24 | 412 |
| src\views\components\status\server | 3 | 234 | 0 | 18 | 252 |
| src\views\components\stopwatch | 1 | 73 | 0 | 6 | 79 |
| src\views\components\sync | 2 | 146 | 0 | 7 | 153 |
| src\views\components\transport | 1 | 93 | 0 | 3 | 96 |
| src\views\components\tunnel | 3 | 351 | 0 | 24 | 375 |
| src\views\components\tuntap | 8 | 951 | 0 | 59 | 1,010 |
| src\views\components\updater | 4 | 345 | 0 | 26 | 371 |
| src\views\components\wakeup | 2 | 426 | 0 | 15 | 441 |
| src\views\components\wlist | 3 | 312 | 0 | 21 | 333 |
| src\views\layout | 26 | 2,194 | 0 | 165 | 2,359 |
| src\views\layout\full | 23 | 1,973 | 0 | 143 | 2,116 |
| src\views\layout\full (Files) | 1 | 84 | 0 | 4 | 88 |
| src\views\layout\full\action | 1 | 25 | 0 | 0 | 25 |
| src\views\layout\full\config | 2 | 123 | 0 | 4 | 127 |
| src\views\layout\full\firewall | 1 | 35 | 0 | 3 | 38 |
| src\views\layout\full\head | 5 | 439 | 0 | 38 | 477 |
| src\views\layout\full\install | 7 | 617 | 0 | 34 | 651 |
| src\views\layout\full\list | 2 | 298 | 0 | 36 | 334 |
| src\views\layout\full\logger | 2 | 290 | 0 | 22 | 312 |
| src\views\layout\full\transport | 1 | 27 | 0 | 0 | 27 |
| src\views\layout\full\wakeup | 1 | 35 | 0 | 2 | 37 |
| src\views\layout\net | 3 | 221 | 0 | 22 | 243 |
+---------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
Files
+---------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+
| filename | language | code | comment | blank | total |
+---------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+
| c:\Users\snltty\Desktop\linker\src\linker.web\README.md | Markdown | 15 | 0 | 5 | 20 |
| c:\Users\snltty\Desktop\linker\src\linker.web\babel.config.js | JavaScript | 5 | 0 | 1 | 6 |
| c:\Users\snltty\Desktop\linker\src\linker.web\jsconfig.json | JSON with Comments | 19 | 0 | 1 | 20 |
| c:\Users\snltty\Desktop\linker\src\linker.web\package-lock.json | JSON | 9,999 | 0 | 1 | 10,000 |
| c:\Users\snltty\Desktop\linker\src\linker.web\package.json | JSON | 31 | 0 | 1 | 32 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\aliyun.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\alpine.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\amazon.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\android.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\archlinux.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\armbian.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\centos.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\chinamobile.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\chinanet.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\chinaunicom.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\debian.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\docker.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\fedora.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\google.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\huawei.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\index.html | HTML | 23 | 1 | 3 | 27 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\ios.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\iphone.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\jdcom.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\linux.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\openwrt.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\oppo.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\rocky.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\samsung.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\system.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\ubuntu.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\vivo.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\windows.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\public\xiaomi.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\App.vue | Vue | 32 | 0 | 6 | 38 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\access.js | JavaScript | 13 | 0 | 1 | 14 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\action.js | JavaScript | 7 | 0 | 2 | 9 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\cdkey.js | JavaScript | 25 | 0 | 1 | 26 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\config.js | JavaScript | 22 | 0 | 2 | 24 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\firewall.js | JavaScript | 16 | 0 | 1 | 17 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\flow.js | JavaScript | 28 | 0 | 1 | 29 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\forward.js | JavaScript | 28 | 0 | 2 | 30 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\logger.js | JavaScript | 13 | 0 | 4 | 17 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\plan.js | JavaScript | 10 | 0 | 2 | 12 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\relay.js | JavaScript | 31 | 0 | 2 | 33 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\request.js | JavaScript | 158 | 19 | 8 | 185 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\sforward.js | JavaScript | 25 | 0 | 3 | 28 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\signin.js | JavaScript | 37 | 0 | 6 | 43 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\socks5.js | JavaScript | 22 | 0 | 3 | 25 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\sync.js | JavaScript | 7 | 0 | 1 | 8 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\tunnel.js | JavaScript | 28 | 0 | 4 | 32 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\tuntap.js | JavaScript | 46 | 0 | 7 | 53 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\updater.js | JavaScript | 37 | 0 | 4 | 41 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\wakeup.js | JavaScript | 19 | 0 | 1 | 20 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\wlist.js | JavaScript | 10 | 0 | 0 | 10 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\anquan.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\cell.svg | XML | 5 | 0 | 0 | 5 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\coin.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\dadong.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\dianchi.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\fuwuqi.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\group.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\loading.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\login.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\no-permission.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\qidong.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\rizhi.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\run.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\shouye.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\shuaxin2.svg | XML | 1 | 0 | 0 | 1 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\style.css | PostCSS | 393 | 10 | 110 | 513 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\en-us.js | JavaScript | 315 | 0 | 29 | 344 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\index.js | JavaScript | 18 | 0 | 1 | 19 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\provide.js | JavaScript | 19 | 0 | 0 | 19 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\zh-cn.js | JavaScript | 399 | 0 | 39 | 438 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\main.js | JavaScript | 68 | 0 | 9 | 77 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\provide.js | JavaScript | 40 | 3 | 4 | 47 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\router\index.js | JavaScript | 61 | 0 | 4 | 65 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\Api.vue | Vue | 128 | 0 | 9 | 137 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\NoPermission.vue | Vue | 41 | 0 | 5 | 46 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\Refresh.vue | Vue | 71 | 0 | 8 | 79 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\Access.vue | Vue | 106 | 0 | 5 | 111 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessEdit.vue | Vue | 60 | 0 | 3 | 63 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessNum.vue | Vue | 29 | 0 | 5 | 34 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\access.js | JavaScript | 35 | 0 | 3 | 38 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\Action.vue | Vue | 72 | 0 | 1 | 73 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Add.vue | Vue | 136 | 0 | 3 | 139 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Flags.vue | Vue | 43 | 0 | 7 | 50 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Index.vue | Vue | 29 | 0 | 5 | 34 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Manager.vue | Vue | 183 | 0 | 5 | 188 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\My.vue | Vue | 193 | 0 | 6 | 199 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\cdkey\Test.vue | Vue | 198 | 0 | 3 | 201 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\connection\ConnectionShow.vue | Vue | 86 | 0 | 9 | 95 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\connection\ConnectionsEdit.vue | Vue | 281 | 0 | 13 | 294 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\connection\connections.js | JavaScript | 133 | 0 | 16 | 149 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\Device.vue | Vue | 75 | 0 | 7 | 82 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\DeviceEdit.vue | Vue | 66 | 0 | 3 | 69 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\DeviceName.vue | Vue | 67 | 0 | 8 | 75 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\devices.js | JavaScript | 111 | 1 | 5 | 117 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Add.vue | Vue | 210 | 0 | 11 | 221 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Firewall.vue | Vue | 290 | 0 | 15 | 305 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\Index.vue | Vue | 184 | 0 | 17 | 201 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OnlineAllMap.vue | Vue | 75 | 0 | 9 | 84 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OnlineMap.vue | Vue | 87 | 0 | 9 | 96 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowForward.vue | Vue | 136 | 0 | 10 | 146 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowMessenger.vue | Vue | 111 | 0 | 12 | 123 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowRelay.vue | Vue | 141 | 0 | 10 | 151 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowSForward.vue | Vue | 141 | 0 | 10 | 151 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\flow.js | JavaScript | 19 | 0 | 1 | 20 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Config.vue | Vue | 38 | 0 | 3 | 41 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Forward.vue | Vue | 105 | 0 | 4 | 109 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\ForwardEdit.vue | Vue | 318 | 0 | 13 | 331 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\SForwardEdit.vue | Vue | 276 | 0 | 10 | 286 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\forward.js | JavaScript | 45 | 0 | 2 | 47 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\sforward.js | JavaScript | 49 | 0 | 4 | 53 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\groups\Groups.vue | Vue | 157 | 3 | 5 | 165 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\groups\Index.vue | Vue | 84 | 0 | 3 | 87 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\Oper.vue | Vue | 187 | 0 | 28 | 215 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperAction.vue | Vue | 40 | 0 | 1 | 41 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperFirewall.vue | Vue | 40 | 0 | 2 | 42 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperFlow.vue | Vue | 33 | 0 | 1 | 34 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperRoutes.vue | Vue | 63 | 0 | 4 | 67 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperTransport.vue | Vue | 40 | 0 | 2 | 42 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\OperWakeup.vue | Vue | 40 | 0 | 2 | 42 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\oper.js | JavaScript | 19 | 0 | 1 | 20 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanEdit.vue | Vue | 277 | 0 | 9 | 286 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanList.vue | Vue | 66 | 0 | 5 | 71 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanShow.vue | Vue | 90 | 0 | 7 | 97 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\Config.vue | Vue | 86 | 0 | 4 | 90 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\EditNode.vue | Vue | 114 | 0 | 4 | 118 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\Nodes.vue | Vue | 221 | 0 | 6 | 227 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5.vue | Vue | 32 | 0 | 4 | 36 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Edit.vue | Vue | 87 | 0 | 3 | 90 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Lan.vue | Vue | 146 | 0 | 5 | 151 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Show.vue | Vue | 138 | 0 | 9 | 147 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\socks5.js | JavaScript | 58 | 0 | 6 | 64 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Api.vue | Vue | 53 | 0 | 1 | 54 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Export.vue | Vue | 264 | 0 | 17 | 281 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Index.vue | Vue | 70 | 1 | 6 | 77 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Flow.vue | Vue | 43 | 0 | 3 | 46 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Index.vue | Vue | 40 | 0 | 4 | 44 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Version.vue | Vue | 151 | 0 | 11 | 162 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\stopwatch\Stopwatch.vue | Vue | 73 | 0 | 6 | 79 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\sync\Ids.vue | Vue | 54 | 0 | 4 | 58 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\sync\Index.vue | Vue | 92 | 0 | 3 | 95 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\Transport.vue | Vue | 93 | 0 | 3 | 96 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\Tunnel.vue | Vue | 153 | 0 | 14 | 167 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\TunnelEdit.vue | Vue | 124 | 0 | 6 | 130 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\tunnel.js | JavaScript | 74 | 0 | 4 | 78 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\Tuntap.vue | Vue | 30 | 0 | 3 | 33 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapEdit.vue | Vue | 79 | 0 | 5 | 84 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapForward.vue | Vue | 191 | 0 | 10 | 201 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapIP.vue | Vue | 114 | 0 | 7 | 121 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapLan.vue | Vue | 149 | 0 | 5 | 154 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapLease.vue | Vue | 134 | 0 | 6 | 140 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapShow.vue | Vue | 177 | 0 | 12 | 189 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\tuntap.js | JavaScript | 77 | 0 | 11 | 88 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\Config.vue | Vue | 37 | 0 | 2 | 39 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\UpdaterBtn.vue | Vue | 154 | 0 | 8 | 162 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\UpdaterConfirm.vue | Vue | 98 | 0 | 9 | 107 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\updater.js | JavaScript | 56 | 0 | 7 | 63 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Add.vue | Vue | 216 | 0 | 6 | 222 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Wakeup.vue | Vue | 210 | 0 | 9 | 219 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Add.vue | Vue | 146 | 0 | 10 | 156 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Index.vue | Vue | 21 | 0 | 4 | 25 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Manager.vue | Vue | 145 | 0 | 7 | 152 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\Index.vue | Vue | 84 | 0 | 4 | 88 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\action\Index.vue | Vue | 25 | 0 | 0 | 25 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\config\Config.vue | Vue | 94 | 0 | 4 | 98 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\config\Index.vue | Vue | 29 | 0 | 0 | 29 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\firewall\Index.vue | Vue | 35 | 0 | 3 | 38 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Background.vue | Vue | 80 | 0 | 6 | 86 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Index.vue | Vue | 105 | 0 | 15 | 120 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Locale.vue | Vue | 58 | 0 | 5 | 63 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Menu.vue | Vue | 151 | 0 | 7 | 158 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Theme.vue | Vue | 45 | 0 | 5 | 50 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Client.vue | Vue | 168 | 0 | 7 | 175 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Common.vue | Vue | 51 | 0 | 6 | 57 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Copy.vue | Vue | 38 | 0 | 4 | 42 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Index.vue | Vue | 38 | 0 | 3 | 41 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Input.vue | Vue | 87 | 0 | 3 | 90 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Save.vue | Vue | 57 | 0 | 4 | 61 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Server.vue | Vue | 178 | 0 | 7 | 185 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\list\Index.vue | Vue | 230 | 0 | 29 | 259 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\list\Sort.vue | Vue | 68 | 0 | 7 | 75 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\logger\Index.vue | Vue | 163 | 0 | 14 | 177 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\logger\Setting.vue | Vue | 127 | 0 | 8 | 135 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\transport\Index.vue | Vue | 27 | 0 | 0 | 27 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\wakeup\Index.vue | Vue | 35 | 0 | 2 | 37 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\Head.vue | Vue | 75 | 0 | 7 | 82 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\Index.vue | Vue | 51 | 0 | 5 | 56 |
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\List.vue | Vue | 95 | 0 | 10 | 105 |
| c:\Users\snltty\Desktop\linker\src\linker.web\vue.config.js | JavaScript | 10 | 0 | 1 | 11 |
| Total | | 23,974 | 38 | 1,018 | 25,030 |
+---------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+

View File

@@ -132,6 +132,13 @@ export default {
'status.flowForward': 'Port Forward', 'status.flowForward': 'Port Forward',
'status.flowSocks5': 'Proxy', 'status.flowSocks5': 'Proxy',
'status.flowTunnel': 'Tunnel', 'status.flowTunnel': 'Tunnel',
'status.flowMachineName': 'Source',
'status.flowTarget': 'Service',
'status.flowNum': 'Num',
'status.flowTransitionId': 'Trans',
'status.flowDirection': 'Dir',
'status.flowType': 'Type',
'status.flowMode': 'Mode',
'status.tunnelName': 'Name', 'status.tunnelName': 'Name',
'status.tunnelLabel': 'Label', 'status.tunnelLabel': 'Label',

View File

@@ -226,6 +226,13 @@ export default {
'status.flowForward': '端口转发', 'status.flowForward': '端口转发',
'status.flowSocks5': '代理', 'status.flowSocks5': '代理',
'status.flowTunnel': '隧道连接', 'status.flowTunnel': '隧道连接',
'status.flowMachineName': '来源',
'status.flowTarget': '服务',
'status.flowNum': '数量',
'status.flowTransitionId': '事务',
'status.flowDirection': '方向',
'status.flowType': '类型',
'status.flowMode': '模式',
'status.tunnelName': '名称', 'status.tunnelName': '名称',
'status.tunnelLabel': '说明', 'status.tunnelLabel': '说明',

View File

@@ -3,50 +3,50 @@ const routes = [
{ {
path: '/', path: '/',
name: 'Full', name: 'Full',
component: () => import('@/views/full/Index.vue'), component: () => import('@/views/layout/full/Index.vue'),
redirect: '/full/index.html', redirect: '/full/index.html',
children: [ children: [
{ {
path: '/full/index.html', path: '/full/index.html',
name: 'FullIndex', name: 'FullIndex',
component: () => import('@/views/full/devices/List.vue') component: () => import('@/views/layout/full/list/Index.vue')
}, },
{ {
path: '/full/servers.html', path: '/full/servers.html',
name: 'FullServers', name: 'FullServers',
component: () => import('@/views/full/server/Index.vue') component: () => import('@/views/layout/full/config/Index.vue')
}, },
{ {
path: '/full/transport.html', path: '/full/transport.html',
name: 'FullTransport', name: 'FullTransport',
component: () => import('@/views/full/transport/Index.vue') component: () => import('@/views/layout/full/transport/Index.vue')
}, },
{ {
path: '/full/action.html', path: '/full/action.html',
name: 'FullAction', name: 'FullAction',
component: () => import('@/views/full/action/Index.vue') component: () => import('@/views/layout/full/action/Index.vue')
}, },
{ {
path: '/full/firewall.html', path: '/full/firewall.html',
name: 'FullFirewall', name: 'FullFirewall',
component: () => import('@/views/full/firewall/Index.vue') component: () => import('@/views/layout/full/firewall/Index.vue')
}, },
{ {
path: '/full/wakeup.html', path: '/full/wakeup.html',
name: 'FullWakeup', name: 'FullWakeup',
component: () => import('@/views/full/wakeup/Index.vue') component: () => import('@/views/layout/full/wakeup/Index.vue')
}, },
{ {
path: '/full/logger.html', path: '/full/logger.html',
name: 'FullLogger', name: 'FullLogger',
component: () => import('@/views/full/logger/Index.vue') component: () => import('@/views/layout/full/logger/Index.vue')
} }
] ]
}, },
{ {
path: '/net/index.html', path: '/net/index.html',
name: 'Network', name: 'Network',
component: () => import('@/views/net/Index.vue') component: () => import('@/views/layout/net/Index.vue')
}, },
{ {
path: '/no-permission.html', path: '/no-permission.html',

View File

@@ -20,7 +20,7 @@
</div> </div>
</template> </template>
<script> <script>
import { computed, onMounted, reactive } from 'vue'; import { computed, onMounted, reactive } from 'vue';
import { injectGlobalData } from '@/provide'; import { injectGlobalData } from '@/provide';
import { useAccess } from './access'; import { useAccess } from './access';
export default { export default {

View File

@@ -13,7 +13,7 @@
import { setAccess } from '@/apis/access'; import { setAccess } from '@/apis/access';
import { ElMessage } from 'element-plus'; import { ElMessage } from 'element-plus';
import { reactive, ref, watch } from 'vue'; import { reactive, ref, watch } from 'vue';
import Access from '@/views/full/devices/Access.vue' import Access from './Access.vue'
export default { export default {
props: ['data','modelValue'], props: ['data','modelValue'],

Some files were not shown because too many files have changed in this diff Show More