This commit is contained in:
snltty
2025-05-08 16:01:26 +08:00
parent 9e73697c87
commit 89cbee31c7
69 changed files with 324 additions and 186 deletions

View File

@@ -57,9 +57,9 @@ jobs:
docker tag snltty/linker-musl-x64:latest 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:v1.7.7 snltty/linker-musl:amd64 snltty/linker-musl:arm64 snltty/linker-musl:arm && \
docker manifest create snltty/linker-musl:v1.7.8 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:v1.7.7 && \
docker manifest push snltty/linker-musl:v1.7.8 && \
docker pull --platform linux/arm/v7 snltty/linker-debian-arm:latest && \
docker tag snltty/linker-debian-arm:latest snltty/linker-debian:arm && \
docker push snltty/linker-debian:arm && \
@@ -70,6 +70,6 @@ jobs:
docker tag snltty/linker-debian-x64:latest 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:v1.7.7 snltty/linker-debian:amd64 snltty/linker-debian:arm64 snltty/linker-debian:arm && \
docker manifest create snltty/linker-debian:v1.7.8 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:v1.7.7
docker manifest push snltty/linker-debian:v1.7.8

View File

@@ -33,11 +33,11 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
with:
tag_name: v1.7.7
release_name: v1.7.7.${{ steps.date.outputs.today }}
tag_name: v1.7.8
release_name: v1.7.8.${{ steps.date.outputs.today }}
draft: false
prerelease: false
body: "1. 一些累计更新\r\n2. 优化ssl证书兼容安卓\r\n3. 打洞和中继优化显示loading增加手动尝试打洞\r\n5. 修改入参格式,增加虚拟网卡设置\r\n6. 修复优化了网对网路由工具\r\n7. 如果你设备很多,请尝试升级其中一个成功重启后再升级其它"
body: "1. 一些累计更新\r\n2. socks5网段映射请更新所有设备\r\n3. 修复优化入参调用\r\n4. 增加登入在线续期\r\n5. 增加虚拟网卡在线检查IP冲突检查抢占IP时更新映射表\r\n6. 如果你设备很多,请尝试升级其中一个成功重启后再升级其它"
- name: publish projects
run: ./publish.bat "C:\\Android\\android-sdk"
- name: upload-win-x86-oss
@@ -49,7 +49,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-win-x86.zip
target-path: /downloads/linker/v1.7.7/linker-win-x86.zip
target-path: /downloads/linker/v1.7.8/linker-win-x86.zip
- name: upload-win-x86
id: upload-win-x86
uses: actions/upload-release-asset@master
@@ -69,7 +69,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-win-x64.zip
target-path: /downloads/linker/v1.7.7/linker-win-x64.zip
target-path: /downloads/linker/v1.7.8/linker-win-x64.zip
- name: upload-win-x64
id: upload-win-x64
uses: actions/upload-release-asset@master
@@ -89,7 +89,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-win-arm64.zip
target-path: /downloads/linker/v1.7.7/linker-win-arm64.zip
target-path: /downloads/linker/v1.7.8/linker-win-arm64.zip
- name: upload-win-arm64
id: upload-win-arm64
uses: actions/upload-release-asset@master
@@ -109,7 +109,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-x64.zip
target-path: /downloads/linker/v1.7.7/linker-linux-x64.zip
target-path: /downloads/linker/v1.7.8/linker-linux-x64.zip
- name: upload-linux-x64
id: upload-linux-x64
uses: actions/upload-release-asset@master
@@ -129,7 +129,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-arm.zip
target-path: /downloads/linker/v1.7.7/linker-linux-arm.zip
target-path: /downloads/linker/v1.7.8/linker-linux-arm.zip
- name: upload-linux-arm
id: upload-linux-arm
uses: actions/upload-release-asset@master
@@ -149,7 +149,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-arm64.zip
target-path: /downloads/linker/v1.7.7/linker-linux-arm64.zip
target-path: /downloads/linker/v1.7.8/linker-linux-arm64.zip
- name: upload-linux-arm64
id: upload-linux-arm64
uses: actions/upload-release-asset@master
@@ -169,7 +169,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-musl-x64.zip
target-path: /downloads/linker/v1.7.7/linker-linux-musl-x64.zip
target-path: /downloads/linker/v1.7.8/linker-linux-musl-x64.zip
- name: upload-linux-musl-x64
id: upload-linux-musl-x64
uses: actions/upload-release-asset@master
@@ -189,7 +189,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-musl-arm.zip
target-path: /downloads/linker/v1.7.7/linker-linux-musl-arm.zip
target-path: /downloads/linker/v1.7.8/linker-linux-musl-arm.zip
- name: upload-linux-musl-arm
id: upload-linux-musl-arm
uses: actions/upload-release-asset@master
@@ -209,7 +209,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/publish-zip/linker-linux-musl-arm64.zip
target-path: /downloads/linker/v1.7.7/linker-linux-musl-arm64.zip
target-path: /downloads/linker/v1.7.8/linker-linux-musl-arm64.zip
- name: upload-linux-musl-arm64
id: upload-linux-musl-arm64
uses: actions/upload-release-asset@master
@@ -259,7 +259,7 @@ jobs:
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/publish-zip/linker.apk
target-path: /downloads/linker/v1.7.7/linker.apk
target-path: /downloads/linker/v1.7.8/linker.apk
- name: upload-apk
id: upload-apk
uses: actions/upload-release-asset@master

View File

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

View File

@@ -83,31 +83,31 @@ jobs:
- name: Push
run: |
dotnet nuget push ./src/linker.libs/bin/release/linker.libs.1.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.7.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.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.7.8.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{ secrets.NUGET_KEY }} --no-symbols

View File

@@ -33,16 +33,16 @@ do
fi
done
cd public/publish/docker/linux-${p}-x64/${f}
docker buildx build -f ${target}/public/publish/docker/linux-${p}-x64/${f}/Dockerfile-${p} --platform="linux/x86_64" --force-rm -t "${image}-${p}-x64:latest" -t "${image}-${p}-x64:v1.7.7" . --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.7.8" . --push
cd ../../../../../
cd public/publish/docker/linux-${p}-arm64/${f}
docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm64/${f}/Dockerfile-${p} --platform="linux/arm64" --force-rm -t "${image}-${p}-arm64:latest" -t "${image}-${p}-arm64:v1.7.7" . --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.7.8" . --push
cd ../../../../../
cd public/publish/docker/linux-${p}-arm/${f}
docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm/${f}/Dockerfile-${p} --platform="linux/arm/v7" --force-rm -t "${image}-${p}-arm:latest" -t "${image}-${p}-arm:v1.7.7" . --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.7.8" . --push
cd ../../../../../
done
done

View File

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

View File

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

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.cfba5739.js"></script><script defer="defer" src="js/app.6c05d4d4.js"></script><link href="css/chunk-vendors.d8267b33.css" rel="stylesheet"><link href="css/app.09dcc3e8.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.cfba5739.js"></script><script defer="defer" src="js/app.e11fcb1f.js"></script><link href="css/chunk-vendors.d8267b33.css" rel="stylesheet"><link href="css/app.09dcc3e8.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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -16,5 +16,7 @@ namespace linker.messenger.signin
/// <param name="secretKey"></param>
public void SetSecretKey(string secretKey);
public void SetCleanDays(int days);
public bool Exp(string id);
}
}

View File

@@ -39,18 +39,23 @@ namespace linker.messenger.signin
{
TimerHelper.SetIntervalLong(async () =>
{
if (clientSignInState.Connected == false)
try
{
try
if (clientSignInState.Connected == false)
{
await SignIn().ConfigureAwait(false);
}
catch (Exception ex)
else
{
if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
LoggerHelper.Instance.Error(ex);
await Exp().ConfigureAwait(false);
}
}
catch (Exception ex)
{
if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
LoggerHelper.Instance.Error(ex);
}
}, 10000);
}
@@ -94,7 +99,7 @@ namespace linker.messenger.signin
return;
}
if(LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
LoggerHelper.Instance.Info($"connect to signin server:{ip}");
if (await ConnectServer(ip).ConfigureAwait(false) == false)
{
@@ -254,6 +259,33 @@ namespace linker.messenger.signin
return resp.Code == MessageResponeCodes.OK && resp.Data.Span.SequenceEqual(Helper.TrueArray);
}
/// <summary>
/// 获取离线列表
/// </summary>
/// <param name="machineIds"></param>
/// <returns></returns>
public async Task<List<string>> GetOfflines(List<string> machineIds)
{
if (machineIds == null || machineIds.Count == 0)
{
return new List<string>();
}
MessageResponeInfo resp = await messengerSender.SendReply(new MessageRequestWrap
{
Connection = clientSignInState.Connection,
MessengerId = (ushort)SignInMessengerIds.Offlines,
Payload = serializer.Serialize(machineIds),
Timeout = 3000
}).ConfigureAwait(false);
if (resp.Code == MessageResponeCodes.OK)
{
return serializer.Deserialize<List<string>>(resp.Data.Span);
}
return new List<string>();
}
/// <summary>
/// 获取一个新的id
/// </summary>
@@ -274,6 +306,19 @@ namespace linker.messenger.signin
return string.Empty;
}
/// <summary>
/// 延期
/// </summary>
/// <returns></returns>
public async Task Exp()
{
await messengerSender.SendOnly(new MessageRequestWrap
{
Connection = clientSignInState.Connection,
MessengerId = (ushort)SignInMessengerIds.Exp,
}).ConfigureAwait(false);
}
/// <summary>
/// 客户端列表
/// </summary>

View File

@@ -271,6 +271,26 @@ namespace linker.messenger.signin
cache.Args.TryAdd(info.Key, info.Value);
}
}
[MessengerId((ushort)SignInMessengerIds.Offlines)]
public void Offlines(IConnection connection)
{
List<string> machineIds = serializer.Deserialize<List<string>>(connection.ReceiveRequestWrap.Payload.Span);
if (signCaching.TryGet(connection.Id, out SignCacheInfo cache))
{
List<string> offlines = signCaching.Get(cache.GroupId).Where(c => c.Connected == false).Select(c => c.MachineId).Intersect(machineIds).ToList();
connection.Write(serializer.Serialize(offlines));
return;
}
connection.Write(serializer.Serialize(new List<string>()));
}
[MessengerId((ushort)SignInMessengerIds.Exp)]
public void Exp(IConnection connection)
{
signCaching.Exp(connection.Id);
}
}
/// <summary>

View File

@@ -27,6 +27,9 @@
PushArg = 15,
Offlines = 16,
Exp = 17,
None = 99
}
}

View File

@@ -100,6 +100,7 @@ namespace linker.messenger.signin
return Clients.Values.Where(c => c.Connected == true).Select(c => c.Id);
}
public bool GetOnline(string machineId)
{
return Clients.TryGetValue(machineId, out SignCacheInfo cache) && cache.Connected;
@@ -125,6 +126,12 @@ namespace linker.messenger.signin
return signInStore.NewId();
}
public bool Exp(string machineId)
{
return signInStore.Exp(machineId);
}
private void ClearTask()
{
TimerHelper.SetIntervalLong(() =>

View File

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

View File

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

View File

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

View File

@@ -66,7 +66,9 @@ namespace linker.messenger.store.file.signIn
{
return liteCollection.Update(value);
}
public bool Exp(string id)
{
return liteCollection.UpdateMany(p => new SignCacheInfo { LastSignIn = DateTime.Now }, c => c.Id == id) > 0;
}
}
}

View File

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

View File

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

View File

@@ -139,6 +139,14 @@ namespace linker.messenger.tuntap
/// 延迟ms
/// </summary>
public int Delay { get; set; } = -1;
/// <summary>
/// 有效的
/// </summary>
public bool Available { get; set; } = true;
/// <summary>
/// 冲突
/// </summary>
public bool Exists { get; set; }
/// <summary>
/// 是否网关

View File

@@ -9,9 +9,7 @@ using linker.messenger.tuntap.lease;
using linker.messenger.tuntap.messenger;
using linker.tun;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Net;
using System.Text;
using System.Text.Json;
namespace linker.messenger.tuntap
{
@@ -72,8 +70,6 @@ namespace linker.messenger.tuntap
DecenterClientTransfer decenterClientTransfer = serviceProvider.GetService<DecenterClientTransfer>();
decenterClientTransfer.AddDecenters(new List<IDecenter> { serviceProvider.GetService<TuntapDecenter>() });
return serviceProvider;
}
private static void InportConfig(ServiceProvider serviceProvider, JsonDocument json = default)
@@ -86,13 +82,13 @@ namespace linker.messenger.tuntap
try
{
if (tuntap.TryGetProperty("IP", out JsonElement ip))
if (tuntap.TryGetProperty("IP", out JsonElement ip) && tuntap.TryGetProperty("PrefixLength", out JsonElement prefixLength))
{
tuntapClientStore.Info.IP = IPAddress.Parse(ip.GetString());
}
if (tuntap.TryGetProperty("PrefixLength", out JsonElement prefixLength))
{
tuntapClientStore.Info.PrefixLength = prefixLength.GetByte();
TuntapGroup2IPInfo tuntapGroup2IPInfo = new TuntapGroup2IPInfo { IP = tuntapClientStore.Info.IP, PrefixLength= tuntapClientStore.Info.PrefixLength };
tuntapClientStore.Info.Group2IP.AddOrUpdate(signInClientStore.Group.Id, tuntapGroup2IPInfo,(a,b)=> tuntapGroup2IPInfo);
}
if (tuntap.TryGetProperty("Lans", out JsonElement lans))
{

View File

@@ -4,6 +4,7 @@ using System.Net;
using linker.messenger.signin;
using linker.messenger.tuntap.lease;
using linker.libs.timer;
using linker.libs.extends;
namespace linker.messenger.tuntap
{

View File

@@ -5,6 +5,7 @@ using linker.messenger.signin;
using linker.messenger.exroute;
using linker.tun;
using System.Net;
using linker.libs.timer;
namespace linker.messenger.tuntap
{
@@ -30,8 +31,11 @@ namespace linker.messenger.tuntap
private readonly ExRouteTransfer exRouteTransfer;
private readonly SignInClientState signInClientState;
private readonly ISystemInformation systemInformation;
private readonly SignInClientTransfer signInClientTransfer;
public TuntapDecenter(ISignInClientStore signInClientStore, SignInClientState signInClientState, ISerializer serializer, TuntapProxy tuntapProxy, TuntapConfigTransfer tuntapConfigTransfer, TuntapTransfer tuntapTransfer, ExRouteTransfer exRouteTransfer, ISystemInformation systemInformation)
public TuntapDecenter(ISignInClientStore signInClientStore, SignInClientState signInClientState, ISerializer serializer, TuntapProxy tuntapProxy,
TuntapConfigTransfer tuntapConfigTransfer, TuntapTransfer tuntapTransfer, ExRouteTransfer exRouteTransfer, ISystemInformation systemInformation,
SignInClientTransfer signInClientTransfer)
{
this.signInClientStore = signInClientStore;
this.serializer = serializer;
@@ -41,6 +45,9 @@ namespace linker.messenger.tuntap
this.exRouteTransfer = exRouteTransfer;
this.signInClientState = signInClientState;
this.systemInformation = systemInformation;
this.signInClientTransfer = signInClientTransfer;
CheckAvailableTask();
}
public void Refresh()
@@ -79,6 +86,7 @@ namespace linker.messenger.tuntap
public void AddData(Memory<byte> data)
{
TuntapInfo info = serializer.Deserialize<TuntapInfo>(data.Span);
info.Available = true;
tuntapInfos.AddOrUpdate(info.MachineId, info, (a, b) => info);
listVersion.Increment();
}
@@ -87,6 +95,7 @@ namespace linker.messenger.tuntap
List<TuntapInfo> list = data.Select(c => serializer.Deserialize<TuntapInfo>(c.Span)).ToList();
foreach (var item in list)
{
item.Available = true;
tuntapInfos.AddOrUpdate(item.MachineId, item, (a, b) => item);
}
DataVersion.Increment();
@@ -115,7 +124,7 @@ namespace linker.messenger.tuntap
tuntapTransfer.AddRoute(_routeItems);
tuntapProxy.SetIPs(ips);
foreach (var item in Infos.Values)
foreach (var item in Infos.Values.Where(c => c.Available && c.Exists == false))
{
tuntapProxy.SetIP(item.MachineId, NetworkHelper.ToValue(item.IP));
}
@@ -137,8 +146,15 @@ namespace linker.messenger.tuntap
HashSet<uint> hashSet = new HashSet<uint>();
IPAddress wan = signInClientState.WanAddress.Address;
foreach (var item in infos.OrderBy(c => c.IP, new IPAddressComparer()).OrderByDescending(c => c.Status))
{
item.Exists = hashSet.Contains(NetworkHelper.ToValue(item.IP));
hashSet.Add(NetworkHelper.ToValue(item.IP));
}
return infos
.Where(c => c.MachineId != signInClientStore.Id)
.Where(c => c.Available && c.Exists == false)
.OrderBy(c => c.IP, new IPAddressComparer()).OrderByDescending(c => c.Status)
.Select(c =>
{
@@ -193,6 +209,32 @@ namespace linker.messenger.tuntap
};
}
private void CheckAvailableTask()
{
ulong version = listVersion.Value;
TimerHelper.SetIntervalLong(async () =>
{
if (listVersion.Eq(version, out ulong _version) == false)
{
IEnumerable<string> availables = tuntapInfos.Values.Where(c => c.Available).Select(c => c.MachineId);
if (availables.Any())
{
List<string> offlines = await signInClientTransfer.GetOfflines(availables.ToList()).ConfigureAwait(false); ;
if (offlines.Any())
{
foreach (var item in tuntapInfos.Values.Where(c => offlines.Contains(c.MachineId)))
{
item.Available = false;
}
ProcData();
}
}
}
version = _version;
}, 3000);
}
sealed class IPAddressComparer : IComparer<IPAddress>
{
public int Compare(IPAddress x, IPAddress y)

View File

@@ -114,6 +114,7 @@ namespace linker.messenger.tuntap.lease
self.LastTime = DateTime.Now;
uint networkValue = NetworkHelper.ToNetworkValue(cache.IP, cache.PrefixValue);
info.IP = NetworkHelper.ToIP(self.IP & ~cache.PrefixValue | networkValue);
self.IP = NetworkHelper.ToValue(info.IP);
return info;
}
cache.Users.Remove(self);

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<project ver="10" name="linker.tray.win" libEmbed="true" icon="..\linker\favicon.ico" ui="win" output="linker.tray.win.exe" CompanyName="snltty" FileDescription="linker.tray.win" LegalCopyright="Copyright (C) snltty 2024" ProductName="linker.tray.win" InternalName="linker.install.win" FileVersion="0.0.0.261" ProductVersion="0.0.0.261" publishDir="/dist/" dstrip="false" local="false" ignored="false">
<project ver="10" name="linker.tray.win" libEmbed="true" icon="..\linker\favicon.ico" ui="win" output="linker.tray.win.exe" CompanyName="snltty" FileDescription="linker.tray.win" LegalCopyright="Copyright (C) snltty 2024" ProductName="linker.tray.win" InternalName="linker.install.win" FileVersion="0.0.0.262" ProductVersion="0.0.0.262" publishDir="/dist/" dstrip="false" local="false" ignored="false">
<file name="main.aardio" path="main.aardio" comment="main.aardio"/>
<folder name="资源文件" path="res" embed="true" local="false" ignored="false">
<file name="favicon.ico" path="res\favicon.ico" comment="res\favicon.ico"/>

Binary file not shown.

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.cfba5739.js"></script><script defer="defer" src="js/app.6c05d4d4.js"></script><link href="css/chunk-vendors.d8267b33.css" rel="stylesheet"><link href="css/app.09dcc3e8.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.cfba5739.js"></script><script defer="defer" src="js/app.03f989a5.js"></script><link href="css/chunk-vendors.d8267b33.css" rel="stylesheet"><link href="css/app.09dcc3e8.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

@@ -1 +1 @@
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[227],{7332:function(e,n,a){a.r(n),a.d(n,{default:function(){return O}});var t=a(6768);const s={class:"net-wrap app-wrap"},l={class:"inner absolute flex flex-column flex-nowrap"},i={class:"head"},o={class:"body flex-1 relative"},c={class:"status"};function r(e,n,a,r,u,d){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",o,[(0,t.bF)(p)]),(0,t.Lk)("div",c,[(0,t.bF)(v,{config:!1})])])])}a(4114);var u=a(4232);const d=e=>((0,t.Qi)("data-v-6bfe19a3"),e=e(),(0,t.jt)(),e),g={class:"head-wrap"},p={class:"tools flex"},v={class:"label"},h=d((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1))),f={style:{"margin-left":"1rem"}};function k(e,n,a,s,l,i){const o=(0,t.g2)("Refresh"),c=(0,t.g2)("el-icon"),r=(0,t.g2)("el-button"),d=(0,t.g2)("Background");return(0,t.uX)(),(0,t.CE)("div",g,[(0,t.Lk)("div",p,[(0,t.Lk)("span",v,"分组 : "+(0,u.v_)(s.state.group),1),h,(0,t.bF)(r,{size:"small",onClick:s.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)(" 刷新(F5)"),(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(o)])),_:1})])),_:1},8,["onClick"]),(0,t.Lk)("div",f,[(0,t.bF)(d,{name:"net"})])])])}var C=a(3830),m=a(144),b=a(7477),L=a(5096),_={components:{Edit:b.ffu,Refresh:b.C42,Background:L.A},setup(){const e=(0,C.B)(),n=(0,m.Kh)({server:(0,t.EW)((()=>e.value.config.Client.Server.Host)),group:(0,t.EW)((()=>e.value.config.Client.Group.Name))}),a=()=>{window.location.reload()};return{state:n,handleRefresh:a}}},w=a(1241);const S=(0,w.A)(_,[["render",k],["__scopeId","data-v-6bfe19a3"]]);var F=S;const x=e=>((0,t.Qi)("data-v-68d1c30a"),e=e(),(0,t.jt)(),e),T={class:"net-list-wrap flex flex-column absolute"},z={class:"flex-1 scrollbar"},E={class:"flex"},A=x((()=>(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,n,a,s,l,i){const o=(0,t.g2)("DeviceName"),c=(0,t.g2)("UpdaterBtn"),r=(0,t.g2)("TuntapShow"),u=(0,t.g2)("el-pagination");return(0,t.uX)(),(0,t.CE)("div",T,[(0,t.Lk)("div",z,[(0,t.Lk)("ul",null,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.devices.page.List,((e,n)=>((0,t.uX)(),(0,t.CE)("li",{key:n},[(0,t.Lk)("dl",null,[(0,t.Lk)("dt",E,[(0,t.Lk)("div",null,[(0,t.bF)(o,{item:e},null,8,["item"])]),A,(0,t.Lk)("div",null,[(0,t.bF)(c,{config:!1,item:e},null,8,["item"])])]),(0,t.Lk)("dd",I,[s.tuntap.list[e.MachineId]?((0,t.uX)(),(0,t.Wv)(r,{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)(u,{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 D=a(8104),X=a(7985),y=a(9383),N=a(7115),U=a(263),Q=a(4109),W=a(9983),H={components:{StarFilled:b.BQ2,UpdaterBtn:N.A,DeviceName:U.A,TuntapShow:Q.A},setup(e){(0,C.B)();const n=(0,m.Kh)({}),{devices:a,machineId:s,_getSignList:l,_getSignList1:i,handleDeviceEdit:o,handlePageChange:c,handlePageSizeChange:r,handleDel:u,clearDevicesTimeout:d}=(0,X.r)(),{tuntap:g,_getTuntapInfo:p,handleTuntapRefresh:v,clearTuntapTimeout:h,handleTuntapEdit:f,sortTuntapIP:k}=(0,D.O)(),{_getUpdater:b,_subscribeUpdater:L,clearUpdaterTimeout:_}=(0,y.d)(),{connections:w,forwardConnections:S,_getForwardConnections:F,tuntapConnections:x,_getTuntapConnections:T,socks5Connections:z,_getSocks5Connections:E,handleTunnelConnections:A,clearConnectionsTimeout:I}=(0,W.L2)();return(0,t.sV)((()=>{c(),v(),l(),i(),p(),b(),L()})),(0,t.hi)((()=>{d(),h(),_()})),{state:n,devices:a,machineId:s,handlePageChange:c,handlePageSizeChange:r,tuntap:g}}};const K=(0,w.A)(H,[["render",R],["__scopeId","data-v-68d1c30a"]]);var j=K,q=a(5317),M=a(1387),V={components:{Head:F,List:j,Status:q.A},setup(){document.addEventListener("contextmenu",(function(e){e.preventDefault()}));const e=(0,C.B)(),n=(0,M.rd)();return(0,t.sV)((()=>{0==e.value.hasAccess("NetManager")&&n.push({name:"NoPermission"})})),{}}};const G=(0,w.A)(V,[["render",r],["__scopeId","data-v-6a3f3b43"]]);var O=G}}]);
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[170],{7332:function(e,n,a){a.r(n),a.d(n,{default:function(){return O}});var t=a(6768);const s={class:"net-wrap app-wrap"},l={class:"inner absolute flex flex-column flex-nowrap"},i={class:"head"},o={class:"body flex-1 relative"},c={class:"status"};function r(e,n,a,r,u,d){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",o,[(0,t.bF)(p)]),(0,t.Lk)("div",c,[(0,t.bF)(v,{config:!1})])])])}a(4114);var u=a(4232);const d=e=>((0,t.Qi)("data-v-6bfe19a3"),e=e(),(0,t.jt)(),e),g={class:"head-wrap"},p={class:"tools flex"},v={class:"label"},h=d((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1))),f={style:{"margin-left":"1rem"}};function k(e,n,a,s,l,i){const o=(0,t.g2)("Refresh"),c=(0,t.g2)("el-icon"),r=(0,t.g2)("el-button"),d=(0,t.g2)("Background");return(0,t.uX)(),(0,t.CE)("div",g,[(0,t.Lk)("div",p,[(0,t.Lk)("span",v,"分组 : "+(0,u.v_)(s.state.group),1),h,(0,t.bF)(r,{size:"small",onClick:s.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)(" 刷新(F5)"),(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(o)])),_:1})])),_:1},8,["onClick"]),(0,t.Lk)("div",f,[(0,t.bF)(d,{name:"net"})])])])}var C=a(3830),m=a(144),b=a(7477),L=a(5096),_={components:{Edit:b.ffu,Refresh:b.C42,Background:L.A},setup(){const e=(0,C.B)(),n=(0,m.Kh)({server:(0,t.EW)((()=>e.value.config.Client.Server.Host)),group:(0,t.EW)((()=>e.value.config.Client.Group.Name))}),a=()=>{window.location.reload()};return{state:n,handleRefresh:a}}},w=a(1241);const S=(0,w.A)(_,[["render",k],["__scopeId","data-v-6bfe19a3"]]);var F=S;const x=e=>((0,t.Qi)("data-v-68d1c30a"),e=e(),(0,t.jt)(),e),T={class:"net-list-wrap flex flex-column absolute"},z={class:"flex-1 scrollbar"},E={class:"flex"},A=x((()=>(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,n,a,s,l,i){const o=(0,t.g2)("DeviceName"),c=(0,t.g2)("UpdaterBtn"),r=(0,t.g2)("TuntapShow"),u=(0,t.g2)("el-pagination");return(0,t.uX)(),(0,t.CE)("div",T,[(0,t.Lk)("div",z,[(0,t.Lk)("ul",null,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.devices.page.List,((e,n)=>((0,t.uX)(),(0,t.CE)("li",{key:n},[(0,t.Lk)("dl",null,[(0,t.Lk)("dt",E,[(0,t.Lk)("div",null,[(0,t.bF)(o,{item:e},null,8,["item"])]),A,(0,t.Lk)("div",null,[(0,t.bF)(c,{config:!1,item:e},null,8,["item"])])]),(0,t.Lk)("dd",I,[s.tuntap.list[e.MachineId]?((0,t.uX)(),(0,t.Wv)(r,{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)(u,{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 D=a(8104),X=a(7985),y=a(9383),N=a(7115),U=a(263),Q=a(2263),W=a(9983),H={components:{StarFilled:b.BQ2,UpdaterBtn:N.A,DeviceName:U.A,TuntapShow:Q.A},setup(e){(0,C.B)();const n=(0,m.Kh)({}),{devices:a,machineId:s,_getSignList:l,_getSignList1:i,handleDeviceEdit:o,handlePageChange:c,handlePageSizeChange:r,handleDel:u,clearDevicesTimeout:d}=(0,X.r)(),{tuntap:g,_getTuntapInfo:p,handleTuntapRefresh:v,clearTuntapTimeout:h,handleTuntapEdit:f,sortTuntapIP:k}=(0,D.O)(),{_getUpdater:b,_subscribeUpdater:L,clearUpdaterTimeout:_}=(0,y.d)(),{connections:w,forwardConnections:S,_getForwardConnections:F,tuntapConnections:x,_getTuntapConnections:T,socks5Connections:z,_getSocks5Connections:E,handleTunnelConnections:A,clearConnectionsTimeout:I}=(0,W.L2)();return(0,t.sV)((()=>{c(),v(),l(),i(),p(),b(),L()})),(0,t.hi)((()=>{d(),h(),_()})),{state:n,devices:a,machineId:s,handlePageChange:c,handlePageSizeChange:r,tuntap:g}}};const K=(0,w.A)(H,[["render",R],["__scopeId","data-v-68d1c30a"]]);var j=K,q=a(5317),M=a(1387),V={components:{Head:F,List:j,Status:q.A},setup(){document.addEventListener("contextmenu",(function(e){e.preventDefault()}));const e=(0,C.B)(),n=(0,M.rd)();return(0,t.sV)((()=>{0==e.value.hasAccess("NetManager")&&n.push({name:"NoPermission"})})),{}}};const G=(0,w.A)(V,[["render",r],["__scopeId","data-v-6a3f3b43"]]);var O=G}}]);

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

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

View File

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

View File

@@ -7,7 +7,13 @@
<template v-if="tuntap.list[item.MachineId].SetupError">
<strong class="red" :title="tuntap.list[item.MachineId].SetupError">{{ tuntap.list[item.MachineId].IP }}</strong>
</template>
<template v-else-if="tuntap.list[item.MachineId].Upgrade && tuntap.list[item.MachineId].NatError">
<template v-else-if="tuntap.list[item.MachineId].Exists">
<strong class="red" title="IP存在冲突请使用新IP">{{ tuntap.list[item.MachineId].IP }}</strong>
</template>
<template v-else-if="tuntap.list[item.MachineId].Available == false">
<strong class="disable" title="IP不生效可能是设备不在线">{{ tuntap.list[item.MachineId].IP }}</strong>
</template>
<template v-else-if="tuntap.list[item.MachineId].NatError">
<strong class="yellow" :title="tuntap.list[item.MachineId].NatError">{{ tuntap.list[item.MachineId].IP }}</strong>
</template>
<template v-else-if="tuntap.list[item.MachineId].AppNat && tuntap.list[item.MachineId].running">

View File

@@ -21,18 +21,18 @@
<Authors>snltty</Authors>
<Company>snltty</Company>
<Description>1. 一些累计更新
2. 优化ssl证书兼容安卓
3. 打洞和中继优化显示loading增加手动尝试打洞
5. 修改入参格式,增加虚拟网卡设置
6. 修复优化了网对网路由工具
7. 如果你设备很多,请尝试升级其中一个成功重启后再升级其它</Description>
2. socks5网段映射请更新所有设备
3. 修复优化入参调用
4. 增加登入在线续期
5. 增加虚拟网卡在线检查IP冲突检查抢占IP时更新映射表
6. 如果你设备很多,请尝试升级其中一个成功重启后再升级其它</Description>
<Copyright>snltty</Copyright>
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
<PackageReleaseNotes>linker</PackageReleaseNotes>
<Version>1.7.7</Version>
<AssemblyVersion>1.7.7</AssemblyVersion>
<FileVersion>1.7.7</FileVersion>
<Version>1.7.8</Version>
<AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.8</FileVersion>
<DelaySign>False</DelaySign>
</PropertyGroup>

View File

@@ -1,8 +1,8 @@
v1.7.7
2025-05-07 23:25:01
v1.7.8
2025-05-08 16:01:26
1. 一些累计更新
2. 优化ssl证书兼容安卓
3. 打洞和中继优化显示loading增加手动尝试打洞
5. 修改入参格式,增加虚拟网卡设置
6. 修复优化了网对网路由工具
7. 如果你设备很多,请尝试升级其中一个成功重启后再升级其它
2. socks5网段映射请更新所有设备
3. 修复优化入参调用
4. 增加登入在线续期
5. 增加虚拟网卡在线检查IP冲突检查抢占IP时更新映射表
6. 如果你设备很多,请尝试升级其中一个成功重启后再升级其它