Языки / Languages: Русский · English
NSIC — настольное приложение для macOS ARM64, которое собирает пользовательские
NSP, NSZ, XCI и XCZ в единый XCI и при необходимости проверяет готовый
образ. Основной сценарий — подготовка локального образа base + update + DLC для
запуска в MeloNX.
Интерфейс следует модели PS4 FFPFSC: источник → найденный состав → параметры → журнал и проверяемый результат.
Warning
Успешная сборка и статическая проверка не гарантируют запуск конкретной игры в MeloNX. NSIC не меняет TITLE ID. В безопасном режиме модификаций исходные base и update сохраняются, а PublicData/Meta выбранного DLC пересобираются и имеют не исходную подпись — это ожидаемый результат.
- выбор отдельных файлов, рекурсивное сканирование папки и drag-and-drop;
- распознавание base, update и DLC по TITLE ID и имени файла;
- защита от случайного объединения разных игр;
- защита от одновременной упаковки взаимоисключающих прав It Takes Two: для
полной игры используется
010092A0172E5001, а Friends Pass010092A0172E5002исключается; - сборка только в XCI с отключённым по умолчанию изменением RSV/key generation;
- опциональное исключение delta-фрагментов;
- проверка расшифровки и подписей обычного XCI; для модифицированного DLC вместо неприменимой исходной подписи проверяются все уровни внутренней IVFC;
- проверенный на MeloNX безопасный режим русификаций Unreal Engine: файлы
PAK/UTOC/UCAS из
<TITLE ID>/romfsвстраиваются в явно выбранный DLC-плагин, не затрагивая base, update и остальные DLC; - поэтапный прогресс, скорость, ETA, журнал и безопасная отмена;
- понятное использование временной папки: потоковая сборка NSP/XCI может её не заполнять, а NSZ/XCZ и встраивание модификаций используют её явно;
- русский и английский интерфейс;
- локальное хранение настроек в Application Support;
- импорт пользовательского
prod.keysи внешнего backend без добавления их в репозиторий.
- Откройте Настройки.
- Импортируйте свой законно полученный
prod.keys. - Импортируйте
nscb_rust-macos-arm64либо явно скачайте его из релиза автора. - Для встраивания русификатора дополнительно импортируйте ARM64-бинарники
hactoolи исправленныйhacPack, затем выберите папку модификации и совместимый DLC-контейнер с Unreal-плагином (.upluginи штатный.pak). Перед сборкой hacPack примените патч NSIC по инструкции: он устраняет переполнение при шифровании секций больше 4 ГБ и разрешает реальные версии SDK новее 0.x. - Добавьте base, самый новый update и DLC одной игры.
- Выберите папку результата и нажмите «Собрать XCI».
Исходные файлы передаются backend только для чтения. Результат и временные данные создаются в выбранных пользователем каталогах.
NSIC использует cxfcxf/nscb_rust как отдельно запускаемую утилиту. Backend не включён в исходники или релизы NSIC. На 4 августа 2026 года в его репозитории не найден отдельный файл лицензии, поэтому автоматизация релиза NSIC намеренно не упаковывает этот бинарник.
Пользователь запускает загрузку или импорт вручную. Для релиза, содержащего backend, сначала необходимо получить явное разрешение автора или дождаться публикации лицензии.
Опциональный pipeline модификаций вызывает внешние hactool (ISC) и hacPack (GPL-2.0). Они импортируются пользователем и не входят в исходники или релизы NSIC.
После пересборки PublicData NCA выбранного DLC приложение запускает полную
проверку IVFC через hactool. Образ не создаётся, если хотя бы один из уровней
0–5 повреждён. Эта схема была подтверждена на MeloNX для It Takes Two: Full Game
DLC определяется, а русская PAK-озвучка загружается без пересборки Program NCA.
После merge NSIC дополнительно перечитывает состав готового XCI и проверяет,
что ожидаемые base и DLC присутствуют ровно по одному разу.
- NSIC не ищет и не скачивает игры, ключи или title keys.
prod.keys,keys.txt, игровые форматы и backend исключены из Git.- содержимое ключей не записывается в журнал; путь ключа маскируется как
<prod.keys>в отображаемой команде; - загрузка backend ограничена официальными GitHub Releases
cxfcxf/nscb_rust; - используйте только собственные законно полученные дампы и ключи.
Подробнее: SECURITY.md и THIRD_PARTY_NOTICES.md.
Требуются Node.js 20+, pnpm и стабильный Rust toolchain.
pnpm install
pnpm typecheck
pnpm test
cargo test --manifest-path src-tauri/Cargo.toml
pnpm devСборка macOS ARM64:
./scripts/build_release_macos_arm64.shИли напрямую:
pnpm build:arm64Nintendo-Switch-Image-Converter/
├── .github/
│ ├── ISSUE_TEMPLATE/ # шаблоны ошибок и предложений
│ └── workflows/ # CI и публикация macOS ARM64
├── assets/ # исходники брендинга
├── docs/
│ ├── ARCHITECTURE.md # границы UI / Tauri / backend
│ └── RELEASING.md # проверяемый процесс релиза
├── scripts/ # локальная сборка и аудит релиза
├── src-tauri/ # Rust host и настройки Tauri
├── ui/ # React UI и тестируемая модель
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── SECURITY.md
└── THIRD_PARTY_NOTICES.md
switch-merge-utility удобен для склейки частей одного split-файла, но его README прямо указывает, что он не применяет обновления NSP/XCI. Для сборки base + update + DLC нужен контентно-ориентированный backend.
Другие изученные проекты:
- NSC_Builder — зрелая концепция multi-content XCI/NSP;
- NSZ — lossless-сжатие и распаковка NSZ/XCZ;
- nscb-desktop — Tauri-интеграция с
nscb_rust.
- чтение CNMT/NACP-метаданных вместо резервной классификации по имени;
- очередь нескольких игр и возобновление прерванных задач;
- оценка свободного места до запуска;
- подписанные и notarized релизы;
- диагностический пакет без ключей и пользовательских путей;
- предварительная оценка требуемого места для пересборки DLC-контейнера;
- поддержка нескольких совместимых модификаций с управлением порядком наложения.
Исходный код NSIC распространяется по лицензии ISC. Сторонние компоненты имеют собственные лицензии и условия распространения.