gitextract_m9ntu940/ ├── .commitlintrc.json ├── .dockerignore ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ └── config.yml │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── docker.yml │ ├── electron.yml │ ├── openapi.yml │ └── pr-check.yml ├── .gitignore ├── .husky/ │ ├── commit-msg │ └── pre-commit ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Casks/ │ └── termix.rb ├── LICENSE ├── README.md ├── SECURITY.md ├── build/ │ ├── Termix_Mac_App_Store.provisionprofile │ ├── entitlements.mac.inherit.plist │ ├── entitlements.mac.plist │ ├── entitlements.mas.inherit.plist │ ├── entitlements.mas.plist │ └── notarize.cjs ├── chocolatey/ │ ├── termix-ssh.nuspec │ └── tools/ │ ├── chocolateyinstall.ps1 │ └── chocolateyuninstall.ps1 ├── components.json ├── crowdin.yml ├── docker/ │ ├── Dockerfile │ ├── docker-compose.yml │ ├── entrypoint.sh │ ├── nginx-https.conf │ └── nginx.conf ├── electron/ │ ├── main.cjs │ └── preload.js ├── electron-builder.json ├── eslint.config.js ├── flatpak/ │ ├── com.karmaa.termix.desktop │ ├── com.karmaa.termix.flatpakref │ ├── com.karmaa.termix.metainfo.xml │ ├── com.karmaa.termix.yml │ └── flathub.json ├── index.html ├── package.json ├── public/ │ ├── icon.icns │ ├── icons/ │ │ └── icon.icns │ ├── manifest.json │ └── sw.js ├── readme/ │ ├── README-AR.md │ ├── README-CN.md │ ├── README-DE.md │ ├── README-ES.md │ ├── README-FR.md │ ├── README-HI.md │ ├── README-IT.md │ ├── README-JA.md │ ├── README-KO.md │ ├── README-PT.md │ ├── README-RU.md │ ├── README-TR.md │ └── README-VI.md ├── src/ │ ├── backend/ │ │ ├── dashboard.ts │ │ ├── database/ │ │ │ ├── database.ts │ │ │ ├── db/ │ │ │ │ ├── index.ts │ │ │ │ └── schema.ts │ │ │ └── routes/ │ │ │ ├── alerts.ts │ │ │ ├── credentials.ts │ │ │ ├── host.ts │ │ │ ├── network-topology.ts │ │ │ ├── rbac.ts │ │ │ ├── snippets.ts │ │ │ ├── terminal.ts │ │ │ └── users.ts │ │ ├── guacamole/ │ │ │ ├── guacamole-server.ts │ │ │ ├── routes.ts │ │ │ └── token-service.ts │ │ ├── scripts/ │ │ │ ├── enable-ssl.sh │ │ │ └── setup-ssl.sh │ │ ├── ssh/ │ │ │ ├── auth-manager.ts │ │ │ ├── docker-console.ts │ │ │ ├── docker.ts │ │ │ ├── file-manager.ts │ │ │ ├── host-key-verifier.ts │ │ │ ├── opkssh-auth.ts │ │ │ ├── server-stats.ts │ │ │ ├── ssh-connection-pool.ts │ │ │ ├── terminal-session-manager.ts │ │ │ ├── terminal.ts │ │ │ ├── tunnel.ts │ │ │ └── widgets/ │ │ │ ├── common-utils.ts │ │ │ ├── cpu-collector.ts │ │ │ ├── disk-collector.ts │ │ │ ├── firewall-collector.ts │ │ │ ├── login-stats-collector.ts │ │ │ ├── memory-collector.ts │ │ │ ├── network-collector.ts │ │ │ ├── ports-collector.ts │ │ │ ├── processes-collector.ts │ │ │ ├── system-collector.ts │ │ │ └── uptime-collector.ts │ │ ├── starter.ts │ │ ├── swagger.ts │ │ └── utils/ │ │ ├── auth-manager.ts │ │ ├── auto-ssl-setup.ts │ │ ├── credential-system-encryption-migration.ts │ │ ├── data-crypto.ts │ │ ├── database-file-encryption.ts │ │ ├── database-migration.ts │ │ ├── database-save-trigger.ts │ │ ├── field-crypto.ts │ │ ├── lazy-field-encryption.ts │ │ ├── logger.ts │ │ ├── login-rate-limiter.ts │ │ ├── opkssh-binary-manager.ts │ │ ├── permission-manager.ts │ │ ├── proxy-agent.ts │ │ ├── proxy-helper.ts │ │ ├── request-origin.ts │ │ ├── shared-credential-manager.ts │ │ ├── simple-db-ops.ts │ │ ├── socks5-helper.ts │ │ ├── ssh-key-utils.ts │ │ ├── system-crypto.ts │ │ ├── user-agent-parser.ts │ │ ├── user-crypto.ts │ │ ├── user-data-export.ts │ │ └── user-data-import.ts │ ├── components/ │ │ ├── theme-provider.tsx │ │ └── ui/ │ │ ├── accordion.tsx │ │ ├── alert-dialog.tsx │ │ ├── alert.tsx │ │ ├── badge.tsx │ │ ├── button-group.tsx │ │ ├── button.tsx │ │ ├── card.tsx │ │ ├── chart.tsx │ │ ├── checkbox.tsx │ │ ├── command.tsx │ │ ├── dialog.tsx │ │ ├── dropdown-menu.tsx │ │ ├── form.tsx │ │ ├── input.tsx │ │ ├── kbd.tsx │ │ ├── label.tsx │ │ ├── password-input.tsx │ │ ├── popover.tsx │ │ ├── progress.tsx │ │ ├── resizable.tsx │ │ ├── scroll-area.tsx │ │ ├── select.tsx │ │ ├── separator.tsx │ │ ├── shadcn-io/ │ │ │ └── status/ │ │ │ └── index.tsx │ │ ├── sheet.tsx │ │ ├── sidebar.tsx │ │ ├── skeleton.tsx │ │ ├── slider.tsx │ │ ├── sonner.tsx │ │ ├── switch.tsx │ │ ├── table.tsx │ │ ├── tabs.tsx │ │ ├── textarea.tsx │ │ ├── tooltip.tsx │ │ └── version-alert.tsx │ ├── constants/ │ │ └── terminal-themes.ts │ ├── hooks/ │ │ ├── use-confirmation.ts │ │ ├── use-mobile.ts │ │ └── use-service-worker.ts │ ├── i18n/ │ │ └── i18n.ts │ ├── index.css │ ├── lib/ │ │ ├── base-path.ts │ │ ├── clipboard-provider.ts │ │ ├── db-health-monitor.ts │ │ ├── frontend-logger.ts │ │ ├── terminal-syntax-highlighter.ts │ │ └── utils.ts │ ├── locales/ │ │ ├── README.md │ │ ├── en.json │ │ └── translated/ │ │ ├── af_ZA.json │ │ ├── ar_SA.json │ │ ├── bg_BG.json │ │ ├── bn_BD.json │ │ ├── ca_ES.json │ │ ├── cs_CZ.json │ │ ├── da_DK.json │ │ ├── de_DE.json │ │ ├── el_GR.json │ │ ├── es_ES.json │ │ ├── fi_FI.json │ │ ├── fr_FR.json │ │ ├── he_IL.json │ │ ├── hi_IN.json │ │ ├── hu_HU.json │ │ ├── id_ID.json │ │ ├── it_IT.json │ │ ├── ja_JP.json │ │ ├── ko_KR.json │ │ ├── nl_NL.json │ │ ├── no_NO.json │ │ ├── pl_PL.json │ │ ├── pt_BR.json │ │ ├── pt_PT.json │ │ ├── ro_RO.json │ │ ├── ru_RU.json │ │ ├── sr_SP.json │ │ ├── sv_SE.json │ │ ├── th_TH.json │ │ ├── tr_TR.json │ │ ├── uk_UA.json │ │ ├── vi_VN.json │ │ ├── zh_CN.json │ │ └── zh_TW.json │ ├── main.tsx │ ├── types/ │ │ ├── connection-log.ts │ │ ├── electron.d.ts │ │ ├── guacamole-common-js.d.ts │ │ ├── index.ts │ │ └── stats-widgets.ts │ ├── ui/ │ │ ├── contexts/ │ │ │ └── ServerStatusContext.tsx │ │ ├── desktop/ │ │ │ ├── DesktopApp.tsx │ │ │ ├── apps/ │ │ │ │ ├── FullScreenAppWrapper.tsx │ │ │ │ ├── admin/ │ │ │ │ │ ├── AdminSettings.tsx │ │ │ │ │ ├── dialogs/ │ │ │ │ │ │ ├── CreateUserDialog.tsx │ │ │ │ │ │ ├── LinkAccountDialog.tsx │ │ │ │ │ │ └── UserEditDialog.tsx │ │ │ │ │ └── tabs/ │ │ │ │ │ ├── DatabaseSecurityTab.tsx │ │ │ │ │ ├── GeneralSettingsTab.tsx │ │ │ │ │ ├── OIDCSettingsTab.tsx │ │ │ │ │ ├── RolesTab.tsx │ │ │ │ │ ├── SessionManagementTab.tsx │ │ │ │ │ └── UserManagementTab.tsx │ │ │ │ ├── command-palette/ │ │ │ │ │ └── CommandPalette.tsx │ │ │ │ ├── dashboard/ │ │ │ │ │ ├── Dashboard.tsx │ │ │ │ │ ├── apps/ │ │ │ │ │ │ ├── UpdateLog.tsx │ │ │ │ │ │ └── alerts/ │ │ │ │ │ │ ├── AlertCard.tsx │ │ │ │ │ │ └── AlertManager.tsx │ │ │ │ │ ├── cards/ │ │ │ │ │ │ ├── NetworkGraphCard.tsx │ │ │ │ │ │ ├── QuickActionsCard.tsx │ │ │ │ │ │ ├── RecentActivityCard.tsx │ │ │ │ │ │ ├── ServerOverviewCard.tsx │ │ │ │ │ │ └── ServerStatsCard.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── DashboardSettingsDialog.tsx │ │ │ │ │ └── hooks/ │ │ │ │ │ └── useDashboardPreferences.ts │ │ │ │ ├── features/ │ │ │ │ │ ├── docker/ │ │ │ │ │ │ ├── DockerApp.tsx │ │ │ │ │ │ ├── DockerManager.tsx │ │ │ │ │ │ └── components/ │ │ │ │ │ │ ├── ConsoleTerminal.tsx │ │ │ │ │ │ ├── ContainerCard.tsx │ │ │ │ │ │ ├── ContainerDetail.tsx │ │ │ │ │ │ ├── ContainerList.tsx │ │ │ │ │ │ ├── ContainerStats.tsx │ │ │ │ │ │ └── LogViewer.tsx │ │ │ │ │ ├── file-manager/ │ │ │ │ │ │ ├── DragIndicator.tsx │ │ │ │ │ │ ├── FileManager.tsx │ │ │ │ │ │ ├── FileManagerApp.tsx │ │ │ │ │ │ ├── FileManagerContextMenu.tsx │ │ │ │ │ │ ├── FileManagerGrid.tsx │ │ │ │ │ │ ├── FileManagerSidebar.tsx │ │ │ │ │ │ ├── SudoPasswordDialog.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── CompressDialog.tsx │ │ │ │ │ │ │ ├── DiffViewer.tsx │ │ │ │ │ │ │ ├── DiffWindow.tsx │ │ │ │ │ │ │ ├── DraggableWindow.tsx │ │ │ │ │ │ │ ├── FileViewer.tsx │ │ │ │ │ │ │ ├── FileWindow.tsx │ │ │ │ │ │ │ ├── PermissionsDialog.tsx │ │ │ │ │ │ │ ├── TerminalWindow.tsx │ │ │ │ │ │ │ └── WindowManager.tsx │ │ │ │ │ │ └── hooks/ │ │ │ │ │ │ ├── useDragAndDrop.ts │ │ │ │ │ │ └── useFileSelection.ts │ │ │ │ │ ├── guacamole/ │ │ │ │ │ │ ├── GuacamoleApp.tsx │ │ │ │ │ │ └── GuacamoleDisplay.tsx │ │ │ │ │ ├── server-stats/ │ │ │ │ │ │ ├── ServerStats.tsx │ │ │ │ │ │ ├── ServerStatsApp.tsx │ │ │ │ │ │ └── widgets/ │ │ │ │ │ │ ├── CpuWidget.tsx │ │ │ │ │ │ ├── DiskWidget.tsx │ │ │ │ │ │ ├── FirewallWidget.tsx │ │ │ │ │ │ ├── LoginStatsWidget.tsx │ │ │ │ │ │ ├── MemoryWidget.tsx │ │ │ │ │ │ ├── NetworkWidget.tsx │ │ │ │ │ │ ├── PortsWidget.tsx │ │ │ │ │ │ ├── ProcessesWidget.tsx │ │ │ │ │ │ ├── SystemWidget.tsx │ │ │ │ │ │ ├── UptimeWidget.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── terminal/ │ │ │ │ │ │ ├── SudoPasswordPopup.tsx │ │ │ │ │ │ ├── Terminal.tsx │ │ │ │ │ │ ├── TerminalApp.tsx │ │ │ │ │ │ ├── TerminalPreview.tsx │ │ │ │ │ │ └── command-history/ │ │ │ │ │ │ ├── CommandAutocomplete.tsx │ │ │ │ │ │ └── CommandHistoryContext.tsx │ │ │ │ │ └── tunnel/ │ │ │ │ │ ├── Tunnel.tsx │ │ │ │ │ ├── TunnelApp.tsx │ │ │ │ │ ├── TunnelManager.tsx │ │ │ │ │ ├── TunnelObject.tsx │ │ │ │ │ └── TunnelViewer.tsx │ │ │ │ ├── host-manager/ │ │ │ │ │ ├── HostManagerApp.tsx │ │ │ │ │ ├── credentials/ │ │ │ │ │ │ ├── CredentialEditor.tsx │ │ │ │ │ │ ├── CredentialSelector.tsx │ │ │ │ │ │ ├── CredentialViewer.tsx │ │ │ │ │ │ ├── CredentialsManager.tsx │ │ │ │ │ │ └── tabs/ │ │ │ │ │ │ ├── CredentialAuthenticationTab.tsx │ │ │ │ │ │ ├── CredentialGeneralTab.tsx │ │ │ │ │ │ └── shared/ │ │ │ │ │ │ └── tab-types.ts │ │ │ │ │ ├── dialogs/ │ │ │ │ │ │ └── FolderEditDialog.tsx │ │ │ │ │ └── hosts/ │ │ │ │ │ ├── HostManager.tsx │ │ │ │ │ ├── HostManagerEditor.tsx │ │ │ │ │ ├── HostManagerViewer.tsx │ │ │ │ │ └── tabs/ │ │ │ │ │ ├── HostDockerTab.tsx │ │ │ │ │ ├── HostFileManagerTab.tsx │ │ │ │ │ ├── HostGeneralTab.tsx │ │ │ │ │ ├── HostRemoteDesktopTab.tsx │ │ │ │ │ ├── HostSharingTab.tsx │ │ │ │ │ ├── HostStatisticsTab.tsx │ │ │ │ │ ├── HostStatusTab.tsx │ │ │ │ │ ├── HostTerminalTab.tsx │ │ │ │ │ ├── HostTunnelTab.tsx │ │ │ │ │ └── shared/ │ │ │ │ │ ├── JumpHostItem.tsx │ │ │ │ │ ├── QuickActionItem.tsx │ │ │ │ │ └── tab-types.ts │ │ │ │ └── tools/ │ │ │ │ └── SSHToolsSidebar.tsx │ │ │ ├── authentication/ │ │ │ │ ├── Auth.tsx │ │ │ │ ├── ElectronLoginForm.tsx │ │ │ │ └── ElectronServerConfig.tsx │ │ │ ├── navigation/ │ │ │ │ ├── AppView.tsx │ │ │ │ ├── LeftSidebar.tsx │ │ │ │ ├── TopNavbar.tsx │ │ │ │ ├── animations/ │ │ │ │ │ └── SimpleLoader.tsx │ │ │ │ ├── connection-log/ │ │ │ │ │ ├── ConnectionLog.tsx │ │ │ │ │ └── ConnectionLogContext.tsx │ │ │ │ ├── dialogs/ │ │ │ │ │ ├── HostKeyVerificationDialog.tsx │ │ │ │ │ ├── OPKSSHDialog.tsx │ │ │ │ │ ├── QuickConnectDialog.tsx │ │ │ │ │ ├── SSHAuthDialog.tsx │ │ │ │ │ ├── TOTPDialog.tsx │ │ │ │ │ └── WarpgateDialog.tsx │ │ │ │ ├── hosts/ │ │ │ │ │ ├── FolderCard.tsx │ │ │ │ │ └── Host.tsx │ │ │ │ └── tabs/ │ │ │ │ ├── Tab.tsx │ │ │ │ ├── TabContext.tsx │ │ │ │ └── TabDropdown.tsx │ │ │ └── user/ │ │ │ ├── ElectronVersionCheck.tsx │ │ │ ├── LanguageSwitcher.tsx │ │ │ ├── PasswordReset.tsx │ │ │ ├── TOTPSetup.tsx │ │ │ └── UserProfile.tsx │ │ ├── hooks/ │ │ │ ├── useCommandHistory.ts │ │ │ ├── useCommandTracker.ts │ │ │ ├── useDragToDesktop.ts │ │ │ └── useDragToSystemDesktop.ts │ │ ├── main-axios.ts │ │ └── mobile/ │ │ ├── MobileApp.tsx │ │ ├── apps/ │ │ │ ├── navigation/ │ │ │ │ ├── BottomNavbar.tsx │ │ │ │ ├── LeftSidebar.tsx │ │ │ │ ├── hosts/ │ │ │ │ │ ├── FolderCard.tsx │ │ │ │ │ └── Host.tsx │ │ │ │ └── tabs/ │ │ │ │ └── TabContext.tsx │ │ │ └── terminal/ │ │ │ ├── Terminal.tsx │ │ │ ├── TerminalKeyboard.tsx │ │ │ ├── kb-dark-theme.css │ │ │ └── kb-light-theme.css │ │ ├── authentication/ │ │ │ └── Auth.tsx │ │ └── navigation/ │ │ ├── BottomNavbar.tsx │ │ ├── LeftSidebar.tsx │ │ ├── hosts/ │ │ │ ├── FolderCard.tsx │ │ │ └── Host.tsx │ │ └── tabs/ │ │ └── TabContext.tsx │ └── vite-env.d.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts