עזרה במימוש Auto Update ב-Tauri (v1)
-
שלום!
אני בונה אפליקציית דסקטופ (לWindows) באמצעות Tauri v1 ו-React.
אני רוצה להכניס אפשרות של עדכונים באמצעות TAURI...
בכללות הקוד של התוכנה הוא בפרוייקט פרטי בGIT ועשיתי פרוייקט פתוח רק לגרסאות (כדי שהתוכנה תוכל לקבל את הקובץ update.json ולמשוך אם צריך את הקובץ של הגרסה החדשה...)
עשיתי סקריפט לגיט שמאתר אם המספר גרסה בpackage.json השתנה, ואם כן הוא מפעיל בניה (אצל GIT) ועושה את כל השאר...
הבעיה שלי, היא ששלב החתימה נכשל כל פעם מחדש...
פקודת יצירת המפתחות (npx tauri signer generate) יוצרת לי מפתחות לא רגילים משום מה (לפחות לא רגילים למפתחות אחרים שיש בעולם, אולי בTAURI זה שונה בהגדרה...) - מפתחות שמקודדים לBASE64.
אם אני מנסה לעשות את זה איתם אז זה נכשל כל פעם מחדש, אולי אני צריך להמיר את זה ידנית מBASE64? זה תמוה... ואז להזין גם את הכותרת (כמו untrusted comment: rsign encrypted secret key אחרי הפיענוח)?
ניסיתי עשרות פעמים... וזה אף פעם לא מצליח לי...
עם עשרות סקריפטים שונים לGIT, נסיונות עזרה בבינה מלאכותית, וכלום... בין שגיאת מפתח לשגיאת תחביר...
למישהו יש רעיון איך מצילים את המצב? -
שלום!
אני בונה אפליקציית דסקטופ (לWindows) באמצעות Tauri v1 ו-React.
אני רוצה להכניס אפשרות של עדכונים באמצעות TAURI...
בכללות הקוד של התוכנה הוא בפרוייקט פרטי בGIT ועשיתי פרוייקט פתוח רק לגרסאות (כדי שהתוכנה תוכל לקבל את הקובץ update.json ולמשוך אם צריך את הקובץ של הגרסה החדשה...)
עשיתי סקריפט לגיט שמאתר אם המספר גרסה בpackage.json השתנה, ואם כן הוא מפעיל בניה (אצל GIT) ועושה את כל השאר...
הבעיה שלי, היא ששלב החתימה נכשל כל פעם מחדש...
פקודת יצירת המפתחות (npx tauri signer generate) יוצרת לי מפתחות לא רגילים משום מה (לפחות לא רגילים למפתחות אחרים שיש בעולם, אולי בTAURI זה שונה בהגדרה...) - מפתחות שמקודדים לBASE64.
אם אני מנסה לעשות את זה איתם אז זה נכשל כל פעם מחדש, אולי אני צריך להמיר את זה ידנית מBASE64? זה תמוה... ואז להזין גם את הכותרת (כמו untrusted comment: rsign encrypted secret key אחרי הפיענוח)?
ניסיתי עשרות פעמים... וזה אף פעם לא מצליח לי...
עם עשרות סקריפטים שונים לGIT, נסיונות עזרה בבינה מלאכותית, וכלום... בין שגיאת מפתח לשגיאת תחביר...
למישהו יש רעיון איך מצילים את המצב?@oryadaniely כתב בעזרה במימוש Auto Update ב-Tauri (v1):
עם עשרות סקריפטים שונים לGIT, נסיונות עזרה בבינה מלאכותית, וכלום... בין שגיאת מפתח לשגיאת תחביר...
למישהו יש רעיון איך מצילים את המצב?משהו שמצאתי שעוזר למודלים להבין את הקונטקסט זה להוריד את הקוד מקור של הכלי המדובר
במקרה זה להוריד את tauri ולתת לו לנבור בקוד מקור להבין מה בדיוק קורה כשאתה מריץ tauri signer generate -
אפשרי... אבל זה לא נראה לי כ"כ קל. מה גם שזה מוצפן השלב הזה...
-
אפשרי... אבל זה לא נראה לי כ"כ קל. מה גם שזה מוצפן השלב הזה...
@oryadaniely כתב בעזרה במימוש Auto Update ב-Tauri (v1):
אפשרי... אבל זה לא נראה לי כ"כ קל. מה גם שזה מוצפן השלב הזה...
אם הLLM יבין את הקוד מקור
יכול תאורטית להבין את הפעולה ולבצע אותה מחדש בפייתון ולהשוות את הפלט -
@oryadaniely כתב בעזרה במימוש Auto Update ב-Tauri (v1):
אפשרי... אבל זה לא נראה לי כ"כ קל. מה גם שזה מוצפן השלב הזה...
אם הLLM יבין את הקוד מקור
יכול תאורטית להבין את הפעולה ולבצע אותה מחדש בפייתון ולהשוות את הפלט@nigun
החתימה היא ע"י minisign.exe
ובמחשב שלי הרצתי סקריפט שיוצר, בודק בפועל חתימה וכותב את המפתחות התקינים. משום מה שאני מריץ בGIT (לא את הסקריפט, את הבניה של TAURI והחתימות...) זה נותן שגיאות שונות ומשונות של תוים לא תקינים במפתח/מפתח לא תקין וכד'...# --- Configuration --- $PASSWORD = "1234" $FileName = "TEST.json" # --- Find Minisign --- $minisignPath = "" if (Get-Command "minisign" -ErrorAction SilentlyContinue) { $minisignPath = "minisign" } elseif (Test-Path ".\minisign.exe") { $minisignPath = (Resolve-Path ".\minisign.exe").Path } else { Write-Host "Error: minisign.exe not found!" -ForegroundColor Red; return } Write-Host "--- Starting process with password: $PASSWORD ---" -ForegroundColor Cyan # --- 1. Create Input Files (To ensure exact password match) --- $newLine = [Environment]::NewLine $genInput = $PASSWORD + $newLine + $PASSWORD + $newLine [System.IO.File]::WriteAllText("$PWD\gen_input.txt", $genInput) $signInput = $PASSWORD + $newLine [System.IO.File]::WriteAllText("$PWD\sign_input.txt", $signInput) # --- 2. Generate Keys --- Write-Host "1. Generating new keys (tauri.key, tauri.pub)..." -ForegroundColor Yellow Remove-Item "tauri.key", "tauri.pub", "$FileName.minisig" -ErrorAction SilentlyContinue cmd /c "`"$minisignPath`" -G -p tauri.pub -s tauri.key -f < gen_input.txt" if (-not (Test-Path "tauri.key")) { Write-Host "Failed to create keys." -ForegroundColor Red Remove-Item "gen_input.txt", "sign_input.txt" -ErrorAction SilentlyContinue return } # --- 3. Sign Dummy File --- Write-Host "2. Creating dummy file and Signing..." -ForegroundColor Yellow '{ "version": "1.0.0", "notes": "Test" }' | Out-File $FileName -Encoding ascii cmd /c "`"$minisignPath`" -S -s tauri.key -m $FileName < sign_input.txt" if (Test-Path "$FileName.minisig") { Write-Host "SUCCESS: File signed with password '$PASSWORD'!" -ForegroundColor Green } else { Write-Host "FAILED: Signing failed." -ForegroundColor Red return } # --- 4. Display Results (FIXED) --- # Public key: Only line 2 (Line 1 is index 0, Line 2 is index 1) $pubKey = (Get-Content "tauri.pub")[1] # Private key: THE WHOLE FILE (Use Out-String to keep the newlines) $privKey = Get-Content "tauri.key" | Out-String Write-Host "`n==============================================" -ForegroundColor White Write-Host " SUCCESS! COPY THESE KEYS:" -ForegroundColor White Write-Host "==============================================" -ForegroundColor White Write-Host "PUBLIC KEY (tauri.conf.json):" -ForegroundColor Yellow Write-Host $pubKey -ForegroundColor Green Write-Host "`nPRIVATE KEY (GitHub Secrets - TAURI_PRIVATE_KEY):" -ForegroundColor Yellow Write-Host "(Copy everything below, including the header line)" -ForegroundColor Gray Write-Host $privKey -ForegroundColor Green Write-Host "PASSWORD (GitHub Secrets - TAURI_KEY_PASSWORD):" -ForegroundColor Yellow Write-Host $PASSWORD -ForegroundColor Green Write-Host "==============================================`n" -ForegroundColor White # --- Cleanup --- Remove-Item "gen_input.txt", "sign_input.txt", "$FileName", "$FileName.minisig" -ErrorAction SilentlyContinue