Rebrand application as Qlyra
Build Android (FCM) / build-android-fcm (push) Canceled after 0s
Build Android / build-android (push) Canceled after 0s
Build iOS / build-ios (push) Canceled after 0s
Build Linux / build-linux (push) Canceled after 0s
Build macOS / build-macos (push) Canceled after 0s
Build Windows / build-windows (push) Canceled after 0s
Release (main) / android (oneme) (push) Canceled after 0s
Release (main) / android (qlyra) (push) Canceled after 0s
Release (main) / windows (push) Canceled after 0s
Release (main) / linux (push) Canceled after 0s
Release (main) / macos (push) Canceled after 0s
Release (main) / ios (push) Canceled after 0s
Release (main) / release (push) Canceled after 0s

This commit is contained in:
sevenhill
2026-08-30 13:16:17 +03:00
parent 0245f792de
commit f74057ce9b
592 changed files with 38233 additions and 1899 deletions
+8 -8
View File
@@ -69,12 +69,12 @@ jobs:
echo "KEYSTORE_BASE64 secret not set — release will be debug-signed."
exit 0
fi
echo "$KEYSTORE_BASE64" | base64 -d > android/app/komet-release.jks
echo "$KEYSTORE_BASE64" | base64 -d > android/app/qlyra-release.jks
{
echo "storePassword=$KEYSTORE_PASSWORD"
echo "keyPassword=$KEY_PASSWORD"
echo "keyAlias=$KEY_ALIAS"
echo "storeFile=komet-release.jks"
echo "storeFile=qlyra-release.jks"
} > android/key.properties
echo "Release signing configured."
@@ -87,7 +87,7 @@ jobs:
- name: Upload Universal APK
uses: actions/upload-artifact@v4
with:
name: komet-android-fcm-universal
name: qlyra-android-fcm-universal
path: build/app/outputs/flutter-apk/app-oneme-release.apk
if-no-files-found: error
retention-days: 30
@@ -95,7 +95,7 @@ jobs:
- name: Upload arm64-v8a APK
uses: actions/upload-artifact@v4
with:
name: komet-android-fcm-arm64-v8a
name: qlyra-android-fcm-arm64-v8a
path: build/app/outputs/flutter-apk/app-arm64-v8a-oneme-release.apk
if-no-files-found: error
retention-days: 30
@@ -103,7 +103,7 @@ jobs:
- name: Upload armeabi-v7a APK
uses: actions/upload-artifact@v4
with:
name: komet-android-fcm-armeabi-v7a
name: qlyra-android-fcm-armeabi-v7a
path: build/app/outputs/flutter-apk/app-armeabi-v7a-oneme-release.apk
if-no-files-found: error
retention-days: 30
@@ -111,7 +111,7 @@ jobs:
- name: Upload x86_64 APK
uses: actions/upload-artifact@v4
with:
name: komet-android-fcm-x86_64
name: qlyra-android-fcm-x86_64
path: build/app/outputs/flutter-apk/app-x86_64-oneme-release.apk
if-no-files-found: error
retention-days: 30
@@ -122,7 +122,7 @@ jobs:
- name: Upload App Bundle artifact
uses: actions/upload-artifact@v4
with:
name: komet-android-fcm-aab
name: qlyra-android-fcm-aab
path: build/app/outputs/bundle/onemeRelease/app-oneme-release.aab
if-no-files-found: error
retention-days: 30
@@ -130,7 +130,7 @@ jobs:
- name: Upload debug symbols
uses: actions/upload-artifact@v4
with:
name: komet-android-fcm-symbols
name: qlyra-android-fcm-symbols
path: build/symbols
if-no-files-found: error
retention-days: 90
+16 -16
View File
@@ -69,68 +69,68 @@ jobs:
echo "KEYSTORE_BASE64 secret not set — release will be debug-signed."
exit 0
fi
echo "$KEYSTORE_BASE64" | base64 -d > android/app/komet-release.jks
echo "$KEYSTORE_BASE64" | base64 -d > android/app/qlyra-release.jks
{
echo "storePassword=$KEYSTORE_PASSWORD"
echo "keyPassword=$KEY_PASSWORD"
echo "keyAlias=$KEY_ALIAS"
echo "storeFile=komet-release.jks"
echo "storeFile=qlyra-release.jks"
} > android/key.properties
echo "Release signing configured."
- name: Build Universal APK
run: flutter build apk --release --flavor komet --obfuscate --split-debug-info=build/symbols
run: flutter build apk --release --flavor qlyra --obfuscate --split-debug-info=build/symbols
- name: Build Split APKs
run: flutter build apk --release --split-per-abi --flavor komet --obfuscate --split-debug-info=build/symbols
run: flutter build apk --release --split-per-abi --flavor qlyra --obfuscate --split-debug-info=build/symbols
- name: Upload Universal APK
uses: actions/upload-artifact@v4
with:
name: komet-android-universal
path: build/app/outputs/flutter-apk/app-komet-release.apk
name: qlyra-android-universal
path: build/app/outputs/flutter-apk/app-qlyra-release.apk
if-no-files-found: error
retention-days: 30
- name: Upload arm64-v8a APK
uses: actions/upload-artifact@v4
with:
name: komet-android-arm64-v8a
path: build/app/outputs/flutter-apk/app-arm64-v8a-komet-release.apk
name: qlyra-android-arm64-v8a
path: build/app/outputs/flutter-apk/app-arm64-v8a-qlyra-release.apk
if-no-files-found: error
retention-days: 30
- name: Upload armeabi-v7a APK
uses: actions/upload-artifact@v4
with:
name: komet-android-armeabi-v7a
path: build/app/outputs/flutter-apk/app-armeabi-v7a-komet-release.apk
name: qlyra-android-armeabi-v7a
path: build/app/outputs/flutter-apk/app-armeabi-v7a-qlyra-release.apk
if-no-files-found: error
retention-days: 30
- name: Upload x86_64 APK
uses: actions/upload-artifact@v4
with:
name: komet-android-x86_64
path: build/app/outputs/flutter-apk/app-x86_64-komet-release.apk
name: qlyra-android-x86_64
path: build/app/outputs/flutter-apk/app-x86_64-qlyra-release.apk
if-no-files-found: error
retention-days: 30
- name: Build App Bundle
run: flutter build appbundle --release --flavor komet --obfuscate --split-debug-info=build/symbols
run: flutter build appbundle --release --flavor qlyra --obfuscate --split-debug-info=build/symbols
- name: Upload App Bundle artifact
uses: actions/upload-artifact@v4
with:
name: komet-android-aab
path: build/app/outputs/bundle/kometRelease/app-komet-release.aab
name: qlyra-android-aab
path: build/app/outputs/bundle/qlyraRelease/app-qlyra-release.aab
if-no-files-found: error
retention-days: 30
- name: Upload debug symbols
uses: actions/upload-artifact@v4
with:
name: komet-android-symbols
name: qlyra-android-symbols
path: build/symbols
if-no-files-found: error
retention-days: 90
+8 -8
View File
@@ -54,14 +54,14 @@ jobs:
run: |
mkdir -p dist build/ios/Payload
cp -R build/ios/iphoneos/Runner.app build/ios/Payload/
(cd build/ios && zip -qr ../../dist/Komet-ios-unsigned.ipa Payload)
(cd build/ios && zip -qr ../../dist/Qlyra-ios-unsigned.ipa Payload)
rm -rf build/ios/Payload
- name: Upload unsigned iOS artifact
uses: actions/upload-artifact@v4
with:
name: komet-ios-unsigned
path: dist/Komet-ios-unsigned.ipa
name: qlyra-ios-unsigned
path: dist/Qlyra-ios-unsigned.ipa
if-no-files-found: error
retention-days: 30
@@ -79,9 +79,9 @@ jobs:
<plist version="1.0">
<dict>
<key>get-task-allow</key><true/>
<key>application-identifier</key><string>ru.komet.app</string>
<key>application-identifier</key><string>ru.qlyra.app</string>
<key>keychain-access-groups</key>
<array><string>ru.komet.app</string></array>
<array><string>ru.qlyra.app</string></array>
</dict>
</plist>
PLIST
@@ -104,12 +104,12 @@ jobs:
run: |
mkdir -p dist build/ios/Payload
cp -R build/ios/iphoneos/Runner.app build/ios/Payload/
(cd build/ios && zip -qr ../../dist/Komet-ios-pseudosigned.ipa Payload)
(cd build/ios && zip -qr ../../dist/Qlyra-ios-pseudosigned.ipa Payload)
- name: Upload iOS artifact
uses: actions/upload-artifact@v4
with:
name: komet-ios-pseudosigned
path: dist/Komet-ios-pseudosigned.ipa
name: qlyra-ios-pseudosigned
path: dist/Qlyra-ios-pseudosigned.ipa
if-no-files-found: error
retention-days: 30
+3 -3
View File
@@ -56,12 +56,12 @@ jobs:
- name: Package Linux
run: |
mkdir -p dist
tar -C build/linux/x64/release/bundle -czf dist/Komet-linux-x64.tar.gz .
tar -C build/linux/x64/release/bundle -czf dist/Qlyra-linux-x64.tar.gz .
- name: Upload Linux artifact
uses: actions/upload-artifact@v4
with:
name: komet-linux-x64
path: dist/Komet-linux-x64.tar.gz
name: qlyra-linux-x64
path: dist/Qlyra-linux-x64.tar.gz
if-no-files-found: error
retention-days: 30
+1 -1
View File
@@ -51,7 +51,7 @@ jobs:
- name: Upload macOS DMG artifact
uses: actions/upload-artifact@v4
with:
name: komet-macos
name: qlyra-macos
path: dist/*.dmg
if-no-files-found: error
retention-days: 30
+3 -3
View File
@@ -52,12 +52,12 @@ jobs:
shell: pwsh
run: |
New-Item -ItemType Directory -Force -Path dist | Out-Null
Compress-Archive -Path build/windows/x64/runner/Release/* -DestinationPath dist/Komet-windows-x64.zip
Compress-Archive -Path build/windows/x64/runner/Release/* -DestinationPath dist/Qlyra-windows-x64.zip
- name: Upload Windows artifact
uses: actions/upload-artifact@v4
with:
name: komet-windows-x64
path: dist/Komet-windows-x64.zip
name: qlyra-windows-x64
path: dist/Qlyra-windows-x64.zip
if-no-files-found: error
retention-days: 30
+3 -3
View File
@@ -60,17 +60,17 @@ jobs:
echo "KEYSTORE_BASE64 secret not set — release will be debug-signed."
exit 0
fi
echo "$KEYSTORE_BASE64" | base64 -d > android/app/komet-release.jks
echo "$KEYSTORE_BASE64" | base64 -d > android/app/qlyra-release.jks
{
echo "storePassword=$KEYSTORE_PASSWORD"
echo "keyPassword=$KEY_PASSWORD"
echo "keyAlias=$KEY_ALIAS"
echo "storeFile=komet-release.jks"
echo "storeFile=qlyra-release.jks"
} > android/key.properties
echo "Release signing configured."
- name: Build Android APK
run: flutter build apk --release --flavor komet
run: flutter build apk --release --flavor qlyra
build-ios:
runs-on: macos-latest
+3 -3
View File
@@ -59,17 +59,17 @@ jobs:
echo "KEYSTORE_BASE64 secret not set — release will be debug-signed."
exit 0
fi
echo "$KEYSTORE_BASE64" | base64 -d > android/app/komet-release.jks
echo "$KEYSTORE_BASE64" | base64 -d > android/app/qlyra-release.jks
{
echo "storePassword=$KEYSTORE_PASSWORD"
echo "keyPassword=$KEY_PASSWORD"
echo "keyAlias=$KEY_ALIAS"
echo "storeFile=komet-release.jks"
echo "storeFile=qlyra-release.jks"
} > android/key.properties
echo "Release signing configured."
- name: Build Android APK
run: flutter build apk --release --flavor komet
run: flutter build apk --release --flavor qlyra
linux:
runs-on: ubuntu-latest
+17 -17
View File
@@ -23,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
flavor: [komet, oneme]
flavor: [qlyra, oneme]
steps:
- uses: actions/checkout@v3
with:
@@ -70,12 +70,12 @@ jobs:
echo "KEYSTORE_BASE64 secret not set — release will be debug-signed."
exit 0
fi
echo "$KEYSTORE_BASE64" | base64 -d > android/app/komet-release.jks
echo "$KEYSTORE_BASE64" | base64 -d > android/app/qlyra-release.jks
{
echo "storePassword=$KEYSTORE_PASSWORD"
echo "keyPassword=$KEY_PASSWORD"
echo "keyAlias=$KEY_ALIAS"
echo "storeFile=komet-release.jks"
echo "storeFile=qlyra-release.jks"
} > android/key.properties
echo "Release signing configured."
@@ -89,12 +89,12 @@ jobs:
run: |
F=${{ matrix.flavor }}
mkdir -p dist
cp build/app/outputs/flutter-apk/app-$F-release.apk dist/Komet-android-$F-universal.apk
cp build/app/outputs/flutter-apk/app-arm64-v8a-$F-release.apk dist/Komet-android-$F-arm64-v8a.apk
cp build/app/outputs/flutter-apk/app-armeabi-v7a-$F-release.apk dist/Komet-android-$F-armeabi-v7a.apk
cp build/app/outputs/flutter-apk/app-x86_64-$F-release.apk dist/Komet-android-$F-x86_64.apk
cp build/app/outputs/bundle/${F}Release/app-$F-release.aab dist/Komet-android-$F.aab
tar -czf dist/Komet-android-$F-symbols.tar.gz -C build/symbols .
cp build/app/outputs/flutter-apk/app-$F-release.apk dist/Qlyra-android-$F-universal.apk
cp build/app/outputs/flutter-apk/app-arm64-v8a-$F-release.apk dist/Qlyra-android-$F-arm64-v8a.apk
cp build/app/outputs/flutter-apk/app-armeabi-v7a-$F-release.apk dist/Qlyra-android-$F-armeabi-v7a.apk
cp build/app/outputs/flutter-apk/app-x86_64-$F-release.apk dist/Qlyra-android-$F-x86_64.apk
cp build/app/outputs/bundle/${F}Release/app-$F-release.aab dist/Qlyra-android-$F.aab
tar -czf dist/Qlyra-android-$F-symbols.tar.gz -C build/symbols .
- name: Upload Android artifacts (${{ matrix.flavor }})
uses: actions/upload-artifact@v4
@@ -127,7 +127,7 @@ jobs:
shell: pwsh
run: |
New-Item -ItemType Directory -Force -Path dist | Out-Null
Compress-Archive -Path build/windows/x64/runner/Release/* -DestinationPath dist/Komet-windows-x64.zip
Compress-Archive -Path build/windows/x64/runner/Release/* -DestinationPath dist/Qlyra-windows-x64.zip
- name: Upload Windows artifact
uses: actions/upload-artifact@v4
with:
@@ -162,7 +162,7 @@ jobs:
- name: Package Linux
run: |
mkdir -p dist
tar -C build/linux/x64/release/bundle -czf dist/Komet-linux-x64.tar.gz .
tar -C build/linux/x64/release/bundle -czf dist/Qlyra-linux-x64.tar.gz .
- name: Upload Linux artifact
uses: actions/upload-artifact@v4
with:
@@ -196,7 +196,7 @@ jobs:
run: |
mkdir -p dist
APP=$(find build/macos/Build/Products/Release -maxdepth 1 -name "*.app" | head -1)
ditto -c -k --keepParent "$APP" dist/Komet-macos.zip
ditto -c -k --keepParent "$APP" dist/Qlyra-macos.zip
- name: Upload macOS artifact
uses: actions/upload-artifact@v4
with:
@@ -230,7 +230,7 @@ jobs:
run: |
mkdir -p dist build/ios/Payload
cp -R build/ios/iphoneos/Runner.app build/ios/Payload/
(cd build/ios && zip -qr ../../dist/Komet-ios-unsigned.ipa Payload)
(cd build/ios && zip -qr ../../dist/Qlyra-ios-unsigned.ipa Payload)
rm -rf build/ios/Payload
- name: Install ldid
run: brew install ldid
@@ -246,9 +246,9 @@ jobs:
<dict>
<key>platform-application</key><true/>
<key>get-task-allow</key><true/>
<key>application-identifier</key><string>ru.komet.app</string>
<key>application-identifier</key><string>ru.qlyra.app</string>
<key>keychain-access-groups</key>
<array><string>ru.komet.app</string></array>
<array><string>ru.qlyra.app</string></array>
<key>com.apple.private.security.no-container</key><true/>
</dict>
</plist>
@@ -271,7 +271,7 @@ jobs:
run: |
mkdir -p dist build/ios/Payload
cp -R build/ios/iphoneos/Runner.app build/ios/Payload/
(cd build/ios && zip -qr ../../dist/Komet-ios-pseudosigned.ipa Payload)
(cd build/ios && zip -qr ../../dist/Qlyra-ios-pseudosigned.ipa Payload)
- name: Upload iOS artifact
uses: actions/upload-artifact@v4
with:
@@ -297,7 +297,7 @@ jobs:
BUILD="${{ github.event.inputs.build_number }}"
BUILD="${BUILD:-$GITHUB_RUN_NUMBER}"
echo "tag=v${BRANCH_VERSION}-dev.${BUILD}" >> "$GITHUB_OUTPUT"
echo "name=Komet ${BRANCH_VERSION}-dev (build ${BUILD})" >> "$GITHUB_OUTPUT"
echo "name=Qlyra ${BRANCH_VERSION}-dev (build ${BUILD})" >> "$GITHUB_OUTPUT"
- name: List artifacts
run: ls -lhR dist
+31 -31
View File
@@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
flavor: [komet, oneme]
flavor: [qlyra, oneme]
steps:
- uses: actions/checkout@v3
with:
@@ -65,12 +65,12 @@ jobs:
echo "KEYSTORE_BASE64 secret not set — release will be debug-signed."
exit 0
fi
echo "$KEYSTORE_BASE64" | base64 -d > android/app/komet-release.jks
echo "$KEYSTORE_BASE64" | base64 -d > android/app/qlyra-release.jks
{
echo "storePassword=$KEYSTORE_PASSWORD"
echo "keyPassword=$KEY_PASSWORD"
echo "keyAlias=$KEY_ALIAS"
echo "storeFile=komet-release.jks"
echo "storeFile=qlyra-release.jks"
} > android/key.properties
echo "Release signing configured."
@@ -84,12 +84,12 @@ jobs:
run: |
F=${{ matrix.flavor }}
mkdir -p dist
cp build/app/outputs/flutter-apk/app-$F-release.apk dist/Komet-android-$F-universal.apk
cp build/app/outputs/flutter-apk/app-arm64-v8a-$F-release.apk dist/Komet-android-$F-arm64-v8a.apk
cp build/app/outputs/flutter-apk/app-armeabi-v7a-$F-release.apk dist/Komet-android-$F-armeabi-v7a.apk
cp build/app/outputs/flutter-apk/app-x86_64-$F-release.apk dist/Komet-android-$F-x86_64.apk
cp build/app/outputs/bundle/${F}Release/app-$F-release.aab dist/Komet-android-$F.aab
tar -czf dist/Komet-android-$F-symbols.tar.gz -C build/symbols .
cp build/app/outputs/flutter-apk/app-$F-release.apk dist/Qlyra-android-$F-universal.apk
cp build/app/outputs/flutter-apk/app-arm64-v8a-$F-release.apk dist/Qlyra-android-$F-arm64-v8a.apk
cp build/app/outputs/flutter-apk/app-armeabi-v7a-$F-release.apk dist/Qlyra-android-$F-armeabi-v7a.apk
cp build/app/outputs/flutter-apk/app-x86_64-$F-release.apk dist/Qlyra-android-$F-x86_64.apk
cp build/app/outputs/bundle/${F}Release/app-$F-release.aab dist/Qlyra-android-$F.aab
tar -czf dist/Qlyra-android-$F-symbols.tar.gz -C build/symbols .
- name: Upload Android artifacts (${{ matrix.flavor }})
uses: actions/upload-artifact@v4
@@ -122,7 +122,7 @@ jobs:
shell: pwsh
run: |
New-Item -ItemType Directory -Force -Path dist | Out-Null
Compress-Archive -Path build/windows/x64/runner/Release/* -DestinationPath dist/Komet-windows-x64.zip
Compress-Archive -Path build/windows/x64/runner/Release/* -DestinationPath dist/Qlyra-windows-x64.zip
- name: Upload Windows artifact
uses: actions/upload-artifact@v4
with:
@@ -157,7 +157,7 @@ jobs:
- name: Package Linux
run: |
mkdir -p dist
tar -C build/linux/x64/release/bundle -czf dist/Komet-linux-x64.tar.gz .
tar -C build/linux/x64/release/bundle -czf dist/Qlyra-linux-x64.tar.gz .
- name: Upload Linux artifact
uses: actions/upload-artifact@v4
with:
@@ -189,7 +189,7 @@ jobs:
run: |
mkdir -p dist
APP=$(find build/macos/Build/Products/Release -maxdepth 1 -name "*.app" | head -1)
ditto -c -k --keepParent "$APP" dist/Komet-macos.zip
ditto -c -k --keepParent "$APP" dist/Qlyra-macos.zip
- name: Upload macOS artifact
uses: actions/upload-artifact@v4
with:
@@ -233,9 +233,9 @@ jobs:
<dict>
<key>platform-application</key><true/>
<key>get-task-allow</key><true/>
<key>application-identifier</key><string>ru.komet.app</string>
<key>application-identifier</key><string>ru.qlyra.app</string>
<key>keychain-access-groups</key>
<array><string>ru.komet.app</string></array>
<array><string>ru.qlyra.app</string></array>
<key>com.apple.private.security.no-container</key><true/>
</dict>
</plist>
@@ -258,7 +258,7 @@ jobs:
run: |
mkdir -p dist build/ios/Payload
cp -R build/ios/iphoneos/Runner.app build/ios/Payload/
(cd build/ios && zip -qr ../../dist/Komet-ios-pseudosigned.ipa Payload)
(cd build/ios && zip -qr ../../dist/Qlyra-ios-pseudosigned.ipa Payload)
- name: Upload iOS artifact
uses: actions/upload-artifact@v4
with:
@@ -286,7 +286,7 @@ jobs:
run: |
PUBSPEC_VERSION=$(grep '^version:' pubspec.yaml | awk '{print $2}' | cut -d'+' -f1)
echo "tag=v${PUBSPEC_VERSION}+${GITHUB_RUN_NUMBER}" >> "$GITHUB_OUTPUT"
echo "name=Komet ${PUBSPEC_VERSION} (сборка ${GITHUB_RUN_NUMBER})" >> "$GITHUB_OUTPUT"
echo "name=Qlyra ${PUBSPEC_VERSION} (сборка ${GITHUB_RUN_NUMBER})" >> "$GITHUB_OUTPUT"
- name: List artifacts
run: ls -lhR dist
@@ -305,31 +305,31 @@ jobs:
## Какой файл качать
### Android — версия Komet (без push-уведомлений)
- **`Komet-android-komet-arm64-v8a.apk`** — рекомендуется для большинства современных телефонов (64-битный ARM).
- `Komet-android-komet-universal.apk` — универсальный APK, работает везде, но весит больше.
- `Komet-android-komet-armeabi-v7a.apk` — для старых 32-битных устройств.
- `Komet-android-komet-x86_64.apk` — для эмуляторов и редких x86-устройств.
- `Komet-android-komet.aab` — App Bundle для публикации в Google Play (не для ручной установки).
### Android — версия Qlyra (без push-уведомлений)
- **`Qlyra-android-qlyra-arm64-v8a.apk`** — рекомендуется для большинства современных телефонов (64-битный ARM).
- `Qlyra-android-qlyra-universal.apk` — универсальный APK, работает везде, но весит больше.
- `Qlyra-android-qlyra-armeabi-v7a.apk` — для старых 32-битных устройств.
- `Qlyra-android-qlyra-x86_64.apk` — для эмуляторов и редких x86-устройств.
- `Qlyra-android-qlyra.aab` — App Bundle для публикации в Google Play (не для ручной установки).
### Android — версия OneMe (с push-уведомлениями через Firebase)
- **`Komet-android-oneme-arm64-v8a.apk`** — рекомендуется для большинства современных телефонов.
- `Komet-android-oneme-universal.apk` — универсальный APK.
- `Komet-android-oneme-armeabi-v7a.apk` — для старых 32-битных устройств.
- `Komet-android-oneme-x86_64.apk` — для эмуляторов и x86-устройств.
- `Komet-android-oneme.aab` — App Bundle для Google Play.
- **`Qlyra-android-oneme-arm64-v8a.apk`** — рекомендуется для большинства современных телефонов.
- `Qlyra-android-oneme-universal.apk` — универсальный APK.
- `Qlyra-android-oneme-armeabi-v7a.apk` — для старых 32-битных устройств.
- `Qlyra-android-oneme-x86_64.apk` — для эмуляторов и x86-устройств.
- `Qlyra-android-oneme.aab` — App Bundle для Google Play.
### Windows
- **`Komet-windows-x64.zip`** — портативная сборка для Windows 10/11 (x64). Распаковать и запустить `Komet.exe`.
- **`Qlyra-windows-x64.zip`** — портативная сборка для Windows 10/11 (x64). Распаковать и запустить `Qlyra.exe`.
### Linux
- **`Komet-linux-x64.tar.gz`** — сборка для 64-битного Linux. Требуются `libgtk-3`, `libsecret-1`, `libjsoncpp`. Распаковать и запустить бинарник.
- **`Qlyra-linux-x64.tar.gz`** — сборка для 64-битного Linux. Требуются `libgtk-3`, `libsecret-1`, `libjsoncpp`. Распаковать и запустить бинарник.
### macOS
- **`Komet-macos.zip`** — `.app` для macOS. Распаковать и перетащить в `/Applications`. Приложение не нотаризовано — при первом запуске разрешите через «Системные настройки → Защита и безопасность».
- **`Qlyra-macos.zip`** — `.app` для macOS. Распаковать и перетащить в `/Applications`. Приложение не нотаризовано — при первом запуске разрешите через «Системные настройки → Защита и безопасность».
### iOS
- **`Komet-ios-pseudosigned.ipa`** — IPA с псевдо-подписью (ldid).
- **`Qlyra-ios-pseudosigned.ipa`** — IPA с псевдо-подписью (ldid).
⚠️ Не устанавливается через App Store. Подходит для:
- jailbreak (Filza, rootless),
- TrollStore,