mirror of
https://github.com/sipeed/NanoKVM.git
synced 2026-09-11 09:26:44 -05:00
feat: support downloading image from online URL feat: add keyboard shortcut Ctrl+Alt+Del fix: fix the CSRF issue perf: add an option to configure custom ICE servers perf: removed unnecessary modifications to DNS configuration perf: add an SSH enable/disable toggle in the web UI perf: add a Tailscale enable/disable toggle in the web UI perf: download Tailscale installation package from the official source perf: automatic enable/disable GOMEMLIMIT on tailscale start/stop perf: add JWT configuration perf: implement secure password storage using bcrypt hashing perf: implement integrity checks for online updates refactor: refactor HDMI module and remove the dependency libmaixcam_lib.so refactor: web terminal use pty instead of SSH refactor: move Tailscale APIs from the network module to the extensions module
2.2 KiB
2.2 KiB
NanoKVM Frontend
This is NanoKVM web project. For more documentation, please refer to the Wiki.
Structure
src
├── api // backend api
├── assets // static resources
├── components // public components
├── i18n // language resources
├── jotai // Global jotai variables
├── lib // util libs
├── pages // web pages
│ ├── auth // login and password
│ ├── desktop // remote desktop
│ └── terminal // web terminal
├── router.tsx // routers
└── types // types
Local Development
Development requires SSH. You can enable it in the Web Settings:
Settings > SSH.
Due to CORS restrictions, authentication needs to be disabled during local development.
To develop authentication features, you need to build the project and test in NanoKVM.
- Log in to NanoKVM via SSH:
ssh root@your-nanokvm-ip(default password is root). - Open the configuration file
/etc/kvm/server.yaml/and addauthentication: disable. ⚠️CAUTION: This option disables all authentication and should NOT be enabled in production environment! - Restart the service:
/etc/init.d/S95nanokvm restart. - Edit the
.env.developmentfile and changeVITE_SERVER_IPto your NanoKVM IP address. - Run
pnpm devto start the server and visit http://localhost:3001/ in browser.
It's recommended to disable browser caching to avoid access issues during development:
- Open the browser Developer Tools;
- Go to the
Networktab; - Check
Disable cacheoption; - Refresh the page.
Deployment
Build:
cd web
pnpm install
pnpm build
- After the compilation is complete, the
distfolder will be generated. - Rename the folder to
web. - Upload
webto/kvmapp/server/in NanoKVM. - Restart the service by executing
/etc/init.d/S95nanokvm restartin NanoKVM.
Tips:
- File uploads requires SSH. You can enable it in the Web Settings:
Settings > SSH. - Browser may have old version cache. If you can't open the page, try a force refresh or clear the cache.