{"id":13595833,"url":"https://github.com/M2Team/NanaBox","last_synced_at":"2025-04-09T13:33:43.644Z","repository":{"id":48192993,"uuid":"476726917","full_name":"M2Team/NanaBox","owner":"M2Team","description":"The third-party lightweight XAML-based out-of-box-experience oriented Hyper-V virtualization software based on Host Compute System API, Remote Desktop ActiveX control and XAML Islands.","archived":false,"fork":false,"pushed_at":"2024-04-13T06:26:29.000Z","size":10629,"stargazers_count":368,"open_issues_count":3,"forks_count":26,"subscribers_count":19,"default_branch":"main","last_synced_at":"2024-04-13T20:54:03.103Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.microsoft.com/store/apps/9NJXJSCB2JK0","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/M2Team.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"License.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"patreon":"MouriNaruto","custom":["https://paypal.me/MouriNaruto","https://afdian.net/a/MouriNaruto","https://github.com/MouriNaruto/MouriNaruto/tree/main/Sponsor#alipay","https://github.com/MouriNaruto/MouriNaruto/tree/main/Sponsor#wechat"]}},"created_at":"2022-04-01T13:14:23.000Z","updated_at":"2024-04-19T16:56:50.972Z","dependencies_parsed_at":"2023-02-16T22:15:37.149Z","dependency_job_id":"914933fb-5c9c-42c2-9190-6b8dd9c89ea2","html_url":"https://github.com/M2Team/NanaBox","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M2Team%2FNanaBox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M2Team%2FNanaBox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M2Team%2FNanaBox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M2Team%2FNanaBox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/M2Team","download_url":"https://codeload.github.com/M2Team/NanaBox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248049730,"owners_count":21039267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T16:01:58.751Z","updated_at":"2025-04-09T13:33:41.448Z","avatar_url":"https://github.com/M2Team.png","language":"C++","funding_links":["https://patreon.com/MouriNaruto","https://paypal.me/MouriNaruto","https://afdian.net/a/MouriNaruto","https://github.com/MouriNaruto/MouriNaruto/tree/main/Sponsor#alipay","https://github.com/MouriNaruto/MouriNaruto/tree/main/Sponsor#wechat"],"categories":["C++"],"sub_categories":[],"readme":"﻿# ![NanaBox](Assets/NanaBox.png) NanaBox\n\n[![GitHub Actions Build Status](https://github.com/M2Team/NanaBox/actions/workflows/BuildBinaries.yml/badge.svg?branch=main\u0026event=push)](https://github.com/M2Team/NanaBox/actions/workflows/BuildBinaries.yml?query=event%3Apush+branch%3Amain)\n[![Total Downloads](https://img.shields.io/github/downloads/M2Team/NanaBox/total)](https://github.com/M2Team/NanaBox/releases)\n\n[![Windows Store - Release Channel](https://img.shields.io/badge/Windows%20Store-Release%20Channel-blue)](https://www.microsoft.com/store/apps/9NJXJSCB2JK0)\n[![Windows Store - Preview Channel](https://img.shields.io/badge/Windows%20Store-Preview%20Channel-blue)](https://www.microsoft.com/store/apps/9NCBGTS09QJJ)\n\n[![Latest Version - Release Channel](https://img.shields.io/github/v/release/M2Team/NanaBox?display_name=release\u0026sort=date\u0026color=%23a4a61d)](https://github.com/M2Team/NanaBox/releases/latest)\n[![Latest Version - Preview Channel](https://img.shields.io/github/v/release/M2Team/NanaBox?include_prereleases\u0026display_name=release\u0026sort=date\u0026color=%23a4a61d)](https://github.com/M2Team/NanaBox/releases)\n\n[![Latest Release Downloads - Release Channel](https://img.shields.io/github/downloads/M2Team/NanaBox/latest/total)](https://github.com/M2Team/NanaBox/releases/latest)\n[![Latest Release Downloads - Preview Channel](https://img.shields.io/github/downloads-pre/M2Team/NanaBox/latest/total)](https://github.com/M2Team/NanaBox/releases)\n\n![Screenshot 1](Documents/Screenshot1.png)\n\n![Screenshot 2](Documents/Screenshot2.png)\n\n![Screenshot 3](Documents/Screenshot3.png)\n\nNanaBox is a third-party lightweight XAML-based out-of-box-experience oriented\nHyper-V virtualization software based on Host Compute System API, Remote Desktop\nActiveX control and XAML Islands.\n\nNanaBox is not a Hyper-V client because Host Compute System API is low-level API\nof Hyper-V WMI Providers which used in Hyper-V Manager, and Host Compute System\nAPI is stateless which not available to manage virtual machines listed in\nHyper-V Manager.\n\nNanaBox chooses Host Compute System API instead of Hyper-V WMI Providers because\nthe author (Kenji Mouri) wants to have portable virtual machine configurations\nand feels disgusting for registering virtual machine configurations into system.\n\nNanaBox chooses define own JSON-based virtual machine configurations format\nbecause Hyper-V's VMCX is a binary format and no documented format definitions\nfrom Microsoft.\n\n**All kinds of contributions will be appreciated. All suggestions, pull \nrequests, and issues are welcome.**\n\nIf you want to sponsor the development of NanaBox, please read the document of\n[NanaBox Sponsor Edition](Documents/SponsorEdition.md). It's free for all\nNanaBox source code repository contributors.\n\nIn general, NanaBox Sponsor Edition is more like contributor's edition, but\nwe provide a way to buy the honor and make someone look like a source code\ncontributor, because NanaBox is always a community-friendly open-source project.\n\nIf you'd like me to add features or improvements ahead of time, please use\n[paid services](https://github.com/MouriNaruto/MouriNaruto/blob/main/PaidServices.md).\n\n## Features\n\n- Based on Host Compute System API as virtualization backend.\n- Support Hyper-V Enhanced Session Mode for Windows Guests.\n- Support Hyper-V Nested Virtualization.\n- Support Hyper-V GPU paravirtualization solution a.k.a GPU-PV.\n- Support expose COM ports and physical drives to the virtual machine.\n- Support enables Secure Boot for virtual machine.\n- Use JSON based format to support portable virtual machine.\n- Packaging with MSIX for modern deployment experience.\n- Modernize the UI with XAML Islands with dark and light mode support.\n- Full High DPI and partial Accessibility support.\n- Support full screen mode.\n- Multi-language Support: English and Simplified Chinese.\n- Enable the relative mouse mode in Windows 11 Version 24H2 or later Host OS.\n- Support the Trusted Platform Module (TPM) 2.0 for virtual machines in Windows\n  11 Version 24H2 or later Host OS. (Although Windows Server 2022 had introduced\n  the related Host Compute System API interfaces, but it seems doesn't be\n  implemented.)\n- Support customize partial System Management BIOS (SMBIOS) information for\n  virtual machines.\n- Support cursor confining with Ctrl+Alt+Left/Right shortcut key for improve\n  user experience for some applications. (Press the same shortcut key if you\n  want to release cursor confining.)\n\n## System Requirements\n\n- Supported OS: Windows 10 Version 2004 (Build 19041) or later\n- Supported Platforms: x64 and ARM64\n\n## Known issues\n\n- Due to Host Compute System API and Host Compute Network API limitations, \n  there are some limitations from them also applied to NanaBox:\n  - NanaBox only supports create UEFI Class 3 or UEFI without CSM or Hyper-V \n    Gen 2 virtual machines.\n  - NanaBox needs elevated privilege via UAC.\n  - The automatic switch between Enhanced Session Mode and Basic Session Mode\n    won't be implemented.\n  - You shouldn't put your virtual machine configuration file at the root of\n    the drive, or you will meet the access denied error.\n- Due to the Microsoft Store Licensing API implementation, you will find NanaBox\n  will try to access the Internet beginning with NanaBox 1.2 because NanaBox\n  needs to use that to check the Sponsor Edition addon licensing status.\n- For optimizing the user experience, NanaBox will only check the Sponsor \n  Edition addon licensing status at the first time your launch NanaBox. You\n  can click the sponsor button if you want to refresh the status after you\n  have purchased or redeemed the Sponsor Edition addon.\n\nReference documents for known issues:\n\n- [MD4: Notes for using Host Compute System API](https://github.com/MouriNaruto/MouriDocs/tree/main/docs/4)\n\n## Tips for users who want to only enable Virtual Machine Platform feature\n\nYou need to execute from [Documents/GenerateVmmsCertificate.ps1](Documents/GenerateVmmsCertificate.ps1)\nor your binary packages when you using NanaBox in the first time or after\nmodifying your computer name.\n\n\u003e PowerShell -NoLogo -NoProfile -NonInteractive -InputFormat None -ExecutionPolicy Bypass \"The path of the GenerateVmmsCertificate.ps1\"\n\nAlso, you are unable to enable TPM support when you using NanaBox with Virtual\nMachine Platform feature only.\n\n## Development Roadmap\n\n- Future Series (T.B.D.)\n  - [ ] Add friendly virtual machine creation UI and settings UI.\n  - [ ] Provide tool for Hyper-V vmcx migration. (Suggested by Belleve.)\n  - [ ] Add support for setting RDP options with .rdp file. (Suggested by \n        awakecoding.)\n  - [ ] Add support for connecting virtual machine with MsRdpEx from \n        Devolutions. (Suggested by awakecoding.)\n\n## Documents\n\n- [License](License.md)\n- [Relevant People](Documents/People.md)\n- [Privacy Policy](Documents/Privacy.md)\n- [Code of Conduct](CODE_OF_CONDUCT.md)\n- [Contributing Guide](CONTRIBUTING.md)\n- [Release Notes](Documents/ReleaseNotes.md)\n- [Versioning](Documents/Versioning.md)\n- [NanaBox Configuration File Reference](Documents/ConfigurationReference.md)\n- [NanaBox Sponsor Edition](Documents/SponsorEdition.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FM2Team%2FNanaBox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FM2Team%2FNanaBox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FM2Team%2FNanaBox/lists"}