🚀 UTF8NoBOM Support

This commit is contained in:
bitcookies 2025-06-29 10:28:40 +08:00
parent 5c77901c1c
commit 44e0ef1c74
2 changed files with 69 additions and 37 deletions

View file

@ -33,17 +33,17 @@ jobs:
- uses: actions/checkout@v4.2.2
- name: Generating License (ASCII)
# Do Not Use pwsh
# Use PowerShell 5
shell: powershell
run: |
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
$PSVersionTable.PSVersion
bin/x64-Release/winrar-keygen.exe "${{env.KEY_USERNAME}}" "${{env.KEY_LICENSE_NAME}}" | Out-File -Encoding ${{env.KEY_ENCODING}} rarreg.key
bin/x64-Release/winrar-keygen.exe "${{ env.KEY_USERNAME }}" "${{ env.KEY_LICENSE_NAME }}" | Out-File -Encoding ${{ env.KEY_ENCODING }} rarreg.key
- name: Uploading License
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.2
with:
name: rarreg_file_${{env.KEY_ENCODING}}
name: rarreg_file_${{ env.KEY_ENCODING }}
path: rarreg.key
if-no-files-found: error
retention-days: 90
@ -67,12 +67,12 @@ jobs:
run: |
[System.Text.Encoding]::Default
$OutputEncoding
bin/x64-Release/winrar-keygen.exe "${{env.KEY_USERNAME}}" "${{env.KEY_LICENSE_NAME}}" | Out-File -Encoding ${{env.KEY_ENCODING}} rarreg.key
bin/x64-Release/winrar-keygen.exe "${{ env.KEY_USERNAME }}" "${{ env.KEY_LICENSE_NAME }}" | Out-File -Encoding ${{ env.KEY_ENCODING }} rarreg.key
- name: Uploading License
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.2
with:
name: rarreg_file_${{env.KEY_ENCODING}}
name: rarreg_file_${{ env.KEY_ENCODING }}
path: rarreg.key
if-no-files-found: error
retention-days: 90
@ -91,17 +91,33 @@ jobs:
- uses: actions/checkout@v4.2.2
- name: Generating License (UTF-8)
# Do Not Use pwsh
shell: powershell
# Use PowerShell 7
shell: pwsh
run: |
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
$PSVersionTable.PSVersion
bin/x64-Release/winrar-keygen.exe "utf8:${{env.KEY_USERNAME}}" "${{env.KEY_LICENSE_NAME}}" | Out-File -Encoding ${{env.KEY_ENCODING}} rarreg.key
$user = "utf8:${{ env.KEY_USERNAME }}"
$license = "${{ env.KEY_LICENSE_NAME }}"
$allAscii = $true
foreach ($c in $license.ToCharArray()) {
if ([int][char]$c -gt 127) {
$allAscii = $false
break
}
}
if (-not $allAscii) {
$license = "utf8:" + $license
}
Write-Host "License string: $license"
bin/x64-Release/winrar-keygen.exe "$user" "$license" | Out-File -Encoding utf8NoBOM rarreg.key
- name: Uploading License
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.2
with:
name: rarreg_file_${{env.KEY_ENCODING}}
name: rarreg_file_${{ env.KEY_ENCODING }}
path: rarreg.key
if-no-files-found: error
retention-days: 90

View file

@ -14,27 +14,27 @@ jobs:
runs-on: windows-2022
env:
KEY_ENCODING: ${{ github.event.inputs.KEY_ENCODING }}
KEY_USERNAME: ${{secrets.TEXT1}}
KEY_LICENSE_NAME: ${{secrets.TEXT2}}
ZIP_PWD: ${{secrets.PWD}}
KEY_USERNAME: ${{ secrets.TEXT1 }}
KEY_LICENSE_NAME: ${{ secrets.TEXT2 }}
ZIP_PWD: ${{ secrets.PWD }}
if: github.event.inputs.KEY_ENCODING == 'ascii'
steps:
- uses: actions/checkout@v4.2.2
- name: Generating License (ASCII)
# Do Not Use pwsh
# Use PowerShell 5
shell: powershell
run: |
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
$PSVersionTable.PSVersion
bin/x64-Release/winrar-keygen.exe "${{env.KEY_USERNAME}}" "${{env.KEY_LICENSE_NAME}}" | Out-File -Encoding ${{env.KEY_ENCODING}} rarreg.key
7z a rarreg.7z rarreg.key -p"${{env.ZIP_PWD}}"
bin/x64-Release/winrar-keygen.exe "${{ env.KEY_USERNAME }}" "${{ env.KEY_LICENSE_NAME }}" | Out-File -Encoding ${{ env.KEY_ENCODING }} rarreg.key
7z a rarreg.7z rarreg.key -p"${{ env.ZIP_PWD }}"
- name: Uploading License
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.2
with:
name: rarreg_file_${{env.KEY_ENCODING}}
name: rarreg_file_${{ env.KEY_ENCODING }}
path: rarreg.7z
if-no-files-found: error
retention-days: 1
@ -45,9 +45,9 @@ jobs:
runs-on: windows-2022
env:
KEY_ENCODING: ${{ github.event.inputs.KEY_ENCODING }}
KEY_USERNAME: ${{secrets.TEXT1}}
KEY_LICENSE_NAME: ${{secrets.TEXT2}}
ZIP_PWD: ${{secrets.PWD}}
KEY_USERNAME: ${{ secrets.TEXT1 }}
KEY_LICENSE_NAME: ${{ secrets.TEXT2 }}
ZIP_PWD: ${{ secrets.PWD }}
if: github.event.inputs.KEY_ENCODING == 'ansi'
steps:
@ -59,13 +59,13 @@ jobs:
run: |
[System.Text.Encoding]::Default
$OutputEncoding
bin/x64-Release/winrar-keygen.exe "${{env.KEY_USERNAME}}" "${{env.KEY_LICENSE_NAME}}" | Out-File -Encoding ${{env.KEY_ENCODING}} rarreg.key
7z a rarreg.7z rarreg.key -p"${{env.ZIP_PWD}}"
bin/x64-Release/winrar-keygen.exe "${{ env.KEY_USERNAME }}" "${{ env.KEY_LICENSE_NAME }}" | Out-File -Encoding ${{ env.KEY_ENCODING }} rarreg.key
7z a rarreg.7z rarreg.key -p"${{ env.ZIP_PWD }}"
- name: Uploading License
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.2
with:
name: rarreg_file_${{env.KEY_ENCODING}}
name: rarreg_file_${{ env.KEY_ENCODING }}
path: rarreg.7z
if-no-files-found: error
retention-days: 1
@ -76,27 +76,43 @@ jobs:
runs-on: windows-2022
env:
KEY_ENCODING: ${{ github.event.inputs.KEY_ENCODING }}
KEY_USERNAME: ${{secrets.TEXT1}}
KEY_LICENSE_NAME: ${{secrets.TEXT2}}
ZIP_PWD: ${{secrets.PWD}}
KEY_USERNAME: ${{ secrets.TEXT1 }}
KEY_LICENSE_NAME: ${{ secrets.TEXT2 }}
ZIP_PWD: ${{ secrets.PWD }}
if: github.event.inputs.KEY_ENCODING == 'utf8'
steps:
- uses: actions/checkout@v4.2.2
- name: Generating License (UTF-8)
# Do Not Use pwsh
shell: powershell
# Use PowerShell 7
shell: pwsh
run: |
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
$PSVersionTable.PSVersion
bin/x64-Release/winrar-keygen.exe "utf8:${{env.KEY_USERNAME}}" "${{env.KEY_LICENSE_NAME}}" | Out-File -Encoding ${{env.KEY_ENCODING}} rarreg.key
7z a rarreg.7z rarreg.key -p"${{env.ZIP_PWD}}"
$user = "utf8:${{ env.KEY_USERNAME }}"
$license = "${{ env.KEY_LICENSE_NAME }}"
$allAscii = $true
foreach ($c in $license.ToCharArray()) {
if ([int][char]$c -gt 127) {
$allAscii = $false
break
}
}
if (-not $allAscii) {
$license = "utf8:" + $license
}
Write-Host "Final license: $license"
bin/x64-Release/winrar-keygen.exe "$user" "$license" | Out-File -Encoding utf8NoBOM rarreg.key
7z a rarreg.7z rarreg.key -p"${{ env.ZIP_PWD }}"
- name: Uploading License
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.2
with:
name: rarreg_file_${{env.KEY_ENCODING}}
name: rarreg_file_${{ env.KEY_ENCODING }}
path: rarreg.7z
if-no-files-found: error
retention-days: 1