diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ab935205..569ea748 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -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.6 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 push snltty/linker-musl:latest && \ - docker manifest push snltty/linker-musl:v1.7.6 && \ + docker manifest push snltty/linker-musl:v1.7.7 && \ 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.6 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 push snltty/linker-debian:latest && \ - docker manifest push snltty/linker-debian:v1.7.6 \ No newline at end of file + docker manifest push snltty/linker-debian:v1.7.7 \ No newline at end of file diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 54b9d787..a72d7e55 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -33,11 +33,11 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.ACTIONS_TOKEN }} with: - tag_name: v1.7.6 - release_name: v1.7.6.${{ steps.date.outputs.today }} + tag_name: v1.7.7 + release_name: v1.7.7.${{ steps.date.outputs.today }} draft: false prerelease: false - body: "1. 一些优化\r\n2. 安卓APP勉强能用,支持分身,下拉刷新,在线升级\r\n5. 如果你设备很多,请尝试升级其中一个成功重启后再升级其它" + body: "1. 一些累计更新\r\n2. 优化ssl证书,兼容安卓\r\n3. 打洞和中继优化,显示loading,增加手动尝试打洞\r\n5. 修改入参格式,增加虚拟网卡设置\r\n5. 如果你设备很多,请尝试升级其中一个成功重启后再升级其它" - 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.6/linker-win-x86.zip + target-path: /downloads/linker/v1.7.7/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.6/linker-win-x64.zip + target-path: /downloads/linker/v1.7.7/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.6/linker-win-arm64.zip + target-path: /downloads/linker/v1.7.7/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.6/linker-linux-x64.zip + target-path: /downloads/linker/v1.7.7/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.6/linker-linux-arm.zip + target-path: /downloads/linker/v1.7.7/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.6/linker-linux-arm64.zip + target-path: /downloads/linker/v1.7.7/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.6/linker-linux-musl-x64.zip + target-path: /downloads/linker/v1.7.7/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.6/linker-linux-musl-arm.zip + target-path: /downloads/linker/v1.7.7/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.6/linker-linux-musl-arm64.zip + target-path: /downloads/linker/v1.7.7/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.6/linker.apk + target-path: /downloads/linker/v1.7.7/linker.apk - name: upload-apk id: upload-apk uses: actions/upload-release-asset@master diff --git a/.github/workflows/ipk.yml b/.github/workflows/ipk.yml index ee413204..76dd0370 100644 --- a/.github/workflows/ipk.yml +++ b/.github/workflows/ipk.yml @@ -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.6/linker-x64.ipk + target-path: /downloads/linker/v1.7.7/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.6/linker-arm.ipk + target-path: /downloads/linker/v1.7.7/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.6/linker-arm64.ipk + target-path: /downloads/linker/v1.7.7/linker-arm64.ipk - name: upload-arm64 id: upload-arm64 uses: actions/upload-release-asset@master diff --git a/.github/workflows/nuget.yml b/.github/workflows/nuget.yml index 8b12625a..bcbb3b8c 100644 --- a/.github/workflows/nuget.yml +++ b/.github/workflows/nuget.yml @@ -83,31 +83,31 @@ jobs: - name: Push run: | - dotnet nuget push ./src/linker.libs/bin/release/linker.libs.1.7.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.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 diff --git a/README.md b/README.md index 311dd8d4..e0ff2731 100644 --- a/README.md +++ b/README.md @@ -92,11 +92,18 @@ Built-in SNAT enables you to use the point-to-site functionality even on Windows

+## Plan Task +Schedule tasks to control activation and deactivation timing. + +
+

+
+ ## Management Website
-

+

## Support the Author diff --git a/README_zh.md b/README_zh.md index 998a71a3..a630ae3e 100644 --- a/README_zh.md +++ b/README_zh.md @@ -92,11 +92,18 @@ LinkerMessengerEntry.Setup(ExcludeModule.None);

+## 计划任务 +内网穿透使用计划任务决定开启和关闭的时机 + +
+

+
+ ## 管理页面
-

+

## 可怜作者 diff --git a/publish-docker.sh b/publish-docker.sh index 90ffc194..d0d09165 100644 --- a/publish-docker.sh +++ b/publish-docker.sh @@ -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.6" . --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.7" . --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.6" . --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.7" . --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.6" . --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.7" . --push cd ../../../../../ done done \ No newline at end of file diff --git a/publish-ipk.sh b/publish-ipk.sh index 205bb827..4c638e03 100644 --- a/publish-ipk.sh +++ b/publish-ipk.sh @@ -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.6|g" public/publish-ipk/${r}/control/control + sed -i "s|{version}|1.7.7|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 diff --git a/readme/full.jpg b/readme/full.jpg new file mode 100644 index 00000000..189b3c48 Binary files /dev/null and b/readme/full.jpg differ diff --git a/readme/full.png b/readme/full.png deleted file mode 100644 index ccb7350d..00000000 Binary files a/readme/full.png and /dev/null differ diff --git a/readme/plan.jpg b/readme/plan.jpg new file mode 100644 index 00000000..9006c1cd Binary files /dev/null and b/readme/plan.jpg differ diff --git a/src/linker.app/Platforms/Android/AndroidManifest.xml b/src/linker.app/Platforms/Android/AndroidManifest.xml index e3069077..bf3900db 100644 --- a/src/linker.app/Platforms/Android/AndroidManifest.xml +++ b/src/linker.app/Platforms/Android/AndroidManifest.xml @@ -14,7 +14,7 @@ + android:supportsRtl="true" android:usesCleartextTraffic="true" android:networkSecurityConfig="@xml/network_security_config"> config = InitConfig(); - + InitLogger(); LinkerMessengerEntry.Initialize(); @@ -225,6 +224,8 @@ namespace linker.app LinkerMessengerEntry.AddService(); LinkerMessengerEntry.Build(); + + Dictionary config = InitConfig(); LinkerMessengerEntry.Setup(ExcludeModule.Logger, config); IPlatformApplication.Current.Services.GetService().SendOnInitialized(); diff --git a/src/linker.app/Platforms/Android/Resources/xml/network_security_config.xml b/src/linker.app/Platforms/Android/Resources/xml/network_security_config.xml new file mode 100644 index 00000000..7aeaf310 --- /dev/null +++ b/src/linker.app/Platforms/Android/Resources/xml/network_security_config.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/linker.app/linker.app.csproj b/src/linker.app/linker.app.csproj index 90ad0b35..e688176e 100644 --- a/src/linker.app/linker.app.csproj +++ b/src/linker.app/linker.app.csproj @@ -28,7 +28,7 @@ com.snltty.linker.app linker.app - 1.7.6 + 1.7.7 snltty snltty snltty @@ -38,7 +38,7 @@ linker - 1.7.6 + 1.7.7 1 11.0 @@ -114,6 +114,7 @@ + diff --git a/src/linker.libs/linker.libs.csproj b/src/linker.libs/linker.libs.csproj index 8631b1b6..83e176f7 100644 --- a/src/linker.libs/linker.libs.csproj +++ b/src/linker.libs/linker.libs.csproj @@ -14,9 +14,9 @@ snltty https://github.com/snltty/linker https://github.com/snltty/linker - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 full diff --git a/src/linker.messenger.access/linker.messenger.access.csproj b/src/linker.messenger.access/linker.messenger.access.csproj index 521a840a..95d8479a 100644 --- a/src/linker.messenger.access/linker.messenger.access.csproj +++ b/src/linker.messenger.access/linker.messenger.access.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger api access - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.action/linker.messenger.action.csproj b/src/linker.messenger.action/linker.messenger.action.csproj index b33783fc..91efb98b 100644 --- a/src/linker.messenger.action/linker.messenger.action.csproj +++ b/src/linker.messenger.action/linker.messenger.action.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger api action - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.api/linker.messenger.api.csproj b/src/linker.messenger.api/linker.messenger.api.csproj index 748dfeff..8ffd7240 100644 --- a/src/linker.messenger.api/linker.messenger.api.csproj +++ b/src/linker.messenger.api/linker.messenger.api.csproj @@ -17,9 +17,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger api - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.channel/linker.messenger.channel.csproj b/src/linker.messenger.channel/linker.messenger.channel.csproj index 3fe59c9d..21deb729 100644 --- a/src/linker.messenger.channel/linker.messenger.channel.csproj +++ b/src/linker.messenger.channel/linker.messenger.channel.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger channel - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.decenter/linker.messenger.decenter.csproj b/src/linker.messenger.decenter/linker.messenger.decenter.csproj index 562c5de0..fb26065e 100644 --- a/src/linker.messenger.decenter/linker.messenger.decenter.csproj +++ b/src/linker.messenger.decenter/linker.messenger.decenter.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger decenter - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.entry/linker.messenger.entry.csproj b/src/linker.messenger.entry/linker.messenger.entry.csproj index 44e6e52d..8abd1c51 100644 --- a/src/linker.messenger.entry/linker.messenger.entry.csproj +++ b/src/linker.messenger.entry/linker.messenger.entry.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger entry - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.exroute/linker.messenger.exroute.csproj b/src/linker.messenger.exroute/linker.messenger.exroute.csproj index f5bd913a..a4f8e2fd 100644 --- a/src/linker.messenger.exroute/linker.messenger.exroute.csproj +++ b/src/linker.messenger.exroute/linker.messenger.exroute.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger exroute - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.flow/linker.messenger.flow.csproj b/src/linker.messenger.flow/linker.messenger.flow.csproj index eb26b0e2..e3f0d396 100644 --- a/src/linker.messenger.flow/linker.messenger.flow.csproj +++ b/src/linker.messenger.flow/linker.messenger.flow.csproj @@ -17,9 +17,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger flow - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.forward/linker.messenger.forward.csproj b/src/linker.messenger.forward/linker.messenger.forward.csproj index 65c6966e..6510375a 100644 --- a/src/linker.messenger.forward/linker.messenger.forward.csproj +++ b/src/linker.messenger.forward/linker.messenger.forward.csproj @@ -17,9 +17,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger forward - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.listen/linker.messenger.listen.csproj b/src/linker.messenger.listen/linker.messenger.listen.csproj index 58bfce83..2979cd3a 100644 --- a/src/linker.messenger.listen/linker.messenger.listen.csproj +++ b/src/linker.messenger.listen/linker.messenger.listen.csproj @@ -17,9 +17,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger listen - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.logger/linker.messenger.logger.csproj b/src/linker.messenger.logger/linker.messenger.logger.csproj index 7afa1867..c80edcf6 100644 --- a/src/linker.messenger.logger/linker.messenger.logger.csproj +++ b/src/linker.messenger.logger/linker.messenger.logger.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger logger - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.pcp/linker.messenger.pcp.csproj b/src/linker.messenger.pcp/linker.messenger.pcp.csproj index 003c4a46..793b5ae3 100644 --- a/src/linker.messenger.pcp/linker.messenger.pcp.csproj +++ b/src/linker.messenger.pcp/linker.messenger.pcp.csproj @@ -17,9 +17,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger pcp - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.plan/linker.messenger.plan.csproj b/src/linker.messenger.plan/linker.messenger.plan.csproj index b75c235d..9ee8ecf5 100644 --- a/src/linker.messenger.plan/linker.messenger.plan.csproj +++ b/src/linker.messenger.plan/linker.messenger.plan.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger plan - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.relay/client/transport/RelayClientTransportSelfHost.cs b/src/linker.messenger.relay/client/transport/RelayClientTransportSelfHost.cs index f242de79..12837b8a 100644 --- a/src/linker.messenger.relay/client/transport/RelayClientTransportSelfHost.cs +++ b/src/linker.messenger.relay/client/transport/RelayClientTransportSelfHost.cs @@ -290,7 +290,7 @@ namespace linker.messenger.relay.client.transport if (relayInfo.SSL) { sslStream = new SslStream(new NetworkStream(socket, false), false); - await sslStream.AuthenticateAsServerAsync(messengerStore.Certificate,OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).ConfigureAwait(false); + await sslStream.AuthenticateAsServerAsync(messengerStore.Certificate, OperatingSystem.IsAndroid(), SslProtocols.Tls13 | SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false).ConfigureAwait(false); } return new TunnelConnectionTcp { diff --git a/src/linker.messenger.relay/linker.messenger.relay.csproj b/src/linker.messenger.relay/linker.messenger.relay.csproj index 72ea23df..1b8373cd 100644 --- a/src/linker.messenger.relay/linker.messenger.relay.csproj +++ b/src/linker.messenger.relay/linker.messenger.relay.csproj @@ -18,9 +18,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger relay - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.serializer.aot/linker.messenger.serializer.aot.csproj b/src/linker.messenger.serializer.aot/linker.messenger.serializer.aot.csproj index 0c551e57..dfa86363 100644 --- a/src/linker.messenger.serializer.aot/linker.messenger.serializer.aot.csproj +++ b/src/linker.messenger.serializer.aot/linker.messenger.serializer.aot.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger serializer aot - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.serializer.memorypack/linker.messenger.serializer.memorypack.csproj b/src/linker.messenger.serializer.memorypack/linker.messenger.serializer.memorypack.csproj index 5aec132a..15350ab9 100644 --- a/src/linker.messenger.serializer.memorypack/linker.messenger.serializer.memorypack.csproj +++ b/src/linker.messenger.serializer.memorypack/linker.messenger.serializer.memorypack.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger serializer memorypack - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.sforward/linker.messenger.sforward.csproj b/src/linker.messenger.sforward/linker.messenger.sforward.csproj index 497eb8ce..296eb307 100644 --- a/src/linker.messenger.sforward/linker.messenger.sforward.csproj +++ b/src/linker.messenger.sforward/linker.messenger.sforward.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger sforward - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.signin/linker.messenger.signin.csproj b/src/linker.messenger.signin/linker.messenger.signin.csproj index a849b0b8..a96d6ac9 100644 --- a/src/linker.messenger.signin/linker.messenger.signin.csproj +++ b/src/linker.messenger.signin/linker.messenger.signin.csproj @@ -17,9 +17,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger signin - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.socks5/linker.messenger.socks5.csproj b/src/linker.messenger.socks5/linker.messenger.socks5.csproj index 2cf1850b..96943c02 100644 --- a/src/linker.messenger.socks5/linker.messenger.socks5.csproj +++ b/src/linker.messenger.socks5/linker.messenger.socks5.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger socks5 - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.store.file/linker.messenger.store.file.csproj b/src/linker.messenger.store.file/linker.messenger.store.file.csproj index abd002fd..f7779b02 100644 --- a/src/linker.messenger.store.file/linker.messenger.store.file.csproj +++ b/src/linker.messenger.store.file/linker.messenger.store.file.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger store file - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 @@ -37,10 +37,12 @@ embedded - + + - + + diff --git a/src/linker.messenger.store.file/messenger/MessengerStore.cs b/src/linker.messenger.store.file/messenger/MessengerStore.cs index 0a843718..1a77347b 100644 --- a/src/linker.messenger.store.file/messenger/MessengerStore.cs +++ b/src/linker.messenger.store.file/messenger/MessengerStore.cs @@ -2,7 +2,6 @@ using System.Reflection; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; -using System.Text.RegularExpressions; namespace linker.messenger.store.file.messenger { @@ -17,110 +16,25 @@ namespace linker.messenger.store.file.messenger { this.fileConfig = fileConfig; - if (OperatingSystem.IsAndroid()) - { - certificate = LoadCertificate(str); - } - else - { - using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream($"linker.messenger.store.file.{Helper.GlobalString}.pfx"); - using MemoryStream memoryStream = new MemoryStream(); - stream.CopyTo(memoryStream); - certificate = new X509Certificate2(memoryStream.ToArray(), Helper.GlobalString, X509KeyStorageFlags.Exportable); - } - if (certificate == null) - { - Environment.Exit(0); - } - try - { - File.Delete($"{Helper.GlobalString}.pfx"); - } - catch (Exception) - { - } - } + using Stream streamPublic = Assembly.GetExecutingAssembly().GetManifestResourceStream($"linker.messenger.store.file.publickey.pem"); + using Stream streamPrivate = Assembly.GetExecutingAssembly().GetManifestResourceStream($"linker.messenger.store.file.privatekey.pem"); - private string str = @"-----BEGIN CERTIFICATE----- -MIIFGTCCBAGgAwIBAgISBl90jCZ1O8KnWcG9z3hBRB92MA0GCSqGSIb3DQEBCwUA -MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD -EwNSMTEwHhcNMjUwMzIwMDg1ODE3WhcNMjUwNjE4MDg1ODE2WjAXMRUwEwYDVQQD -DAwqLnNubHR0eS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7 -7m9vY6IsWrlxtcsoKX3ebk8FZ8i2HFQz0sO/jBOzfLZeOtXdYpAO+focWQoMiWFU -Gl6l9WP3xdwG890aQ23QqGGZwOWG+KlT8LgrIt2/lEq0OQ6apxaHav7IAyB09kNh -M1oyXtYA5fuH9sJ+unjbL4a7F5lOxUyumwSigPdOEvBzLL4GJsKQgCsyfumeAz+S -Y6ay4Ckwp0zluLwvw8IFhLmIbk7IXBwyr7ZN5ZCx7TpUN18efLDZcdQa/mTwQrCI -66ralfkXp/t6uW4FLmi7Bygxqf8XE5WQ5ES6U8Xw9pmeJlUmHCuPnvlP06Dwj5Y0 -K6n8NuEZ/8kWQSoD6jxzAgMBAAGjggJBMIICPTAOBgNVHQ8BAf8EBAMCBaAwHQYD -VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0O -BBYEFCLxyWr4VY/fhtCl5YOi4PbKlH65MB8GA1UdIwQYMBaAFMXPRqTq9MPAemyV -xC2wXpIvJuO5MFcGCCsGAQUFBwEBBEswSTAiBggrBgEFBQcwAYYWaHR0cDovL3Ix -MS5vLmxlbmNyLm9yZzAjBggrBgEFBQcwAoYXaHR0cDovL3IxMS5pLmxlbmNyLm9y -Zy8wFwYDVR0RBBAwDoIMKi5zbmx0dHkuY29tMBMGA1UdIAQMMAowCAYGZ4EMAQIB -MC8GA1UdHwQoMCYwJKAioCCGHmh0dHA6Ly9yMTEuYy5sZW5jci5vcmcvMTE5LmNy -bDCCAQQGCisGAQQB1nkCBAIEgfUEgfIA8AB3ABNK3xq1mEIJeAxv70x6kaQWtyNJ -zlhXat+u2qfCq+AiAAABlbL750kAAAQDAEgwRgIhALNrxvjVBcl4MMuOY9EvxIga -R975F8z8hFyrNvnU6q+LAiEAopIUdkaOlTYd8vd/IcpDB22HNY7jtjhVh+PMfq18 -sAsAdQBOdaMnXJoQwzhbbNTfP1LrHfDgjhuNacCx+mSxYpo53wAAAZWy++5kAAAE -AwBGMEQCIFbq4pwZ2OSvUyj89qqiFT2jUtA0fl6osPQVLUI3WgqqAiBNsQKOPEnO -RR/aP2AgD9j1XymGzs77uaXw3FfYFeiFpjANBgkqhkiG9w0BAQsFAAOCAQEAkU1I -5+b6t55vQkMeeGUGjImq0cdCIaoTn4ViH36nRYzq1W3d6+9fw4U8LiFuy6qnamcu -abdpzUZkyZyeqE/N5cpSWLggC0KYJupd2TgA1WKZULKBwwJcrftiqTsyb76rL1nY -SIUwK7xAoNM3Oaps9MZuTs1wwgOw0jD+Z5hOgDs9oAb6IzOY1mMb4pX2iKnx8CVI -rGCEDOOyniB6RzmmSZRWwghI/GqZZEaUxlrt/y7t5jZFVNvCcez/eJKci1+xXpP3 -fZ/TnkUdWkXazGE3YNqfTwW8LvZ0VlbT62kwiKhonW9u4HWFrz0/TwreyHPpuWRH -UrFq2/AYFWWc14AHog== ------END CERTIFICATE----- ------BEGIN RSA PRIVATE KEY----- -MIIEpgIBAAKCAQEAu+5vb2OiLFq5cbXLKCl93m5PBWfIthxUM9LDv4wTs3y2XjrV -3WKQDvn6HFkKDIlhVBpepfVj98XcBvPdGkNt0KhhmcDlhvipU/C4KyLdv5RKtDkO -mqcWh2r+yAMgdPZDYTNaMl7WAOX7h/bCfrp42y+GuxeZTsVMrpsEooD3ThLwcyy+ -BibCkIArMn7pngM/kmOmsuApMKdM5bi8L8PCBYS5iG5OyFwcMq+2TeWQse06VDdf -Hnyw2XHUGv5k8EKwiOuq2pX5F6f7erluBS5ouwcoMan/FxOVkOREulPF8PaZniZV -Jhwrj575T9Og8I+WNCup/DbhGf/JFkEqA+o8cwIDAQABAoIBAQCWVPitSS0sf/KC -RKNb4D0A1oq9zzSegPDWd84AhwQneybDIBt+Od71LABn9s30E11ZErMN3Mt4I72L -jj4bST8qP9e7T7QMERQawqAAWaa7HtvXaSEGk4yRDQT8aIvpJCnoMlT/oB9enppk -O/9/spkE9PK47PrFKUzbC8RcXf/2Ygyy8e1zsq/GwlpQoEO8/jNHE5qUDiPH7XCx -gXUY0CvYNOhq/UIWdnaRq+zjDS+UZAfVSyTkISbMruLbpxVA2DI+IWhZ/srLatZk -sg7HliTqQ8GftJCCwylMYxvdc8hinOvQ+MyOP4A2l0tG7bivwpD+KN+UYJzKWr4C -2nSq65gxAoGBAPb+rOEb9nr6Rh31JuLIDIQhVuyZ9WzeHNus8AE9UEJpoUHznAsD -CDQHC/fwTg6Va6ntHDnTOzC+buvBGsew2f8S5Kq9y0y19GMG0QxGsGa68V/3fJ1Y -aoP69f28nl6wLfKGsfRVbkmkTSGo9uVClrGZnhI9DKolDIIs2aVh21tLAoGBAMLI -feNhxtNJgvd/94nXEpReuokA7qSZhDuUmz7Zj3OOMUW+hnGEhoQR3SW7iekR8hr2 -BZNptQMWZfcDPNSFRm13W3ZTu0NbvbHgdpUJ44CBq9jmqNjD9dOvGLw2rqaUttO5 -ap05fcGzG2pOjhizmK5go697irhJpC68thrwoIJ5AoGBAO0wPiZiqv0H0EO+g1wu -jc5pEcdeRdAJMB9I4KXgEm3kcCYcYdI1VDBaQAUWMG9S0DQ7beqdzW6OwYgGRchU -LdQEebD5V/zPkuNxzViDnazZgygMSw/ysz8Qxh+nfVIiz8zhyox/acywSh2z23zn -yDy+74xGMh5GO8/acBugcH0nAoGBAIJjshnnlzBTUm+Z4zwLlC1sKFSUIixfc+xq -c24kN2o0cnlsrBULkPyR9MdQfmZeFALGVD81EO4rLUCokyz0touKzdgs/vt9S0Pq -rZbhUsDwjPgamEbbDxGQce90b3+lp6mdwmfTV4K2AhEs2uRgPUHmAUz0V408BsMe -oozwLZKJAoGBAKEpU57UZEG35jV42nFUAKx3e5FV5pok+lHfqbPhRi9ym6Aro+8h -nbzbVVlqAIMHcIHb8XeXqvakATt7SdJfxKSWjLA64FJP4n7hpT5T5Kq/jvIBBClz -Yr8Vb0yL3MbH7U/USqY5OLGA4E5C+MYoOYndlfQHO8r2A+ZQ9v3cs4iM ------END RSA PRIVATE KEY-----"; + using StreamReader readerPublic = new StreamReader(streamPublic); + using StreamReader readerPrivate = new StreamReader(streamPrivate); - private bool VerifyCertificate(string str) - { - return str.StartsWith("-----BEGIN CERTIFICATE-----") && str.EndsWith("-----END RSA PRIVATE KEY-----"); - } - private X509Certificate2 LoadCertificate(string str) - { - if (VerifyCertificate(str) == false) return null; + RSA rsaPrivateKey = RSA.Create(); + rsaPrivateKey.ImportFromPem(readerPrivate.ReadToEnd()); - X509Certificate2 certificate = new X509Certificate2(GetBase64Content(str, "-----BEGIN CERTIFICATE-----", "-----END CERTIFICATE-----")); + using X509Certificate2 publicCert = X509Certificate2.CreateFromPem(readerPublic.ReadToEnd()); + certificate = publicCert.CopyWithPrivateKey(rsaPrivateKey); - using RSA rsa = RSA.Create(); - rsa.ImportRSAPrivateKey(GetBase64Content(str, "-----BEGIN RSA PRIVATE KEY-----", "-----END RSA PRIVATE KEY-----"), out _); - return certificate.CopyWithPrivateKey(rsa); - } - private byte[] GetBase64Content(ReadOnlySpan chars, ReadOnlySpan startChars, ReadOnlySpan endChars) - { - int start = chars.IndexOf(startChars) + startChars.Length; - int end = chars.IndexOf(endChars) - start; - chars = chars.Slice(start, end); - - str = chars.ToString(); - return Convert.FromBase64String(Regex.Replace(str, @"\r\n?|\n", "")); + if (OperatingSystem.IsAndroid() == false) + { + //不导出不支持windows什么的 + byte[] pfxBytes = certificate.Export(X509ContentType.Pfx, Helper.GlobalString); + certificate.Dispose(); + certificate = new X509Certificate2(pfxBytes, Helper.GlobalString); + } } } } diff --git a/src/linker.messenger.store.file/privatekey.pem b/src/linker.messenger.store.file/privatekey.pem new file mode 100644 index 00000000..d29fb370 --- /dev/null +++ b/src/linker.messenger.store.file/privatekey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAzgMkrdHs4MWLwKE+eLcduO+52TTQftM76qaE/O9DNPmTjAlk +OCiPEXe3ll3zkdMJbnLZoKTctyS/uWWKzqO5y37i7YsCK+zQtvfvv3BY7SxRm3Np +PO/BIayKbQFzMwOKFUDyyvGn6e8VQHTaDiJ9TKBm+/tr/f/65jrIMwA2QlDUV6kF +c8+LrxRBn9KnpmHj4KtPG8KZuBNyycOaMoK5txiV/iCn7A8wgSfk1TpZx/jkU6L4 +GuctmYwMVbBSgID52cLPtgZF5Zqlkbm3UFpJcarKmq1bNU9Qm355ajY3zAAr2OHx +mkiPXgsfulHvyZzp/Uw6BA5yHZPSqTO1Bf9B0QIDAQABAoIBAQCUkAW6Z8GYEj2G +64DekscXX6E5dvHIE9KIlA8hS/W+VSDHAtrH+M+7fAbjo9sLVRHfGWnBhEI6vICa +VRS1kbJhgp5pSS6GuJ+G4uN8vasTVjt/i8nfjNJM01174GjP6ASC8TRlj8FUXPqJ +YfsB6HNNd/rsSlKFeDzaHJfU15lJVi+bpZW3ySlMaIKeK/f1zDn9++jCaral+uhq +O55qIJJw9tUx4oRYP4hmbIkBc10jw6sH58tAvkAdJwWRx8e8BCAKb+xtcsZ64TT/ +TPlKnKjncUn4zOichUmN2ayRPmYuX9EfQBPXRfrqL6GfGL07Lq3keMyxp9at3ZTR +HvihW1TlAoGBAOiC+31kDwK+Qncq0ykd4xwou0eGoXXRWn7R07psnYCY0eHHY6hJ +hjf+WZQ9KRiPJUdmQ5e9/VMvbeFAIcDcxZI6sM+588TxGbfTq8CQPq/TtSFqH7kG +V3VntfoQxWXiGd1ItBHBBYSJBTOlYOuhVnn5C5y6yAAntL59gW3IFZMDAoGBAOLS +21a6uI+glSD2wgvTC26bVRio4xoi9Xo15LOJNjzwh8peqT946d9cf8lDNlyQnzqa +52D3eiOscIU0EUQv14cypjaT7d2IxaKX55lxsKpnJY2pTxyF+6nvtyEQ9asZP00R +XJZ4xlDSHecxJPjCzdbQgK1Zi00A8nu1KGm+oBWbAoGBAIRgDk6VaPZm2/B8sTv3 +iBXAGt/eBo7NYnhRffnlXMaaOuQQYOyu73txlA6Rw5P364F694Cs6k0x850Kpizn +hJR8Va3ucJrvqXS/TkmT1hzEq5sakHUG50Qwh6qXYctfrtoNSnfRLRMH7643ubZt +ZI6M+89/h96OvJi3W7jk8WOBAoGAT4ptzF4yNnuzkBm4NnlNuv3Ru5IOAa5csvyP +NL5bPMeEdtz3MQDv0poXXbaqK4+zptOHbCOcu0HPO4bkvyqfxBNo4h7B/TvnQntO +hiquLzN4odLLoU8Cz7b2WywdWmDCJ/58n2++67yjK925/1og4MHBPgj2pow8fFEs +2Ng2Px0CgYBMNd3BD+37pOiwC+7AjVclj8MnfFYR38UFo9HpD6662uDrS4aB+2Ly +IbMSttd+WpZI5w1CBgLMRRdxYBrQPrfyGEicZ5OXU9IA9iubLth/NUj1gD5tQooS +yGsBK3umOUjCR4IUHZV3OFNTlCCezIqmY7oHjVNIOCeU6t0DcGADQQ== +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/src/linker.messenger.store.file/publickey.pem b/src/linker.messenger.store.file/publickey.pem new file mode 100644 index 00000000..0839e2ff --- /dev/null +++ b/src/linker.messenger.store.file/publickey.pem @@ -0,0 +1,60 @@ +-----BEGIN CERTIFICATE----- +MIIFGTCCBAGgAwIBAgISBjkj+2wqYnhmIOBKjuLhgti5MA0GCSqGSIb3DQEBCwUA +MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD +EwNSMTEwHhcNMjUwNDE2MDc1NjMwWhcNMjUwNzE1MDc1NjI5WjAXMRUwEwYDVQQD +DAwqLnNubHR0eS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDO +AySt0ezgxYvAoT54tx2477nZNNB+0zvqpoT870M0+ZOMCWQ4KI8Rd7eWXfOR0wlu +ctmgpNy3JL+5ZYrOo7nLfuLtiwIr7NC29++/cFjtLFGbc2k878EhrIptAXMzA4oV +QPLK8afp7xVAdNoOIn1MoGb7+2v9//rmOsgzADZCUNRXqQVzz4uvFEGf0qemYePg +q08bwpm4E3LJw5oygrm3GJX+IKfsDzCBJ+TVOlnH+ORTovga5y2ZjAxVsFKAgPnZ +ws+2BkXlmqWRubdQWklxqsqarVs1T1CbfnlqNjfMACvY4fGaSI9eCx+6Ue/JnOn9 +TDoEDnIdk9KpM7UF/0HRAgMBAAGjggJBMIICPTAOBgNVHQ8BAf8EBAMCBaAwHQYD +VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0O +BBYEFHXfGYdowCa+nqBwrrr5opUwluF+MB8GA1UdIwQYMBaAFMXPRqTq9MPAemyV +xC2wXpIvJuO5MFcGCCsGAQUFBwEBBEswSTAiBggrBgEFBQcwAYYWaHR0cDovL3Ix +MS5vLmxlbmNyLm9yZzAjBggrBgEFBQcwAoYXaHR0cDovL3IxMS5pLmxlbmNyLm9y +Zy8wFwYDVR0RBBAwDoIMKi5zbmx0dHkuY29tMBMGA1UdIAQMMAowCAYGZ4EMAQIB +MC4GA1UdHwQnMCUwI6AhoB+GHWh0dHA6Ly9yMTEuYy5sZW5jci5vcmcvNTguY3Js +MIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcAEvFONL1TckyEBhnDjz96E/jntWKH +iJxtMAWE6+WGJjoAAAGWPc8KlAAABAMASDBGAiEA6t/GvDP8n8j83UckIBKrLyol +o5s+ZQNqgvpOuBsUP2sCIQDt6nySUZ37C5A4URe3bpuWokq8WmkItwQg5HbKpRbs +dgB2AKRCxQZJYGFUjw/U6pz7ei0mRU2HqX8v30VZ9idPOoRUAAABlj3PCp4AAAQD +AEcwRQIhANFH1snhNEtKWgQks3eBcgEGJQb4Okd3qz2lkdxm53nEAiBkxCL88a0l +DOdfc4D/Lkf6yEp3REmSutvRUro0mtHE7jANBgkqhkiG9w0BAQsFAAOCAQEAtETy +HeMqDRmiR4VVyLGP8KqMukF/Ly5NrHX//3pZEqJfAwr5NUFUowFQa9NksOA91FHN +XdINWBj9xnW7NOdbBGyfIaHe3eLHFwK0kaikD/Z+M1ybjPCeS2kjCVLf52lTCYdl +8qQPoRbQ4/cXqYvIwIJBbTI6v/HyakZuactNpQYzN3w7E0rv4fV0x2eIfKhPnDvM +kqlZATtXJri4xd6a93INZRmkTWub0NEfdZg1UW2s/k3/L0aaieowXGQhXMFqz+DF +0v25QWpvCiD7bBIiB3/7L02NReD4rNb3NgShxkY5GBtpb9AJnqhBM4TeGukQ7lj/ +GFbeL1bHmi6+PIqTyA== +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIFBjCCAu6gAwIBAgIRAIp9PhPWLzDvI4a9KQdrNPgwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw +WhcNMjcwMzEyMjM1OTU5WjAzMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg +RW5jcnlwdDEMMAoGA1UEAxMDUjExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAuoe8XBsAOcvKCs3UZxD5ATylTqVhyybKUvsVAbe5KPUoHu0nsyQYOWcJ +DAjs4DqwO3cOvfPlOVRBDE6uQdaZdN5R2+97/1i9qLcT9t4x1fJyyXJqC4N0lZxG +AGQUmfOx2SLZzaiSqhwmej/+71gFewiVgdtxD4774zEJuwm+UE1fj5F2PVqdnoPy +6cRms+EGZkNIGIBloDcYmpuEMpexsr3E+BUAnSeI++JjF5ZsmydnS8TbKF5pwnnw +SVzgJFDhxLyhBax7QG0AtMJBP6dYuC/FXJuluwme8f7rsIU5/agK70XEeOtlKsLP +Xzze41xNG/cLJyuqC0J3U095ah2H2QIDAQABo4H4MIH1MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwEgYDVR0TAQH/BAgwBgEB +/wIBADAdBgNVHQ4EFgQUxc9GpOr0w8B6bJXELbBeki8m47kwHwYDVR0jBBgwFoAU +ebRZ5nu25eQBc4AIiMgaWPbpm24wMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzAC +hhZodHRwOi8veDEuaS5sZW5jci5vcmcvMBMGA1UdIAQMMAowCAYGZ4EMAQIBMCcG +A1UdHwQgMB4wHKAaoBiGFmh0dHA6Ly94MS5jLmxlbmNyLm9yZy8wDQYJKoZIhvcN +AQELBQADggIBAE7iiV0KAxyQOND1H/lxXPjDj7I3iHpvsCUf7b632IYGjukJhM1y +v4Hz/MrPU0jtvfZpQtSlET41yBOykh0FX+ou1Nj4ScOt9ZmWnO8m2OG0JAtIIE38 +01S0qcYhyOE2G/93ZCkXufBL713qzXnQv5C/viOykNpKqUgxdKlEC+Hi9i2DcaR1 +e9KUwQUZRhy5j/PEdEglKg3l9dtD4tuTm7kZtB8v32oOjzHTYw+7KdzdZiw/sBtn +UfhBPORNuay4pJxmY/WrhSMdzFO2q3Gu3MUBcdo27goYKjL9CTF8j/Zz55yctUoV +aneCWs/ajUX+HypkBTA+c8LGDLnWO2NKq0YD/pnARkAnYGPfUDoHR9gVSp/qRx+Z +WghiDLZsMwhN1zjtSC0uBWiugF3vTNzYIEFfaPG7Ws3jDrAMMYebQ95JQ+HIBD/R +PBuHRTBpqKlyDnkSHDHYPiNX3adPoPAcgdF3H2/W0rmoswMWgTlLn1Wu0mrks7/q +pdWfS6PJ1jty80r2VKsM/Dj3YIDfbjXKdaFU5C+8bhfJGqU3taKauuz0wHVGT3eo +6FlWkWYtbt4pgdamlwVeZEW+LM7qZEJEsMNPrfC03APKmZsJgpWCDWOKZvkZcvjV +uYkQ4omYCTX5ohy+knMjdOmdH9c7SpqEWBDC86fiNex+O0XOMEZSa8DA +-----END CERTIFICATE----- \ No newline at end of file diff --git a/src/linker.messenger.store.file/snltty.pfx b/src/linker.messenger.store.file/snltty.pfx deleted file mode 100644 index 2978ddba..00000000 Binary files a/src/linker.messenger.store.file/snltty.pfx and /dev/null differ diff --git a/src/linker.messenger.sync/linker.messenger.sync.csproj b/src/linker.messenger.sync/linker.messenger.sync.csproj index e87e4ef3..423152aa 100644 --- a/src/linker.messenger.sync/linker.messenger.sync.csproj +++ b/src/linker.messenger.sync/linker.messenger.sync.csproj @@ -18,9 +18,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger sync - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.tunnel/linker.messenger.tunnel.csproj b/src/linker.messenger.tunnel/linker.messenger.tunnel.csproj index 0da0f2e9..d37cc7fd 100644 --- a/src/linker.messenger.tunnel/linker.messenger.tunnel.csproj +++ b/src/linker.messenger.tunnel/linker.messenger.tunnel.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger tunnel - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.tuntap/linker.messenger.tuntap.csproj b/src/linker.messenger.tuntap/linker.messenger.tuntap.csproj index 6715dbfe..5b1c289b 100644 --- a/src/linker.messenger.tuntap/linker.messenger.tuntap.csproj +++ b/src/linker.messenger.tuntap/linker.messenger.tuntap.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger tuntap - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger.updater/linker.messenger.updater.csproj b/src/linker.messenger.updater/linker.messenger.updater.csproj index df0e8680..196a51e9 100644 --- a/src/linker.messenger.updater/linker.messenger.updater.csproj +++ b/src/linker.messenger.updater/linker.messenger.updater.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger updater - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.messenger/linker.messenger.csproj b/src/linker.messenger/linker.messenger.csproj index f36ac4bc..d8a41258 100644 --- a/src/linker.messenger/linker.messenger.csproj +++ b/src/linker.messenger/linker.messenger.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker messenger - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.snat/linker.snat.csproj b/src/linker.snat/linker.snat.csproj index d8b1cf33..e68007cb 100644 --- a/src/linker.snat/linker.snat.csproj +++ b/src/linker.snat/linker.snat.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker snat - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.tun/LinkerLinuxTunDevice.cs b/src/linker.tun/LinkerLinuxTunDevice.cs index 29d4c3c3..2dd59c76 100644 --- a/src/linker.tun/LinkerLinuxTunDevice.cs +++ b/src/linker.tun/LinkerLinuxTunDevice.cs @@ -72,7 +72,7 @@ namespace linker.tun string str = CommandHelper.Linux(string.Empty, new string[] { $"ifconfig" }); if (str.Contains(Name) == false) { - error = CommandHelper.Linux(string.Empty, new string[] { $"ip tuntap add mode tun dev {Name}" }); + CommandHelper.Linux(string.Empty, new string[] { $"ip tuntap add mode tun dev {Name}" },out error); return false; } diff --git a/src/linker.tun/LinkerWinTunDevice.cs b/src/linker.tun/LinkerWinTunDevice.cs index 1effbd82..29cc910d 100644 --- a/src/linker.tun/LinkerWinTunDevice.cs +++ b/src/linker.tun/LinkerWinTunDevice.cs @@ -51,17 +51,23 @@ namespace linker.tun return false; } Guid guid = Guid.Parse("771EF382-8718-5BC5-EBF0-A28B86142278"); - adapter = WinTun.WintunCreateAdapter(name, name, ref guid); + + for (int i = 0; i < 5; i++) + { + if ((adapter = WinTun.WintunCreateAdapter(name, name, ref guid)) == 0 && (adapter = WinTun.WintunOpenAdapter(name)) == 0) + { + Shutdown(); + Thread.Sleep(2000); + continue; + } + break; + } if (adapter == 0) { - adapter = WinTun.WintunOpenAdapter(name); - if (adapter == 0) - { - error = ($"Failed to create adapter {Marshal.GetLastWin32Error()}"); - Shutdown(); - return false; - } + error = ($"Failed to create adapter {Marshal.GetLastWin32Error()}"); + return false; } + uint version = WinTun.WintunGetRunningDriverVersion(); session = WinTun.WintunStartSession(adapter, 0x400000); if (session == 0) @@ -234,7 +240,7 @@ namespace linker.tun { return; } - + winDivertNAT.Setup(new LinkerSrcNat.SetupInfo { Src = address, diff --git a/src/linker.tun/linker.tun.csproj b/src/linker.tun/linker.tun.csproj index 02e9d8a7..30cec13b 100644 --- a/src/linker.tun/linker.tun.csproj +++ b/src/linker.tun/linker.tun.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker tun - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.tunnel/connection/TunnelConnectionTcp.cs b/src/linker.tunnel/connection/TunnelConnectionTcp.cs index 2c9a6298..107d4f8b 100644 --- a/src/linker.tunnel/connection/TunnelConnectionTcp.cs +++ b/src/linker.tunnel/connection/TunnelConnectionTcp.cs @@ -7,7 +7,6 @@ using System.Text.Json.Serialization; using System.Text; using System.Net.Sockets; using System.IO.Pipelines; -using System; namespace linker.tunnel.connection { diff --git a/src/linker.tunnel/linker.tunnel.csproj b/src/linker.tunnel/linker.tunnel.csproj index ae6f1135..007ff88d 100644 --- a/src/linker.tunnel/linker.tunnel.csproj +++ b/src/linker.tunnel/linker.tunnel.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker tunnel - 1.7.6 - 1.7.6 - 1.7.6 + 1.7.7 + 1.7.7 + 1.7.7 diff --git a/src/linker.web/src/views/full/status/Api.vue b/src/linker.web/src/views/full/status/Api.vue index 50c28f2c..bf330183 100644 --- a/src/linker.web/src/views/full/status/Api.vue +++ b/src/linker.web/src/views/full/status/Api.vue @@ -39,7 +39,7 @@ export default {