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 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.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: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 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,6 +70,6 @@ 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.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: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: env:
GITHUB_TOKEN: ${{ secrets.ACTIONS_TOKEN }} GITHUB_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
with: with:
tag_name: v1.7.7 tag_name: v1.7.8
release_name: v1.7.7.${{ steps.date.outputs.today }} release_name: v1.7.8.${{ steps.date.outputs.today }}
draft: false draft: false
prerelease: 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 - 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.7.7/linker-win-x86.zip target-path: /downloads/linker/v1.7.8/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.7.7/linker-win-x64.zip target-path: /downloads/linker/v1.7.8/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.7.7/linker-win-arm64.zip target-path: /downloads/linker/v1.7.8/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.7.7/linker-linux-x64.zip target-path: /downloads/linker/v1.7.8/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.7.7/linker-linux-arm.zip target-path: /downloads/linker/v1.7.8/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.7.7/linker-linux-arm64.zip target-path: /downloads/linker/v1.7.8/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.7.7/linker-linux-musl-x64.zip target-path: /downloads/linker/v1.7.8/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.7.7/linker-linux-musl-arm.zip target-path: /downloads/linker/v1.7.8/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.7.7/linker-linux-musl-arm64.zip target-path: /downloads/linker/v1.7.8/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.7.7/linker.apk target-path: /downloads/linker/v1.7.8/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.7.7/linker-x64.ipk target-path: /downloads/linker/v1.7.8/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.7.7/linker-arm.ipk target-path: /downloads/linker/v1.7.8/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.7.7/linker-arm64.ipk target-path: /downloads/linker/v1.7.8/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

@@ -83,31 +83,31 @@ jobs:
- name: Push - name: Push
run: | 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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 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.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 ../../../../../
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.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 ../../../../../
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.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 ../../../../../ 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.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}/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.7.7</Version> <Version>1.7.8</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.7.7</ApplicationDisplayVersion> <ApplicationDisplayVersion>1.7.8</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

@@ -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> <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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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 flow</PackageReleaseNotes> <PackageReleaseNotes>linker messenger flow</PackageReleaseNotes>
<Version>1.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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 forward</PackageReleaseNotes> <PackageReleaseNotes>linker messenger forward</PackageReleaseNotes>
<Version>1.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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 relay</PackageReleaseNotes> <PackageReleaseNotes>linker messenger relay</PackageReleaseNotes>
<Version>1.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

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

View File

@@ -38,19 +38,24 @@ namespace linker.messenger.signin
public void SignInTask() public void SignInTask()
{ {
TimerHelper.SetIntervalLong(async () => TimerHelper.SetIntervalLong(async () =>
{
if (clientSignInState.Connected == false)
{ {
try try
{
if (clientSignInState.Connected == false)
{ {
await SignIn().ConfigureAwait(false); await SignIn().ConfigureAwait(false);
} }
else
{
await Exp().ConfigureAwait(false);
}
}
catch (Exception ex) catch (Exception ex)
{ {
if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG) if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
LoggerHelper.Instance.Error(ex); LoggerHelper.Instance.Error(ex);
} }
}
}, 10000); }, 10000);
} }
@@ -254,6 +259,33 @@ namespace linker.messenger.signin
return resp.Code == MessageResponeCodes.OK && resp.Data.Span.SequenceEqual(Helper.TrueArray); 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> /// <summary>
/// 获取一个新的id /// 获取一个新的id
/// </summary> /// </summary>
@@ -274,6 +306,19 @@ namespace linker.messenger.signin
return string.Empty; 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>
/// 客户端列表 /// 客户端列表
/// </summary> /// </summary>

View File

@@ -271,6 +271,26 @@ namespace linker.messenger.signin
cache.Args.TryAdd(info.Key, info.Value); 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> /// <summary>

View File

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

View File

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

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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -66,7 +66,9 @@ namespace linker.messenger.store.file.signIn
{ {
return liteCollection.Update(value); 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> <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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

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

View File

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

View File

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

View File

@@ -5,6 +5,7 @@ using linker.messenger.signin;
using linker.messenger.exroute; using linker.messenger.exroute;
using linker.tun; using linker.tun;
using System.Net; using System.Net;
using linker.libs.timer;
namespace linker.messenger.tuntap namespace linker.messenger.tuntap
{ {
@@ -30,8 +31,11 @@ namespace linker.messenger.tuntap
private readonly ExRouteTransfer exRouteTransfer; private readonly ExRouteTransfer exRouteTransfer;
private readonly SignInClientState signInClientState; private readonly SignInClientState signInClientState;
private readonly ISystemInformation systemInformation; 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.signInClientStore = signInClientStore;
this.serializer = serializer; this.serializer = serializer;
@@ -41,6 +45,9 @@ namespace linker.messenger.tuntap
this.exRouteTransfer = exRouteTransfer; this.exRouteTransfer = exRouteTransfer;
this.signInClientState = signInClientState; this.signInClientState = signInClientState;
this.systemInformation = systemInformation; this.systemInformation = systemInformation;
this.signInClientTransfer = signInClientTransfer;
CheckAvailableTask();
} }
public void Refresh() public void Refresh()
@@ -79,6 +86,7 @@ namespace linker.messenger.tuntap
public void AddData(Memory<byte> data) public void AddData(Memory<byte> data)
{ {
TuntapInfo info = serializer.Deserialize<TuntapInfo>(data.Span); TuntapInfo info = serializer.Deserialize<TuntapInfo>(data.Span);
info.Available = true;
tuntapInfos.AddOrUpdate(info.MachineId, info, (a, b) => info); tuntapInfos.AddOrUpdate(info.MachineId, info, (a, b) => info);
listVersion.Increment(); listVersion.Increment();
} }
@@ -87,6 +95,7 @@ namespace linker.messenger.tuntap
List<TuntapInfo> list = data.Select(c => serializer.Deserialize<TuntapInfo>(c.Span)).ToList(); List<TuntapInfo> list = data.Select(c => serializer.Deserialize<TuntapInfo>(c.Span)).ToList();
foreach (var item in list) foreach (var item in list)
{ {
item.Available = true;
tuntapInfos.AddOrUpdate(item.MachineId, item, (a, b) => item); tuntapInfos.AddOrUpdate(item.MachineId, item, (a, b) => item);
} }
DataVersion.Increment(); DataVersion.Increment();
@@ -115,7 +124,7 @@ namespace linker.messenger.tuntap
tuntapTransfer.AddRoute(_routeItems); tuntapTransfer.AddRoute(_routeItems);
tuntapProxy.SetIPs(ips); 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)); tuntapProxy.SetIP(item.MachineId, NetworkHelper.ToValue(item.IP));
} }
@@ -137,8 +146,15 @@ namespace linker.messenger.tuntap
HashSet<uint> hashSet = new HashSet<uint>(); HashSet<uint> hashSet = new HashSet<uint>();
IPAddress wan = signInClientState.WanAddress.Address; 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 return infos
.Where(c => c.MachineId != signInClientStore.Id) .Where(c => c.MachineId != signInClientStore.Id)
.Where(c => c.Available && c.Exists == false)
.OrderBy(c => c.IP, new IPAddressComparer()).OrderByDescending(c => c.Status) .OrderBy(c => c.IP, new IPAddressComparer()).OrderByDescending(c => c.Status)
.Select(c => .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> sealed class IPAddressComparer : IComparer<IPAddress>
{ {
public int Compare(IPAddress x, IPAddress y) public int Compare(IPAddress x, IPAddress y)

View File

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

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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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</PackageReleaseNotes> <PackageReleaseNotes>linker messenger</PackageReleaseNotes>
<Version>1.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?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"/> <file name="main.aardio" path="main.aardio" comment="main.aardio"/>
<folder name="资源文件" path="res" embed="true" local="false" ignored="false"> <folder name="资源文件" path="res" embed="true" local="false" ignored="false">
<file name="favicon.ico" path="res\favicon.ico" comment="res\favicon.ico"/> <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> <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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</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.7.7</Version> <Version>1.7.8</Version>
<AssemblyVersion>1.7.7</AssemblyVersion> <AssemblyVersion>1.7.8</AssemblyVersion>
<FileVersion>1.7.7</FileVersion> <FileVersion>1.7.8</FileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -7,7 +7,13 @@
<template v-if="tuntap.list[item.MachineId].SetupError"> <template v-if="tuntap.list[item.MachineId].SetupError">
<strong class="red" :title="tuntap.list[item.MachineId].SetupError">{{ tuntap.list[item.MachineId].IP }}</strong> <strong class="red" :title="tuntap.list[item.MachineId].SetupError">{{ tuntap.list[item.MachineId].IP }}</strong>
</template> </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> <strong class="yellow" :title="tuntap.list[item.MachineId].NatError">{{ tuntap.list[item.MachineId].IP }}</strong>
</template> </template>
<template v-else-if="tuntap.list[item.MachineId].AppNat && tuntap.list[item.MachineId].running"> <template v-else-if="tuntap.list[item.MachineId].AppNat && tuntap.list[item.MachineId].running">

View File

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

View File

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