From 897fe1a487a63ec2efd0f5928eca58e1d78108bc Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Wed, 26 Mar 2025 14:31:18 -0500 Subject: [PATCH 01/97] fix linux rustdesk dir --- .github/workflows/generator-linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generator-linux.yml b/.github/workflows/generator-linux.yml index 986b216..819f202 100644 --- a/.github/workflows/generator-linux.yml +++ b/.github/workflows/generator-linux.yml @@ -514,8 +514,8 @@ jobs: chmod 777 output -R export CARGO_INCREMENTAL=0 export DEB_ARCH=${{ matrix.job.deb_arch }} - mkdir -p flutter/tmpdeb/usr/lib/rustdesk - cp ./custom.txt ./flutter/tmpdeb/usr/lib/rustdesk/custom.txt + mkdir -p flutter/tmpdeb/usr/share/rustdesk + cp ./custom.txt ./flutter/tmpdeb/usr/share/rustdesk/custom.txt if [[ "${{ inputs.logolink }}" != "false" ]]; then wget -O ./flutter/assets/logo.png ${{ fromJson(inputs.logolink).url }}/get_png?filename=${{ fromJson(inputs.logolink).file }}"&"uuid=${{ fromJson(inputs.logolink).uuid }} fi From 3ff33a6efb930da4dcc6a7f6dd95cf4fa482801a Mon Sep 17 00:00:00 2001 From: zhengyin <165739215@qq.com> Date: Fri, 28 Mar 2025 18:05:50 +0800 Subject: [PATCH 02/97] add aarch64 linux compile and download link for it --- .github/workflows/generator-linux.yml | 39 ++++++++++++++++++--------- rdgenerator/templates/generated.html | 12 ++++++--- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/.github/workflows/generator-linux.yml b/.github/workflows/generator-linux.yml index 819f202..49a8004 100644 --- a/.github/workflows/generator-linux.yml +++ b/.github/workflows/generator-linux.yml @@ -102,6 +102,14 @@ jobs: deb_arch: amd64, vcpkg-triplet: x64-linux, } + - { + arch: aarch64, + target: aarch64-unknown-linux-gnu, + distro: ubuntu18.04, + on: ubuntu-22.04-arm, + deb_arch: arm64, + vcpkg-triplet: arm64-linux, + } # - { # arch: aarch64, # target: aarch64-unknown-linux-gnu, @@ -137,13 +145,15 @@ jobs: data: '{"uuid": "${{ inputs.uuid }}", "status": "5% complete"}' - name: Maximize build space - if: ${{ matrix.job.arch == 'x86_64' }} run: | sudo rm -rf /opt/ghc sudo rm -rf /usr/local/lib/android sudo rm -rf /usr/share/dotnet sudo apt-get update -y - sudo apt-get install -y nasm qemu-user-static + sudo apt-get install -y nasm + if [[ "${{ matrix.job.arch }}" == "x86_64" ]]; then + sudo apt-get install -y qemu-user-static + fi - name: Install dependencies run: | @@ -525,13 +535,16 @@ jobs: convert ./res/128x128.png -resize 200% ./flutter/assets/128x128@2x.png || true cp ./flutter/assets/icon.svg ./res/scalable.svg pushd ./flutter + if [[ "${{ matrix.job.arch }}" == "aarch64" ]]; then + export PATH="/opt/flutter-elinux/flutter/bin:$PATH" + fi flutter pub get dart run flutter_launcher_icons popd fi python3 ./build.py --flutter --skip-cargo for name in rustdesk*??.deb; do - mv "$name" /workspace/output/"${{ inputs.filename }}.deb" + mv "$name" /workspace/output/"${{ inputs.filename }}-${{ matrix.job.arch }}.deb" done # rpm package @@ -545,7 +558,7 @@ jobs: HBB=`pwd` rpmbuild ./res/rpm-flutter.spec -bb pushd ~/rpmbuild/RPMS/${{ matrix.job.arch }} for name in rustdesk*??.rpm; do - mv "$name" /workspace/output/"${{ inputs.filename }}.rpm" + mv "$name" /workspace/output/"${{ inputs.filename }}-${{ matrix.job.arch }}.rpm" done # rpm suse package @@ -559,7 +572,7 @@ jobs: HBB=`pwd` rpmbuild ./res/rpm-flutter-suse.spec -bb pushd ~/rpmbuild/RPMS/${{ matrix.job.arch }} for name in rustdesk*??.rpm; do - mv "$name" /workspace/output/"${{ inputs.filename }}-suse.rpm" + mv "$name" /workspace/output/"${{ inputs.filename }}-suse-${{ matrix.job.arch }}.rpm" done # only x86_64 for arch since we can not find newest arm64 docker image to build @@ -593,19 +606,19 @@ jobs: if: ${{ fromJson(inputs.extras).rdgen == 'true' }} shell: bash run: | - curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.deb" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client - curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.rpm" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client - curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-suse.rpm" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client - curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.pkg.tar.zst" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client || true + curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-${{ matrix.job.arch }}.deb" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client + curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-${{ matrix.job.arch }}.rpm" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client + curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-suse-${{ matrix.job.arch }}.rpm" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client + curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-${{ matrix.job.arch }}.pkg.tar.zst" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client || true - name: send file to api server if: ${{ fromJson(inputs.extras).rdgen == 'false' }} shell: bash run: | - curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.deb" ${{ inputs.apiServer }}/api/save_custom_client - curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.rpm" ${{ inputs.apiServer }}/api/save_custom_client - curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-suse.rpm" ${{ inputs.apiServer }}/api/save_custom_client - curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.pkg.tar.zst" ${{ inputs.apiServer }}/api/save_custom_client || true + curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-${{ matrix.job.arch }}.deb" ${{ inputs.apiServer }}/api/save_custom_client + curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-${{ matrix.job.arch }}.rpm" ${{ inputs.apiServer }}/api/save_custom_client + curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-suse-${{ matrix.job.arch }}.rpm" ${{ inputs.apiServer }}/api/save_custom_client + curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-${{ matrix.job.arch }}.pkg.tar.zst" ${{ inputs.apiServer }}/api/save_custom_client || true - name: Report Status uses: fjogeleit/http-request-action@v1 diff --git a/rdgenerator/templates/generated.html b/rdgenerator/templates/generated.html index 4636db8..a80fdc4 100644 --- a/rdgenerator/templates/generated.html +++ b/rdgenerator/templates/generated.html @@ -130,10 +130,14 @@ Download {{filename}}.exe Download {{filename}}.msi {% elif platform == 'linux' %} - Download {{filename}}.deb - Download {{filename}}.rpm - Download {{filename}}-suse.rpm - Download {{filename}}.pkg.tar.zst + Download {{filename}}.deb + Download {{filename}}.rpm + Download {{filename}}-suse.rpm + Download {{filename}}.pkg.tar.zst + Download {{filename}}.deb + Download {{filename}}.rpm + Download {{filename}}-suse.rpm + Download {{filename}}.pkg.tar.zst {% elif platform == 'android' %} Download {{filename}}-aarch64.apk Download {{filename}}-x86_64.apk From 634a77a054da3925acab302b2b0807c5ead7ffaf Mon Sep 17 00:00:00 2001 From: zhengyin <165739215@qq.com> Date: Fri, 28 Mar 2025 18:21:01 +0800 Subject: [PATCH 03/97] test on xbxiot branch --- rdgenerator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rdgenerator/views.py b/rdgenerator/views.py index 800e412..668fa84 100644 --- a/rdgenerator/views.py +++ b/rdgenerator/views.py @@ -193,7 +193,7 @@ def generator_view(request): #url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rustdesk/actions/workflows/test.yml/dispatches' data = { - "ref":"master", + "ref":"xbxiot", "inputs":{ "server":server, "key":key, @@ -327,7 +327,7 @@ def startgh(request): ####from here run the github action, we need user, repo, access token. url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/generator-'+data_.get('platform')+'.yml/dispatches' data = { - "ref":"master", + "ref":"xbxiot", "inputs":{ "server":data_.get('server'), "key":data_.get('key'), From 16d0818a284365f9974cb7a9c7efccb7b3464a8b Mon Sep 17 00:00:00 2001 From: zhengyin <165739215@qq.com> Date: Fri, 28 Mar 2025 18:24:51 +0800 Subject: [PATCH 04/97] delete test on xbxiot --- rdgenerator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rdgenerator/views.py b/rdgenerator/views.py index 668fa84..800e412 100644 --- a/rdgenerator/views.py +++ b/rdgenerator/views.py @@ -193,7 +193,7 @@ def generator_view(request): #url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rustdesk/actions/workflows/test.yml/dispatches' data = { - "ref":"xbxiot", + "ref":"master", "inputs":{ "server":server, "key":key, @@ -327,7 +327,7 @@ def startgh(request): ####from here run the github action, we need user, repo, access token. url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/generator-'+data_.get('platform')+'.yml/dispatches' data = { - "ref":"xbxiot", + "ref":"master", "inputs":{ "server":data_.get('server'), "key":data_.get('key'), From d2b36d387624ee8f435d01aae65ea9c20b93fb01 Mon Sep 17 00:00:00 2001 From: zhengyin <165739215@qq.com> Date: Fri, 28 Mar 2025 19:04:26 +0800 Subject: [PATCH 05/97] fix a bug --- .github/workflows/generator-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generator-linux.yml b/.github/workflows/generator-linux.yml index 49a8004..254a577 100644 --- a/.github/workflows/generator-linux.yml +++ b/.github/workflows/generator-linux.yml @@ -600,7 +600,7 @@ jobs: continue-on-error: true if: matrix.job.arch == 'x86_64' && env.UPLOAD_ARTIFACT == 'true' && env.VERSION != 'master' run: | - cp ./res/rustdesk-${{ env.VERSION }}-0-x86_64.pkg.tar.zst ./output/${{ inputs.filename }}.pkg.tar.zst + cp ./res/rustdesk-${{ env.VERSION }}-0-x86_64.pkg.tar.zst ./output/${{ inputs.filename }}-${{ matrix.job.arch }}.pkg.tar.zst - name: send file to rdgen server if: ${{ fromJson(inputs.extras).rdgen == 'true' }} From 9c1ab4de3cf7e12b51c3eb55c73874bb2b00fb67 Mon Sep 17 00:00:00 2001 From: zhengyin <165739215@qq.com> Date: Fri, 28 Mar 2025 19:28:33 +0800 Subject: [PATCH 06/97] fix linux file name --- rdgenerator/templates/generated.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/rdgenerator/templates/generated.html b/rdgenerator/templates/generated.html index a80fdc4..c52de3b 100644 --- a/rdgenerator/templates/generated.html +++ b/rdgenerator/templates/generated.html @@ -130,14 +130,14 @@ Download {{filename}}.exe Download {{filename}}.msi {% elif platform == 'linux' %} - Download {{filename}}.deb - Download {{filename}}.rpm - Download {{filename}}-suse.rpm - Download {{filename}}.pkg.tar.zst - Download {{filename}}.deb - Download {{filename}}.rpm - Download {{filename}}-suse.rpm - Download {{filename}}.pkg.tar.zst + Download {{filename}}-x86_64.deb + Download {{filename}}-x86_64.rpm + Download {{filename}}-suse-x86_64.rpm + Download {{filename}}-x86_64.pkg.tar.zst + Download {{filename}}-aarch64.deb + Download {{filename}}-aarch64.rpm + Download {{filename}}-suse-aarch64.rpm + Download {{filename}}-aarch64.pkg.tar.zst {% elif platform == 'android' %} Download {{filename}}-aarch64.apk Download {{filename}}-x86_64.apk From 5148b792e694ee3572676b74bfb58369f3a85c9d Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Sun, 30 Mar 2025 19:34:25 -0500 Subject: [PATCH 07/97] hopefully fix 500 error on download links --- .github/workflows/generator-linux.yml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/.github/workflows/generator-linux.yml b/.github/workflows/generator-linux.yml index 254a577..6da9222 100644 --- a/.github/workflows/generator-linux.yml +++ b/.github/workflows/generator-linux.yml @@ -110,14 +110,6 @@ jobs: deb_arch: arm64, vcpkg-triplet: arm64-linux, } - # - { - # arch: aarch64, - # target: aarch64-unknown-linux-gnu, - # distro: ubuntu18.04, - # on: [self-hosted, Linux, ARM64], - # deb_arch: arm64, - # vcpkg-triplet: arm64-linux, - # } steps: - name: Export GitHub Actions cache environment variables uses: actions/github-script@v6 @@ -626,7 +618,7 @@ jobs: url: ${{ env.STATUS_URL }} method: 'POST' customHeaders: '{"Content-Type": "application/json"}' - data: '{"uuid": "${{ inputs.uuid }}", "status": "Success"}' + data: '{"uuid": "${{ inputs.uuid }}", "status": "Finished ${{ matrix.job.arch }}"}' - name: failed if: failure() @@ -644,4 +636,16 @@ jobs: url: ${{ env.STATUS_URL }} method: 'POST' customHeaders: '{"Content-Type": "application/json"}' - data: '{"uuid": "${{ inputs.uuid }}", "status": "Generation cancelled, try again"}' \ No newline at end of file + data: '{"uuid": "${{ inputs.uuid }}", "status": "Generation cancelled, try again"}' + + deploy: + needs: build-rustdesk-linux + runs-on: ubuntu-latest + steps: + - name: Report Status + uses: fjogeleit/http-request-action@v1 + with: + url: ${{ env.STATUS_URL }} + method: 'POST' + customHeaders: '{"Content-Type": "application/json"}' + data: '{"uuid": "${{ inputs.uuid }}", "status": "Success"}' \ No newline at end of file From 6718464f5738d2255461a376f2ee901347a0380e Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Tue, 1 Apr 2025 13:34:09 -0500 Subject: [PATCH 08/97] 1.3.9 --- .github/workflows/generator-macos.yml | 18 ++++++------- .github/workflows/generator-windows.yml | 34 +++++++++++++++++++++++-- rdgenerator/forms.py | 2 +- rdgenerator/templates/generated.html | 3 ++- 4 files changed, 44 insertions(+), 13 deletions(-) diff --git a/.github/workflows/generator-macos.yml b/.github/workflows/generator-macos.yml index de6229b..7b861fe 100644 --- a/.github/workflows/generator-macos.yml +++ b/.github/workflows/generator-macos.yml @@ -93,13 +93,13 @@ jobs: fail-fast: false matrix: job: - # - { - # target: x86_64-apple-darwin, - # os: macos-13, #macos-latest or macos-14 use M1 now, https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#:~:text=14%20GB-,macos%2Dlatest%20or%20macos%2D14,-The%20macos%2Dlatestlabel - # extra-build-args: "", - # arch: x86_64, - # vcpkg-triplet: x64-osx, - # } + - { + target: x86_64-apple-darwin, + os: macos-13, #macos-latest or macos-14 use M1 now, https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#:~:text=14%20GB-,macos%2Dlatest%20or%20macos%2D14,-The%20macos%2Dlatestlabel + extra-build-args: "", + arch: x86_64, + vcpkg-triplet: x64-osx, + } - { target: aarch64-apple-darwin, os: macos-latest, @@ -727,8 +727,8 @@ jobs: if [ -n "$DMG_FILE" ]; then echo "Found DMG file: $DMG_FILE" - mv "$DMG_FILE" "${{ inputs.filename }}.dmg" - echo "Renamed to ${{ inputs.filename }}.dmg" + mv "$DMG_FILE" "${{ inputs.filename }}-${{ matrix.job.arch }}.dmg" + echo "Renamed to ${{ inputs.filename }}-${{ matrix.job.arch }}.dmg" else echo "No DMG file found matching the pattern" exit 1 diff --git a/.github/workflows/generator-windows.yml b/.github/workflows/generator-windows.yml index 7772b82..c4ccd0b 100644 --- a/.github/workflows/generator-windows.yml +++ b/.github/workflows/generator-windows.yml @@ -450,14 +450,44 @@ jobs: - name: Build rustdesk run: | + # Windows: build RustDesk + python3 .\build.py --portable --hwcodec --flutter --vram --skip-portable-pack + mv ./flutter/build/windows/x64/runner/Release ./rustdesk + + # Download usbmmidd_v2.zip and extract it to ./rustdesk Invoke-WebRequest -Uri https://github.com/rustdesk-org/rdev/releases/download/usbmmidd_v2/usbmmidd_v2.zip -OutFile usbmmidd_v2.zip Expand-Archive usbmmidd_v2.zip -DestinationPath . -Force - python3 .\build.py --portable --hwcodec --flutter --vram --skip-portable-pack Remove-Item -Path usbmmidd_v2\Win32 -Recurse Remove-Item -Path "usbmmidd_v2\deviceinstaller64.exe", "usbmmidd_v2\deviceinstaller.exe", "usbmmidd_v2\usbmmidd.bat" - mv ./flutter/build/windows/x64/runner/Release ./rustdesk mv -Force .\usbmmidd_v2 ./rustdesk + # Download printer driver files and extract them to ./rustdesk + try { + Invoke-WebRequest -Uri https://github.com/rustdesk/hbb_common/releases/download/driver/rustdesk_printer_driver_v4.zip -OutFile rustdesk_printer_driver_v4.zip + Invoke-WebRequest -Uri https://github.com/rustdesk/hbb_common/releases/download/driver/printer_driver_adapter.zip -OutFile printer_driver_adapter.zip + Invoke-WebRequest -Uri https://github.com/rustdesk/hbb_common/releases/download/driver/sha256sums -OutFile sha256sums + + # Check and move the files + $checksum_driver = (Select-String -Path .\sha256sums -Pattern '^([a-fA-F0-9]{64}) \*rustdesk_printer_driver_v4\.zip$').Matches.Groups[1].Value + $downloadsum_driver = Get-FileHash -Path rustdesk_printer_driver_v4.zip -Algorithm SHA256 + $checksum_dll = (Select-String -Path .\sha256sums -Pattern '^([a-fA-F0-9]{64}) \*printer_driver_adapter\.zip$').Matches.Groups[1].Value + $downloadsum_dll = Get-FileHash -Path printer_driver_adapter.zip -Algorithm SHA256 + if ($checksum_driver -eq $downloadsum_driver.Hash -and $checksum_dll -eq $downloadsum_dll.Hash) { + Write-Output "rustdesk_printer_driver_v4, checksums match, extract the file." + Expand-Archive rustdesk_printer_driver_v4.zip -DestinationPath . + mkdir ./rustdesk/drivers + mv -Force .\rustdesk_printer_driver_v4 ./rustdesk/drivers/RustDeskPrinterDriver + Expand-Archive printer_driver_adapter.zip -DestinationPath . + mv -Force .\printer_driver_adapter.dll ./rustdesk + } elseif ($checksum_driver -ne $downloadsum_driver.Hash) { + Write-Output "rustdesk_printer_driver_v4, checksums do not match, ignore the file." + } else { + Write-Output "printer_driver_adapter.dll, checksums do not match, ignore the file." + } + } catch { + Write-Host "Ingore the printer driver error." + } + - name: icon stuff if: ${{ inputs.iconlink != 'false' }} continue-on-error: true diff --git a/rdgenerator/forms.py b/rdgenerator/forms.py index 244de0e..9cbfa64 100644 --- a/rdgenerator/forms.py +++ b/rdgenerator/forms.py @@ -4,7 +4,7 @@ from PIL import Image class GenerateForm(forms.Form): #Platform platform = forms.ChoiceField(choices=[('windows','Windows'),('linux','Linux (currently unavailable)'),('android','Android'),('macos','macOS')], initial='windows') - version = forms.ChoiceField(choices=[('master','nightly'),('1.3.8','1.3.8'),('1.3.7','1.3.7'),('1.3.6','1.3.6'),('1.3.5','1.3.5'),('1.3.4','1.3.4'),('1.3.3','1.3.3')], initial='1.3.8') + version = forms.ChoiceField(choices=[('master','nightly'),('1.3.9','1.3.9'),('1.3.8','1.3.8'),('1.3.7','1.3.7'),('1.3.6','1.3.6'),('1.3.5','1.3.5'),('1.3.4','1.3.4'),('1.3.3','1.3.3')], initial='1.3.9') help_text="'master' is the development version (nightly build) with the latest features but may be less stable" delayFix = forms.BooleanField(initial=True, required=False) diff --git a/rdgenerator/templates/generated.html b/rdgenerator/templates/generated.html index c52de3b..026c415 100644 --- a/rdgenerator/templates/generated.html +++ b/rdgenerator/templates/generated.html @@ -143,7 +143,8 @@ Download {{filename}}-x86_64.apk Download {{filename}}-armv7.apk {% elif platform == 'macos' %} - Download {{filename}}.dmg + Download {{filename}}-x86_64.dmg + Download {{filename}}-aarch64.dmg {% else %}

Error: No file generated

{% endif %} From e2c20567d601af62b5e165dce7a34e8cf52b54ee Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Tue, 1 Apr 2025 14:08:07 -0500 Subject: [PATCH 09/97] fix macos --- .github/workflows/generator-macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generator-macos.yml b/.github/workflows/generator-macos.yml index 7b861fe..3322040 100644 --- a/.github/workflows/generator-macos.yml +++ b/.github/workflows/generator-macos.yml @@ -741,7 +741,7 @@ jobs: curl -i -X POST \ -H "Content-Type: multipart/form-data" \ -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" \ - -F "file=@$GITHUB_WORKSPACE/${{ inputs.filename }}.dmg" \ + -F "file=@$GITHUB_WORKSPACE/${{ inputs.filename }}-${{ matrix.job.arch }}.dmg" \ -F "uuid=${{ inputs.uuid }}" \ "${{ secrets.GENURL }}/save_custom_client" @@ -753,7 +753,7 @@ jobs: curl -i -X POST \ -H "Content-Type: multipart/form-data" \ -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" \ - -F "file=@$GITHUB_WORKSPACE/${{ inputs.filename }}.dmg" \ + -F "file=@$GITHUB_WORKSPACE/${{ inputs.filename }}-${{ matrix.job.arch }}.dmg" \ "${{ inputs.apiServer }}/api/save_custom_client" - name: Report Status From 972451709cda4e645a4bcc429d79c5b1cc547711 Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Tue, 1 Apr 2025 15:11:40 -0500 Subject: [PATCH 10/97] github depricating ubuntu 20.04? change to 24.04 --- .github/workflows/bridge.yml | 2 +- .github/workflows/generator-android.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/bridge.yml b/.github/workflows/bridge.yml index 9ad8f5e..edfe271 100644 --- a/.github/workflows/bridge.yml +++ b/.github/workflows/bridge.yml @@ -26,7 +26,7 @@ jobs: job: - { target: x86_64-unknown-linux-gnu, - os: ubuntu-20.04, + os: ubuntu-24.04, extra-build-args: "", } steps: diff --git a/.github/workflows/generator-android.yml b/.github/workflows/generator-android.yml index 2f10db9..17ffbaf 100644 --- a/.github/workflows/generator-android.yml +++ b/.github/workflows/generator-android.yml @@ -96,21 +96,21 @@ jobs: - { arch: aarch64, target: aarch64-linux-android, - os: ubuntu-20.04, + os: ubuntu-24.04, reltype: release, suffix: "", } - { arch: armv7, target: armv7-linux-androideabi, - os: ubuntu-20.04, + os: ubuntu-24.04, reltype: release, suffix: "", } - { arch: x86_64, target: x86_64-linux-android, - os: ubuntu-20.04, + os: ubuntu-24.04, reltype: release, suffix: "", } From 877ec790d6f359a129bc316123c1e22d57188a6f Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Tue, 1 Apr 2025 15:16:51 -0500 Subject: [PATCH 11/97] github depricating ubuntu 20.04? change to 24.04 --- .github/workflows/bridge.yml | 4 ++-- .github/workflows/generator-android.yml | 4 ++-- .github/workflows/generator-linux.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/bridge.yml b/.github/workflows/bridge.yml index edfe271..a51cb6a 100644 --- a/.github/workflows/bridge.yml +++ b/.github/workflows/bridge.yml @@ -56,9 +56,9 @@ jobs: gcc \ git \ g++ \ - libclang-10-dev \ + libclang-dev \ libgtk-3-dev \ - llvm-10-dev \ + llvm-dev \ nasm \ ninja-build \ pkg-config \ diff --git a/.github/workflows/generator-android.yml b/.github/workflows/generator-android.yml index 17ffbaf..22e769e 100644 --- a/.github/workflows/generator-android.yml +++ b/.github/workflows/generator-android.yml @@ -166,7 +166,7 @@ jobs: libayatana-appindicator3-dev \ libasound2-dev \ libc6-dev \ - libclang-10-dev \ + libclang-dev \ libgstreamer1.0-dev \ libgstreamer-plugins-base1.0-dev \ libgtk-3-dev \ @@ -179,7 +179,7 @@ jobs: libxcb-xfixes0-dev \ libxdo-dev \ libxfixes-dev \ - llvm-10-dev \ + llvm-dev \ nasm \ ninja-build \ openjdk-17-jdk-headless \ diff --git a/.github/workflows/generator-linux.yml b/.github/workflows/generator-linux.yml index 6da9222..da9677b 100644 --- a/.github/workflows/generator-linux.yml +++ b/.github/workflows/generator-linux.yml @@ -403,7 +403,7 @@ jobs: imagemagick \ libayatana-appindicator3-dev \ libasound2-dev \ - libclang-10-dev \ + libclang-dev \ libgstreamer1.0-dev \ libgstreamer-plugins-base1.0-dev \ libgtk-3-dev \ @@ -416,7 +416,7 @@ jobs: libxcb-xfixes0-dev \ libxdo-dev \ libxfixes-dev \ - llvm-10-dev \ + llvm-dev \ nasm \ ninja-build \ pkg-config \ From 50236e59ff3a5de134e9c032917381d2d1dc238a Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Tue, 1 Apr 2025 15:37:23 -0500 Subject: [PATCH 12/97] fix? --- .github/workflows/generator-windows.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/generator-windows.yml b/.github/workflows/generator-windows.yml index c4ccd0b..87c6c85 100644 --- a/.github/workflows/generator-windows.yml +++ b/.github/workflows/generator-windows.yml @@ -171,6 +171,11 @@ jobs: run: | sed -i -e 's|2ded7f146437a761ffe6981e2f742038f85ca68d|08a471bb8ceccdd50483c81cdfa8b81b07b14b87|' ./flutter/pubspec.lock sed -i -e 's|2ded7f146437a761ffe6981e2f742038f85ca68d|08a471bb8ceccdd50483c81cdfa8b81b07b14b87|' ./flutter/pubspec.yaml + + - name: update cmake minimum version + shell: bash + run: | + sed -i -e 's|cmake_minimum_required(VERSION 3.14)|cmake_minimum_required(VERSION 3.5)|' ./flutter/windows/CMakeLists.txt - name: change appname to custom if: inputs.appname != 'rustdesk' From 119b272564d5bd1b21d0b07f4280c2b92729fb02 Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Tue, 1 Apr 2025 15:51:34 -0500 Subject: [PATCH 13/97] fix? --- .github/workflows/generator-windows.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/generator-windows.yml b/.github/workflows/generator-windows.yml index 87c6c85..7894413 100644 --- a/.github/workflows/generator-windows.yml +++ b/.github/workflows/generator-windows.yml @@ -69,7 +69,7 @@ env: TAG_NAME: "${{ inputs.upload-tag }}" VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" # vcpkg version: 2024.07.12 - VCPKG_COMMIT_ID: "6f29f12e82a8293156836ad81cc9bf5af41fe836" + VCPKG_COMMIT_ID: "b02e341c927f16d991edbd915d8ea43eac52096c" VERSION: "${{ fromJson(inputs.extras).version }}" NDK_VERSION: "r27c" #signing keys env variable checks @@ -171,11 +171,6 @@ jobs: run: | sed -i -e 's|2ded7f146437a761ffe6981e2f742038f85ca68d|08a471bb8ceccdd50483c81cdfa8b81b07b14b87|' ./flutter/pubspec.lock sed -i -e 's|2ded7f146437a761ffe6981e2f742038f85ca68d|08a471bb8ceccdd50483c81cdfa8b81b07b14b87|' ./flutter/pubspec.yaml - - - name: update cmake minimum version - shell: bash - run: | - sed -i -e 's|cmake_minimum_required(VERSION 3.14)|cmake_minimum_required(VERSION 3.5)|' ./flutter/windows/CMakeLists.txt - name: change appname to custom if: inputs.appname != 'rustdesk' From a9718c4f5d25d09dd86345501c2998d924eb3262 Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Tue, 1 Apr 2025 21:37:37 -0500 Subject: [PATCH 14/97] fix? --- .github/workflows/generator-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generator-windows.yml b/.github/workflows/generator-windows.yml index 7894413..82c5289 100644 --- a/.github/workflows/generator-windows.yml +++ b/.github/workflows/generator-windows.yml @@ -69,7 +69,7 @@ env: TAG_NAME: "${{ inputs.upload-tag }}" VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" # vcpkg version: 2024.07.12 - VCPKG_COMMIT_ID: "b02e341c927f16d991edbd915d8ea43eac52096c" + VCPKG_COMMIT_ID: "460551b0ec06be1ba6b918448bf3b0f44add813d" VERSION: "${{ fromJson(inputs.extras).version }}" NDK_VERSION: "r27c" #signing keys env variable checks From f6be77c68a06b076131adfe84c5287c269c1d8e2 Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Tue, 1 Apr 2025 21:57:33 -0500 Subject: [PATCH 15/97] fix? --- .github/workflows/generator-android.yml | 2 +- .github/workflows/generator-linux.yml | 2 +- .github/workflows/generator-macos.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/generator-android.yml b/.github/workflows/generator-android.yml index 22e769e..75d7c4b 100644 --- a/.github/workflows/generator-android.yml +++ b/.github/workflows/generator-android.yml @@ -69,7 +69,7 @@ env: TAG_NAME: "${{ inputs.upload-tag }}" VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" # vcpkg version: 2024.07.12 - VCPKG_COMMIT_ID: "6f29f12e82a8293156836ad81cc9bf5af41fe836" + VCPKG_COMMIT_ID: "460551b0ec06be1ba6b918448bf3b0f44add813d" VERSION: "${{ fromJson(inputs.extras).version }}" NDK_VERSION: "r27c" #signing keys env variable checks diff --git a/.github/workflows/generator-linux.yml b/.github/workflows/generator-linux.yml index da9677b..d3cb12f 100644 --- a/.github/workflows/generator-linux.yml +++ b/.github/workflows/generator-linux.yml @@ -69,7 +69,7 @@ env: TAG_NAME: "${{ inputs.upload-tag }}" VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" # vcpkg version: 2024.07.12 - VCPKG_COMMIT_ID: "6f29f12e82a8293156836ad81cc9bf5af41fe836" + VCPKG_COMMIT_ID: "460551b0ec06be1ba6b918448bf3b0f44add813d" VERSION: "${{ fromJson(inputs.extras).version }}" NDK_VERSION: "r27c" #signing keys env variable checks diff --git a/.github/workflows/generator-macos.yml b/.github/workflows/generator-macos.yml index 3322040..bb1fcca 100644 --- a/.github/workflows/generator-macos.yml +++ b/.github/workflows/generator-macos.yml @@ -69,7 +69,7 @@ env: TAG_NAME: "${{ inputs.upload-tag }}" VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" # vcpkg version: 2024.07.12 - VCPKG_COMMIT_ID: "b2cb0da531c2f1f740045bfe7c4dac59f0b2b69c" + VCPKG_COMMIT_ID: "460551b0ec06be1ba6b918448bf3b0f44add813d" VERSION: "${{ fromJson(inputs.extras).version }}" NDK_VERSION: "r27c" #signing keys env variable checks From 08af79b9308311185d07e22d4b721f36440e787f Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Wed, 2 Apr 2025 07:04:04 -0500 Subject: [PATCH 16/97] maintenance --- rdgenerator/templates/maintenance.html | 60 ++++++++++++++++++++++++++ rdgenerator/views.py | 3 +- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 rdgenerator/templates/maintenance.html diff --git a/rdgenerator/templates/maintenance.html b/rdgenerator/templates/maintenance.html new file mode 100644 index 0000000..5e99e20 --- /dev/null +++ b/rdgenerator/templates/maintenance.html @@ -0,0 +1,60 @@ + + + + + + example.com + + + +
+

Rustdesk Client Generator

+

The Rustdesk Client Generator is currently under construction, please come back at a later time.

+
+ + \ No newline at end of file diff --git a/rdgenerator/views.py b/rdgenerator/views.py index 800e412..101cc7f 100644 --- a/rdgenerator/views.py +++ b/rdgenerator/views.py @@ -225,7 +225,8 @@ def generator_view(request): return JsonResponse({"error": "Something went wrong"}) else: form = GenerateForm() - return render(request, 'generator.html', {'form': form}) + return render(request, 'maintenance.html') + #return render(request, 'generator.html', {'form': form}) def check_for_file(request): From 996b3c66b0a3808f1c0ab3d8da026dd132ecd574 Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Wed, 2 Apr 2025 07:06:18 -0500 Subject: [PATCH 17/97] maintenance --- rdgenerator/templates/maintenance.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rdgenerator/templates/maintenance.html b/rdgenerator/templates/maintenance.html index 5e99e20..d710f99 100644 --- a/rdgenerator/templates/maintenance.html +++ b/rdgenerator/templates/maintenance.html @@ -3,7 +3,7 @@ - example.com + Rustdesk Client Generator @@ -233,6 +285,7 @@ {{ form.runasadmin }}

{{ form.passApproveMode }}

+
To use the hide connection window feature, please set a permanent password.
{{ form.permanentPassword }} *The password is used as default, but can be changed by the client

@@ -263,7 +316,7 @@

Permissions

- The following Permissions can be set as default (the user can change the settins) or override (the settings cannot be changed).
+ The following Permissions can be set as default (the user can change the settings) or override (the settings cannot be changed).
{{ form.permissionsDorO }} {{ form.permissionsType }}

@@ -298,10 +351,24 @@
- Source Code on github -
+ + -{{ ... }} \ No newline at end of file +{{ ... }} From 23e91a5ea7f9178df1142f378c5edc847c20ce4d Mon Sep 17 00:00:00 2001 From: Maxetto Date: Fri, 5 Sep 2025 12:16:40 +0200 Subject: [PATCH 70/97] Update Generator Page --- rdgenerator/templates/generator.html | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/rdgenerator/templates/generator.html b/rdgenerator/templates/generator.html index 44dee9e..1c70d96 100644 --- a/rdgenerator/templates/generator.html +++ b/rdgenerator/templates/generator.html @@ -233,7 +233,8 @@