From 5f16ec48aaec66ff80e017080ceffad3b7eb3193 Mon Sep 17 00:00:00 2001 From: ares Date: Sat, 12 Sep 2026 15:38:43 +0300 Subject: [PATCH] Document verified TLS fix and iPhone installation build [skip ci] --- PLAN.md | 13 ++++++++++++- README.md | 5 +++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/PLAN.md b/PLAN.md index 85721d0..4fc9a17 100644 --- a/PLAN.md +++ b/PLAN.md @@ -30,7 +30,8 @@ Windows-агент — соседний проект `C:/Users/areso/MusicBridge - [x] Первый успешный xcodebuild + XCTest на macOS: 7 тестов, 0 отказов. - [x] Подключён GitHub remote polskikh13/musicbridgeios; Actions и чтение логов через gh работают. -- [ ] Интеграционные тесты TLS: верный/чужой/истёкший сертификат, redirect, WSS. +- [x] Интеграционные тесты TLS: верный/чужой/истёкший сертификат, HTTPS и WSS. +- [ ] Интеграционный тест отказа от redirect. - [ ] Проверить 401 и отзыв устройства, Keychain после переустановки/блокировки. - [x] Установить на физический iPhone: пользователь подтвердил установку через iloader 2026-09-12. - [ ] Проверить LAN/плеер/команды/обложку с настоящим Windows-агентом. @@ -50,6 +51,11 @@ Windows-агент — соседний проект `C:/Users/areso/MusicBridge - Windows GUI запущен с `--tray --lan`, порт TCP 8765 слушает. - На iPhone первая попытка сопряжения завершилась ошибкой недействительного сертификата сервера. Установка приложения уже работает; это отдельная TLS-проблема. +- Ошибка воспроизведена настоящим HTTPS-запросом в iOS Simulator: старый код + возвращает NSURLErrorDomain -1202 даже с верным отпечатком. Одни ATS-исключения + её не устранили. Исправление: обрабатывать server trust также в + `URLSessionTaskDelegate.didReceive`, направляя его в общую проверку отпечатка + и срока сертификата. После этого HTTPS и WSS проходят. - Подготовлены ATS-исключения только для RFC1918 CIDR: `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`. Начиная с iOS 17, для IP нужны явные исключения. Клиент продолжает требовать HTTPS, точный SHA-256 отпечаток, @@ -62,6 +68,11 @@ Windows-агент — соседний проект `C:/Users/areso/MusicBridge - Сообщение «непригодные данные» при импорте приглашения пока не разобрано: пользователь попросил отложить его. Следующий ручной шаг — повторить сопряжение после установки новой IPA, затем проверить команды, прогресс и обложку. +- `93f7c9c`: [Actions 34694138394](https://github.com/polskikh13/musicbridgeios/actions/runs/34694138394) + — 10 XCTest, 0 отказов, успешный Release archive. Версия 0.1.1 (build 2), + IPA скачана в `build/iPhone-0.1.1/MusicBridge-iPhone.ipa`; локально проверены ZIP, + iPhoneOS ARM64, версия и ATS-настройки внутри готовой IPA. + Сопряжение на физическом iPhone после этого исправления ещё не подтверждено. ## Карта diff --git a/README.md b/README.md index cf3626d..aaf96dd 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,11 @@ Apple ID и сертификаты для этой проверки не тре ## Установка на iPhone через Sideloadly +Пользователь также подтвердил установку через iloader. Для повторной установки +после исправления TLS используйте версию **0.1.1 (build 2)**: +`build/iPhone-0.1.1/MusicBridge-iPhone.ipa`. Выберите этот файл в iloader и +подпишите тем же Apple Account, которым установлена первая версия. + Workflow также выполняет Release archive для `generic/platform=iOS` и создаёт `MusicBridge-iPhone.ipa` в артефакте `MusicBridge-iPhone`. Это ARM64-сборка для iOS 17+, без подписи. Подпись создаёт Sideloadly на вашем ПК с вашим Apple Account.