MuMuManager CLI Menu v1.22.52
MuMuManager CLI Menu v1.22.52
Интерактивное PowerShell-меню для управления MuMu Emulator через MuMuManager.exe.
Что нового
v1.22.52 (29.09.2026)
- Фикс запуска под строгим pwsh-хостом — при
Set-StrictMode -Version Latestиз$PROFILEзапуск падал на ленивом чтении сессионных таблиц ETag-кэша («cannot be retrieved because it has not been set» → «Could not check MuMu version»); таблицы декларируются сразу, плюс strict-safe чтениеDisplayNameв реестровом обходе. - Блок версий EXE — только активная установка — строки параллельной второй инсталляции (например,
Netease1\MuMu) больше не дублируются; полное обнаружение осталось как fallback. - CI: пост-публикационный guard-аудит — release.yml диспетчеризует release-guard сразу после publish.
EN summary: Strict-host startup fix (session tables declared up front; strict-safe DisplayName read in the registry walk — no more "Could not check MuMu version" under Set-StrictMode hosts). The EXE version block lists the active install only (no duplicate parallel-install lines). release.yml dispatches the release-guard audit right after publishing.
v1.22.51 (29.09.2026)
- Поиск корней MuMu на любом диске —
Get-MumuInstallRootsобнаруживает установку автоматически: каталог MuMuManager, живые процессыMuMu*, реестровые Uninstall-записи, ярлыки «Пуска»; при пустых быстрых источниках — ограниченный спул по всем фиксированным дискам (папки*Netease*/*MuMu*, ≤3 уровней, признакnx_main/целевой EXE). Жёстко прописанные C-пути больше не используются. - [V] — реальные полные пути — блок «MuMu EXE versions» печатает обнаруженный путь каждого бинарника с авто-версией (каскад
FileVersion→ProductVersion→ версия продукта →unknown) и штампом сборки; ссылка на официальные release notes — на месте.
EN summary: MuMu install roots are now discovered on any drive (MuMuManager dir, live processes, registry uninstall entries, Start Menu shortcuts; bounded fixed-drive sweep over Netease/MuMu folders as fallback) — no hard-coded C: paths. [V] prints the discovered full path per binary with the auto-read version and build stamp, plus the official release-notes link.
v1.22.50 (29.09.2026)
- Автоверсии MuMu-EXE при запуске — меню автоматически находит
MuMuPlayer.exe/MuMuNxMain.exeиMuMuNxUpdater.exe(каталог MuMuManager, обе известные установки, пути живых процессов) и печатает версию каждого файла со штампом сборки. У MuMu 6.x эти EXE не несут ресурса версии — каскад:FileVersion→ProductVersion→ версия продукта изMuMuManager version(с пометкой) →unknown. Ручной ввод исключён.
EN summary: Startup now auto-detects and prints MuMuPlayer/MuMuNxUpdater EXE versions (discovery via MuMuManager dir, both known install roots, live process paths; resolution: version resource → ProductVersion → MuMuManager product version → unknown, always with a build-date stamp). No manual input.
v1.22.49 (29.09.2026)
- README: раздел про Mark-of-the-Web — почему ручная распаковка ZIP Проводником блокирует скрипты (
not digitally signed) и три способа лечения:[U]/bootstrap (сами скачивают, снимают метки и подписывают),Unblock-File, распаковкаtar -xf/7-Zip. Плюс строка-симптом в таблицу восстановления. - CI: CodeQL Advanced — анализ файлов воркфлоу (язык
actions), пины по SHA, weekly-расписание;.ps1-код остаётся под DevSkim + PSScriptAnalyzer. - Харденинг Test-ReleaseZip — повреждённый ZIP больше не роняет
[F]/-VerifyZipисключением: любое повреждение архива даётarchive: corrupt (...)иOk=$false; новый Pester-тест фиксирует контракт «никогда не бросает», tampered-тест стал детерминированным.
EN summary: Docs-only release: README gains a Mark-of-the-Web section (why Explorer-extracted ZIP files are blocked and the three fixes: [U]/bootstrap, Unblock-File, tar/7-Zip extraction). CI adds CodeQL Advanced over workflow files. Test-ReleaseZip hardened in both updaters to never throw on corrupt archives (Ok=$false with an "archive: corrupt" check line; new never-throws Pester test, deterministic tamper fixture).
v1.22.48 (28.09.2026)
- Фикс self-update: [U] снова доставляет полный комплект — список загрузки в
Update-FromGitHubостался на до-троичном составе из 4 файлов (v1.22.46 расширила ZIP до 8, но[U]— нет), поэтому файлы, добавленные после v1.22.45, не доходили до существующих инсталляций через[U]. Список приведён к контракту 8 файлов; дефолты rollback-функций (Build-RollbackPlan/Invoke-Rollback) расширены до того же сета — валидация бэкапов честно перечисляет недостающие файлы старых бэкапов. Новый Pester-тест фиксирует список[U]на контракте. - [WN] Watch MuMu network + updater — новый read-only пункт меню (секция Info): каждые 5 с логирует НОВЫЕ внешние TCP :443 подключения MuMu*-процессов, запуски MuMuNxUpdater (время, PID, имя), смену EXE-идентичности апдейтера (FileVersion / ProductVersion / LastWriteTime / полный путь) и его удалённые IP во время обновления; дедуп по PID+локальный порт+удалённый кортеж; лог
C:\test\mumu-network-update.txt; выход по Q/Ctrl+C. Ничего не меняет: ни firewall, ни прокси, ни DNS, ни маршруты. - Фикс Diag-MumuNx (uint32) — разделы «Listening endpoints / TCP connections / UDP endpoints» были пустыми при работающем MuMu: ключи
$procRows—[int]PID,OwningProcess—[uint32], хэш-таблица молча не совпадала по типу ключа. Подтверждено живым elevated-снимком (11 слушателей, ADB — только loopback). - Дружелюбный pre-flight в Diag-MumuNx — вместо жёсткого
#requires -RunAsAdministrator(не поймать) — runtime-проверка с готовой командой запуска от администратора.
EN summary: [U] self-update downloads the full 8-file deployed set again (the list was stuck on the pre-trio 4 files), rollback defaults widened to match, new contract test pins the list. New read-only menu entry [WN]: MuMu network + updater watcher (new external :443 connections, updater launches/EXE versions/remote IPs, PID+port dedup, Q/Ctrl+C to stop). Diag-MumuNx uint32 key-type fix (socket sections were silently empty while MuMu ran) and a friendly elevation pre-flight.
v1.22.47 (27.09.2026)
- Version bump:
$scriptVerinmumu-menu.ps1,.version, README and relnotes synchronized to1.22.47. - No code changes: this release only synchronizes the version markers after v1.22.46.
v1.22.46 (27.09.2026)
- Диагностическая троица в комплекте — release ZIP теперь несёт 8 файлов: добавлены read-only инструменты сетевой диагностики MuMu.
Watch-MumuConnections.ps1— опрос TCP-таблицы раз в 5 с, в лог только НОВЫЕ установленные подключения MuMu*-процессов (дедуп по 5-tuple+PID — кто, куда и когда, без дублей по долгоживущим сессиям).Test-MumuTunnelAB.ps1— снимки сети A/B с diff: подключения, source-адреса, default/fake-IP маршруты, route-lookup по каждому адресату, адаптеры, прокси; режим-Watchсам ловит исчезновение/появление198.18.*(переключение туннеля) и снимает B + отчёт без ручного вызова.Diag-MumuNx.ps1— запуск от администратора: сервисы и процессы MuMu с командными строками, слушатели, TCP/UDP с DNS-резолвингом адресатов, firewall-правила MuMu → логMuMuNx-*.txt. Ни один скрипт не меняет VPN, маршрутизацию или прокси. - Контракт файла-сета: 5 → 8 файлов — синхронно обновлены:
Test-ReleaseZipв обоих апдейтерах (строгая проверка missing/extras), списки самобновления[U]и bootstrap-update (новые файлы доставляются на существующие инсталляции), fixture deployed-layout ноги CI (tests/test-deployed-layout.ps1), недельный zipcheck в release-guard (EXPECTED_COUNT=8), T7/T8 тесты (stub-фикстуры и «file set: OK (8 files)»). Старые инсталляции (список из 5) по-прежнему обновляются без ошибок: их списки — подмножество. - Проверено на живой системе: вотчер поймал «Network error»-фон MuMuPlayer 6.8.0 — циклический рестарт MuMuNxUpdater (новый PID каждые 30–60 с), fake-IP туннель (198.18.0.1, Wintun, default route) и периодические 10-секундные ступоры HTTPS до
api.mumuglobal.comпри полностью живом хосте; elevated-снимок выявил две параллельные инсталляции MuMu (Netease\MuMuPlayer+Netease1\MuMu) и отсутствиеMuMuNxService.exe(реальные сервисы:MuMuPlayerRemoteService,MuMuRemoteService).
EN summary: Diagnostics trio ships in the ZIP:Watch-MumuConnections.ps1(dedup log of NEW MuMu TCP connections),Test-MumuTunnelAB.ps1(A/B network snapshots with diff +-Watchauto-trigger on fake-IP route change),Diag-MumuNx.ps1(elevated read-only services/processes/connections/firewall snapshot). Release file-set contract widened 5 → 8 files;Test-ReleaseZip,[U]/bootstrap file lists, CI deployed fixture, release-guard zipcheck and T7/T8 tests updated in lockstep.
v1.22.45 (26.09.2026)
- CI: deployed-layout Pester leg — the suite runs inside a fixture holding only the deployed file set (mumu-menu.ps1, bootstrap-update.ps1, README.md, SKILL.md, .version); repo-only files excluded (relnotes.md, RELEASE-RUNBOOK.md, update-readme.ps1, tests/). Tests tagged RepoFiles are excluded (172 of 173); both engines — PowerShell 5.1 and pwsh 7 — against the SAME copy (tests/test-deployed-layout.ps1). CI job pester-unit (deployed layout / both engines); composite action gets a layout input (repo|deployed); run-matrix.ps1 replays the leg locally.
- CI: release gate audits every Tests leg by exact name — dropping or renaming a leg from the matrix now blocks a release ("missing" instead of silently shrinking coverage). Last-row-wins re-run semantics kept (green→red blocks).
- PSSA: присваивание сплат-переменной
$argsвtests/test-deployed-layout.ps1переименовано в$exeArgs(PSAvoidAssignmentToAutomaticVariable, code-scanning #590/#591) — поведение идентично - SKILL.md: задокументирована deployed-layout нога — дерево
tests/(test-deployed-layout.ps1, тегRepoFilesв сьюте), состав матрицыtests.ymlи локальный прогон черезtests/run-matrix.ps1/tests/test-deployed-layout.ps1
v1.22.44 (25.09.2026)
- «Token rejected — retrying without auth...» на каждый запрос: отклонённый GitHub'ом сохранённый токен оставался активным до конца сессии — каждый запрос заново проходил цикл «с токеном → 401 → повтор без авторизации». Теперь токен отключается один раз на уровне script-scope с подсказкой «re-save via menu [K]», дальше всё анонимно (репозиторий публичный); централизованный guard добавлен и в
Invoke-GitHubApiGet(releases/branches/tags/compare раньше не различали Bad credentials вовсе), и в bootstrap — где прежний сброс был переменной-тенью и не работал
v1.22.43 (25.09.2026)
- Release-гейт стал самодостаточным: перед публикацией релиза workflow сам запускает Tests-матрицу на SHA тега — переиспользует уже идущий run, иначе диспетчеризует
tests.ymlпо--ref <тег>и ждёт до 25 минут; после зелёного рана — аудит ног (bootstrap-detector+ всеpester-unit), fail-closed на red/missing/timeout
Сравнение
| Предыдущая версия | v1.22.51 |
| Текущая версия | v1.22.52 |
| Коммитов | 4 |
Коммиты
09c6fe2 chore(release): bump to v1.22.52 - strict-host fix, active-install versions
c1f479f fix(menu): EXE version block lists the active install only
d293532 fix(menu): strict-host startup crash - unset EtagCache, DisplayName walk
6ac22c7 ci(release): dispatch release-guard right after publishing
Установка
Быстрый запуск (одна команда):
irm https://raw.githubusercontent.com/genrihx2/MuMuManager-CLI-Menu/main/mumu-menu.ps1 -OutFile $env:TEMP\mumu-menu.ps1; & $env:TEMP\mumu-menu.ps1Git clone (с автообновлением через [U]):
git clone https://github.com/genrihx2/MuMuManager-CLI-Menu.git
cd MuMuManager-CLI-Menu
.\mumu-menu.ps1Верификация
curl -sL https://github.com/genrihx2/MuMuManager-CLI-Menu/releases/download/v1.22.52/MuMuManager-CLI-Menu-v1.22.52.zip.sha256 -o MuMuManager-CLI-Menu-v1.22.52.zip.sha256
Get-FileHash MuMuManager-CLI-Menu-v1.22.52.zip -Algorithm SHA256 | Select -Expand Hash
# Сравнить с содержимым MuMuManager-CLI-Menu-v1.22.52.zip.sha256Метрики
| Размер ZIP | 183 KB |
| Файлов | 8 |
| SHA256 | 9da08153108ad8f8... |
Требования: Windows 10/11 · PowerShell 5.1+ · MuMu Emulator 6.x
VirusTotal verdicts
| File | SHA-256 | Malicious | Suspicious | Harmless | Report |
|---|---|---|---|---|---|
MuMuManager-CLI-Menu-v1.22.52.zip |
9da08153108ad8f81ad339960af314c679d01b098f7d1adbf2ff75472e5843e6 |
0 | 0 | 0 | report |
mumu-menu.ps1 (from ZIP) |
347bb5efd775196c8425c90af9d13cc95ff70d11c140de9f22167e8f825b2639 |
0 | 0 | 0 | report |
SKILL.md (from ZIP) |
b3e23bb1aa0c8206f47a046d46606347d6e63be63cf5ea06f7b2160a1a98bac9 |
0 | 0 | 0 | report |
Status: CLEAN - 0 malicious / 0 suspicious (CI scan 2026-09-29, scan run)
Verify the download yourself
sha256sum -c MuMuManager-CLI-Menu-v1.22.52.zip.sha256