{"repo":"0xJacky/nginx-ui","free":true,"listed":false,"github":"https://github.com/0xJacky/nginx-ui","clone":"git clone https://github.com/0xJacky/nginx-ui.git","description":"Yet another WebUI for Nginx","language":"Go","stars":11414,"topics":["code-completion","copilot","cron","docker","go","letsencrypt","linux","macos","mcp","mcp-server","nginx","self-hosted","vue","webui","windows"],"license":"AGPL-3.0","category":"sysadmin_tool","readme_excerpt":"<div align=\"center\">\n      <img src=\"resources/logo.png\" alt=\"Nginx UI Logo\">\n</div>\n\n# Nginx UI\n\n[![MCP Toplist](https://mcptoplist.com/badge/mcp.so%2Fnginx-ui%2F0xJacky.svg)](https://mcptoplist.com/server/mcp.so%2Fnginx-ui%2F0xJacky)\n\nYet another Nginx Web UI, developed by [0xJacky](https://jackyu.cn/), [Hintay](https://blog.kugeek.com/) and [Akino](https://github.com/akinoccc).\n\n[![DeepWiki](https://img.shields.io/badge/DeepWiki-0xJacky%2Fnginx--ui-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/0xJacky/nginx-ui)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/0xJacky/nginx-ui)\n\n[![Documentation](https://img.shields.io/badge/Documentation-nginxui.com-1f6feb?logo=readthedocs&logoColor=white)](https://nginxui.com)\n\n<p>\n  <a href=\"https://atomgit.com/uozi/nginx-ui\" target=\"_blank\" title=\"This project is part of the AtomGit G-Star program\">\n    <img src=\"resources/atomgit-logo.svg\" alt=\"AtomGit\" height=\"20\" align=\"middle\">\n  </a>\n  &nbsp;Proudly hosted on <a href=\"https://atomgit.com/uozi/nginx-ui\">AtomGit</a> — a part of the <b>G-Star</b> program.\n</p>\n\n[![AtomGit Stars](https://atomgit.com/uozi/nginx-ui/star/badge.svg)](https://atomgit.com/uozi/nginx-ui)\n\n[![Build and Publish](https://github.com/0xJacky/nginx-ui/actions/workflows/build.yml/badge.svg)](https://github.com/0xJacky/nginx-ui/actions/workflows/build.yml)\n[![GitHub license](https://img.shields.io/github/license/0xJacky/nginx-ui?label=License&logo=github)](https://github.com/0xJacky/nginx-ui \"Click to view the repo on Github\")\n[![Release Version](https://img.shields.io/github/release/0xJacky/nginx-ui?include_prereleases&label=Release&logo=github)](https://github.com/0xJacky/nginx-ui/releases/latest \"Click to view the repo on Github\")\n[![GitHub Star](https://img.shields.io/github/stars/0xJacky/nginx-ui?label=Stars&logo=github)](https://github.com/0xJacky/nginx-ui \"Click to view the repo on Github\")\n[![GitHub Fork](https://img.shields.io/github/forks/0xJacky/nginx-ui?label=Forks&logo=github)](https://github.com/0xJacky/nginx-ui \"Click to view the repo on Github\")\n[![Repo Size](https://img.shields.io/github/repo-size/0xJacky/nginx-ui?label=Size&logo=github)](https://github.com/0xJacky/nginx-ui \"Click to view the repo on Github\")\n[![GitHub Fork](https://img.shields.io/github/issues-closed-raw/0xJacky/nginx-ui?label=Closed%20Issue&logo=github)](https://github.com/0xJacky/nginx-ui/issues \"Click to view the repo on Github\")\n\n[![Docker Stars](https://img.shields.io/docker/stars/uozi/nginx-ui?label=Stars&logo=docker)](https://hub.docker.com/r/uozi/nginx-ui \"Click to view the image on Docker Hub\")\n[![Docker Pulls](https://img.shields.io/docker/pulls/uozi/nginx-ui?label=Pulls&logo=docker)](https://hub.docker.com/r/uozi/nginx-ui \"Click to view the image on Docker Hub\")\n[![Image Size](https://img.shields.io/docker/image-size/uozi/nginx-ui/latest?label=Image%20Size&logo=docker)](https://hub.docker.com/r/uozi/nginx-ui \"Click to view the image on Docker Hub\")\n\n[![Featured｜HelloGitHub](https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=86f3a8f779934748a34fe6f1b5cd442f&claim_uid=MOFqadzAShCBeQj&theme=small)](https://hellogithub.com/repository/86f3a8f779934748a34fe6f1b5cd442f)\n\n## Documentation\nTo check out docs, visit [nginxui.com](https://nginxui.com).\n\n## Sponsor\n\nIf you find this project helpful, please consider sponsoring us to support ongoing development and maintenance.\n\n[![GitHub Sponsors](https://img.shields.io/badge/GitHub-Sponsors-ea4aaa?style=for-the-badge&logo=github-sponsors&logoColor=white)](https://github.com/sponsors/nginxui)\n[![Afdian](https://img.shields.io/badge/爱发电-Support-946ce6?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDJMMTMuMDkgOC4yNkwyMCA5TDEzLjA5IDE1Ljc0TDEyIDIyTDEwLjkxIDE1Ljc0TDQgOUwxMC45MSA4LjI2TDEyIDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K)](https://afdian.com/a/nginxui)\n\n### Official Community Group\n\nJoin the official Nginx UI WeChat community group to discuss usage, deployment ideas, and troubleshooting with other community members.\n\nScan the QR code below to add us on WeChat, and include `Nginx UI Community Group` in your request. The administrator will invite you to the official community group.\n\n<p align=\"center\">\n  <img src=\"docs/public/assets/wechat-community-qr.png\" alt=\"Nginx UI WeChat Community QR Code\" width=\"320\">\n</p>\n\nYour support helps us:\n- 🚀 Accelerate the development of new features\n- 🐛 Fix bugs and improve stability\n- 📚 Enhance documentation and tutorials\n- 🌐 Provide better community support\n- 💻 Maintain infrastructure and demo servers\n\n### Tooling Support\n\n<a href=\"https://www.jetbrains.com/?from=nginx-ui\" target=\"_blank\">\n  <img src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg\" alt=\"JetBrains Logo\" width=\"200px\">\n</a>\n\nThanks to [JetBrains](https://www.jetbrains.com/?from=nginx-ui) for supporting us with free open source licenses.\n\n\n## Stargazers over time\n\n[![Stargazers over time](https://cloud.nginxui.com/stars/0xJacky/nginx-ui.svg)](https://cloud.nginxui.com/stars/0xJacky/nginx-ui.svg)\n\nEnglish | [Español](resources/readme/README-es.md) | [简体中文](resources/readme/README-zh_CN.md) | [繁體中文](resources/readme/README-zh_TW.md) | [Tiếng Việt](resources/readme/README-vi_VN.md) | [日本語](resources/readme/README-ja_JP.md)\n\n<details>\n  <summary>Table of Contents</summary>\n  <ol>\n    <li>\n      <a href=\"#about-the-project\">About The Project</a>\n      <ul>\n        <li><a href=\"#demo\">Demo</a></li>\n        <li><a href=\"#features\">Features</a></li>\n        <li><a href=\"#internationalization\">Internationalization</a></li>\n      </ul>\n    </li>\n    <li>\n      <a href=\"#getting-started\">Getting Started</a>\n      <ul>\n        <li><a href=\"#before-use\">Before Use</a></li>\n        <li><a href=\"#installation\">Installation</a></li>\n        <li>\n          <a href=\"#usage\">Usage</a>\n          <ul>\n            <li><a href=\"#from-executable\">From Executable</a></li>\n            <li><a href=\"#with-systemd\">With Systemd</a></li>\n            <li><a href=\"#with-docker\">With Docker</a></li>\n          </ul>\n        </li>\n      </ul>\n    </li>\n    <li>\n      <a href=\"#manual-build\">Manual Build</a>\n      <ul>\n        <li><a href=\"#prerequisites\">Prerequisites</a></li>\n        <li><a href=\"#build-app\">Build Frontend</a></li>\n        <li><a href=\"#build-backend\">Build Backend</a></li>\n      </ul>\n    </li>\n    <li>\n      <a href=\"#script-for-linux\">Script for Linux</a>\n      <ul>\n        <li><a href=\"#basic-usage\">Basic Usage</a></li>\n        <li><a href=\"#more-usage\">More Usage</a></li>\n      </ul>\n    </li>\n    <li><a href=\"#example-of-nginx-reverse-proxy-configuration\">Example of Nginx Reverse Proxy Configuration</a></li>\n    <li><a href=\"#contributing\">Contributing</a></li>\n    <li><a href=\"#license\">License</a></li>\n  </ol>\n</details>\n\n## About The Project\n\n![Dashboard](resources/screenshots/dashboard_en.png)\n\n### Demo\nURL：[https://demo.nginxui.com](https://demo.nginxui.com)\n- Username：admin\n- Password：admin\n\n### Features\n\n- Online statistics for server indicators such as CPU usage, memory usage, load average, and disk usage.\n- Automatic configuration backup after changes, with version comparison and restore capabilities\n- Cluster management supporting mirroring operations to multiple nodes, making multi-server environments easy to manage\n- Export encrypted Nginx / Nginx UI configurations for quick deployment and recovery to new environments\n- Enhanced online **ChatGPT** assistant supporting multiple models, including Deepseek-R1's chain-of-thought display to help you better understand and optimize configurations\n- **MCP** (Model Context Protocol) provides special interfaces for AI agents to interact with Nginx UI, enabling automated configuration management and service control.\n- One-click deployment and automatic renewal Let's Encrypt certificates.\n- Online editing websites configurations with our self-designed **NgxConfigEditor** which is a user-friendly block editor for nginx configurations or **Ace Code Editor** which supports **LLM Code Completion** and highlighting nginx configuration syntax.\n- Online view Nginx logs\n- Written in Go and Vue, distribution is a single executable binary.\n- Automatically test configuration file and reload nginx after saving configuration.\n- Web Terminal\n- Dark Mode\n- Responsive Web Design\n\n### Internationalization\n\nWe proudly offer official support for:\n\n- English\n- Simplified Chinese\n- Traditional Chinese\n\nAs non-native English speakers, we strive for accuracy, but we know there's always room for improvement. If you spot any issues, we'd love your feedback!\n\nThanks to our amazing commu","default_branch":"dev","files":1786,"tree":[".air.toml",".claude/skills/release/SKILL.md",".cursor/mcp.json",".cursor/rules/backend.mdc",".cursor/rules/frontend.mdc",".devcontainer/Dockerfile",".devcontainer/devcontainer.json",".devcontainer/docker-compose.yml",".devcontainer/init-nginx.sh",".devcontainer/node-supervisor.sh",".devcontainer/pebble-test/certs/README.md",".devcontainer/pebble-test/certs/localhost/README.md",".devcontainer/pebble-test/certs/localhost/cert.pem",".devcontainer/pebble-test/certs/localhost/key.pem",".devcontainer/pebble-test/certs/pebble.minica.key.pem",".devcontainer/pebble-test/certs/pebble.minica.pem",".devcontainer/pebble-test/config/load-generator-config.json",".devcontainer/pebble-test/config/pebble-config-external-account-bindings.json",".devcontainer/pebble-test/config/pebble-config.json",".devcontainer/start.sh",".dockerignore",".editorconfig",".github/FUNDING.yml",".github/ISSUE_TEMPLATE/bug_report.md",".github/ISSUE_TEMPLATE/custom.md",".github/ISSUE_TEMPLATE/feature_request.md",".github/build/build_info.json",".github/embed.go",".github/renovate.json",".github/workflows/build.yml",".github/workflows/codeql.yml",".github/workflows/docker-init-config-test.yml",".github/workflows/documents.yml",".github/workflows/helm.yml",".github/workflows/sync-main-on-release.yml",".github/workflows/unit-test.yml",".github/workflows/unraid.yml",".github/workflows/weblate-pull.yml",".github/workflows/weblate-sync.yml",".gitignore",".idea/.gitignore",".idea/inspectionProfiles/Project_Default.xml",".idea/modules.xml",".idea/nginx-ui.iml",".idea/vcs.xml",".vscode/settings.json",".vscode/tasks.json",".weblate.ini","AGENTS.md","CLAUDE.md","CODE_OF_CONDUCT.md","CONTRIBUTING.md","Dockerfile","LICENSE","README.md","SECURITY.md","api/analytic/analytic.go","api/analytic/nodes.go","api/analytic/router.go","api/analytic/type.go","api/analytic/ws_keepalive.go","api/api.go","api/audit/middleware.go","api/audit/middleware_test.go","api/backup/auto_backup.go","api/backup/auto_backup_test.go","api/backup/backup.go","api/backup/backup_test.go","api/backup/restore.go","api/backup/restore_test.go","api/backup/router.go","api/backup/security_test.go","api/certificate/acme_user.go","api/certificate/certificate.go","api/certificate/dns_credential.go","api/certificate/dns_provider.go","api/certificate/issue.go","api/certificate/issue_test.go","api/certificate/revoke.go","api/certificate/router.go","api/certificate/self_signed.go","api/certificate/self_signed_test.go","api/cluster/namespace.go","api/cluster/nginx.go","api/cluster/node.go","api/cluster/node_auth.go","api/cluster/node_auth_test.go","api/cluster/node_test.go","api/cluster/router.go","api/cluster/sync.go","api/cluster/websocket.go","api/config/add.go","api/config/base_path.go","api/config/delete.go","api/config/get.go","api/config/history.go","api/config/list.go","api/config/mkdir.go","api/config/modify.go","api/config/rename.go","api/config/router.go","api/config/save_rollback_test.go","api/config/security_test.go","api/config/sync.go","api/crypto/crypto.go","api/crypto/router.go","api/dns/dto.go","api/dns/dto_test.go","api/dns/handler.go","api/dns/router.go","api/event/router.go","api/event/websocket.go","api/external_notify/external_notify.go","api/external_notify/security_test.go","api/geolite/download.go","api/geolite/status.go","api/license/license.go","api/llm/code_completion.go","api/llm/llm.go","api/llm/llm_test.go","api/llm/router.go","api/llm/session.go","api/nginx/control.go","api/nginx/control_test.go","api/nginx/directives.go","api/nginx/modules.go","api/nginx/nginx.go","api/nginx/performance.go","api/nginx/router.go","api/nginx/status.go","api/nginx/websocket.go","api/nginx_log/analytics.go","api/nginx_log/analytics_test.go","api/nginx_log/index_management.go","api/nginx_log/index_management_test.go","api/nginx_log/log_list.go","api/nginx_log/log_page.go","api/nginx_log/router.go","api/nginx_log/settings.go","api/nginx_log/types.go","api/nginx_log/websocket.go","api/notification/notification.go","api/notification/router.go","api/pages/maintenance.go","api/pages/maintenance.tmpl","api/pages/router.go","api/public/health.go","api/public/health_test.go","api/public/layout.go","api/public/router.go","api/settings/auth.go","api/settings/protected.go","api/settings/router.go","api/settings/settings.go","api/settings/settings_test.go","api/sites/advance.go","api/sites/auto_cert.go","api/sites/auto_cert_test.go","api/sites/duplicate.go","api/sites/list.go","api/sites/logs.go","api/sites/router.go","api/sites/router_test.go","api/sites/security_test.go","api/sites/site.go","api/sites/site_dns_test.go","api/sites/sitecheck.go","api/sites/sitecheck_test.go","api/sites/websocket.go","api/streams/advance.go","api/streams/duplicate.go","api/streams/router.go","api/streams/security_test.go","api/streams/streams.go","api/system/install.go","api/system/install_test.go","api/system/port_scan.go","api/system/restart.go","api/system/router.go","api/system/self_check.go","api/system/self_check_test.go","api/system/stats.go","api/system/translation.go","api/system/upgrade.go","api/template/quick_config.go","api/template/quick_config_test.go","api/template/router.go","api/template/template.go","api/terminal/pty.go","api/terminal/router.go","api/terminal/security_test.go","api/upstream/list.go","api/upstream/router.go","api/upstream/router_test.go","api/upstream/socket.go","api/upstream/upstream.go","api/upstream/util.go","api/user/2fa.go","api/user/2fa_test.go","api/user/auth.go","api/user/casdoor.go","api/user/casdoor_test.go","api/user/current_user.go","api/user/oidc.go","api/user/otp.go","api/user/otp_security_test.go","api/user/passkey.go","api/user/passkey_pre_auth_test.go","api/user/passkey_security_test.go","api/user/recovery.go","api/user/recovery_test.go","api/user/router.go","api/user/security_test.go","api/user/short_token.go","api/user/user.go","app.example.ini","app/.env","app/.env.development","app/.env.production","app/.eslint-auto-import.mjs","app/.gitignore","app/.idea/.gitignore","app/.idea/codeStyles/codeStyleConfig.xml","app/.idea/frontend.iml","app/.idea/inspectionProfiles/Project_Default.xml","app/.idea/jsLibraryMappings.xml","app/.idea/jsLinters/eslint.xml","app/.idea/modules.xml","app/.idea/vcs.xml","app/.idea/watcherTasks.xml","app/.vscode/extensions.json","app/README.md","app/app.go","app/app_unembed.go","app/auto-imports.d.ts","app/components.d.ts","app/env.d.ts","app/eslint.config.mjs","app/gettext.config.cjs","app/i18n.json","app/index.html","app/package.json","app/public/browserconfig.xml","app/public/favicon-32x32.png","app/public/favicon.ico","app/public/manifest.json","app/public/pwa-144x144.png","app/public/pwa-192x192.png","app/public/pwa-48x48.png","app/public/pwa-512x512.png","app/public/pwa-72x72.png","app/public/pwa-96x96.png","app/public/robots.txt","app/src/App.vue","app/src/api/2fa.ts","app/src/api/acme_user.ts","app/src/api/analytic.ts","app/src/api/auth.ts","app/src/api/auto_cert.ts","app/src/api/backup.ts","app/src/api/cert.ts","app/src/api/cluster_sync.ts","app/src/api/config.ts","app/src/api/curd.ts","app/src/api/dns.ts","app/src/api/dns_credential.ts","app/src/api/external_notify.ts","app/src/api/geolite.ts","app/src/api/install.ts","app/src/api/license.ts","app/src/api/llm.ts","app/src/api/namespace.ts","app/src/api/nginx_log.ts","app/src/api/ngx.ts","app/src/api/node.ts","app/src/api/notification.ts","app/src/api/otp.ts","app/src/api/passkey.ts","app/src/api/port_scan.ts","app/src/api/public.ts","app/src/api/recovery.ts","app/src/api/self_check.ts","app/src/api/service_token.ts","app/src/api/settings.ts","app/src/api/site.ts","app/src/api/site_navigation.ts","app/src/api/stream.ts","app/src/api/system.ts","app/src/api/template.ts","app/src/api/translations.ts","app/src/api/upgrade.ts","app/src/api/upstream.ts","app/src/api/user.ts","app/src/assets/img/logo.png","app/src/assets/svg/ChatGPT_logo.svg","app/src/assets/svg/cpu.svg","app/src/assets/svg/icon.svg","app/src/assets/svg/memory.svg","app/src/assets/svg/pulse.svg","app/src/components/AppProvider/AppProvider.vue","app/src/components/AppProvider/index.ts","app/src/components/AutoCertForm/AutoCertForm.vue","app/src/components/AutoCertForm/DNSChallenge.vue","app/src/components/AutoCertForm/index.ts","app/src/components/BaseEditor/BaseEditor.vue","app/src/components/BaseEditor/index.ts","app/src/components/Breadcrumb/Breadcrumb.vue","app/src/components/Breadcrumb/index.ts","app/src/components/Breadcrumb/types.d.ts","app/src/components/CertInfo/CertInfo.vue","app/src/components/CertInfo/index.ts","app/src/components/Chart/AreaChart.vue","app/src/components/Chart/RadialBarChart.vue","app/src/components/Chart/UsageProgressLine.vue","app/src/components/Chart/types.d.ts","app/src/components/CodeEditor/CodeCompletion.ts","app/src/components/CodeEditor/CodeEditor.vue","app/src/components/CodeEditor/index.ts","app/src/components/ConfigHistory/ConfigHistory.vue","app/src/components/ConfigHistory/DiffViewer.vue","app/src/components/ConfigHistory/index.ts","app/src/components/DevDebugPanel/DevDebugPanel.vue","app/src/components/DevDebugPanel/README.md","app/src/components/DevDebugPanel/index.ts","app/src/components/FooterToolbar/FooterToolBar.vue","app/src/components/FooterToolbar/index.ts","app/src/components/GeoLiteDownload/GeoLiteDownload.vue","app/src/components/GeoLiteDownload/index.ts","app/src/components/ICP/ICP.vue","app/src/components/ICP/index.ts","app/src/components/InspectConfig/InspectConfig.vue","app/src/components/InspectConfig/alert.ts","app/src/components/InspectConfig/index.ts","app/src/components/LLM/ChatMessage.vue","app/src/components/LLM/ChatMessageInput.vue","app/src/components/LLM/ChatMessageList.vue","app/src/components/LLM/LLM.vue","app/src/components/LLM/LLMSessionTabs.vue","app/src/components/LLM/animationCoordinator.ts","app/src/components/LLM/chatService.ts","app/src/components/LLM/composables/useTypewriter.ts","app/src/components/LLM/contextBuilder.ts","app/src/components/LLM/index.ts","app/src/components/LLM/llm.ts","app/src/components/LLM/markdown.ts","app/src/components/LLM/sessionStore.ts","app/src/components/LLM/types.ts","app/src/components/LLM/utils.ts","app/src/components/Logo/Logo.vue","app/src/components/Logo/index.ts","app/src/components/NamespaceRender/NamespaceRender.vue","app/src/components/NamespaceRender/index.ts","app/src/components/NamespaceTabs/NamespaceTabs.vue","app/src/components/NamespaceTabs/index.ts","app/src/components/NginxControl/NginxControl.vue","app/src/components/NginxControl/index.ts","app/src/components/NginxControl/restartRecovery.ts","app/src/components/NgxConfigEditor/LocationEditor.vue","app/src/components/NgxConfigEditor/LogEntry.vue","app/src/components/NgxConfigEditor/NginxStatusAlert.vue","app/src/components/NgxConfigEditor/NgxConfigEditor.vue","app/src/components/NgxConfigEditor/NgxServer.vue","app/src/components/NgxConfigEditor/NgxUpstream.vue","app/src/components/NgxConfigEditor/README.md","app/src/components/NgxConfigEditor/directive/DirectiveAdd.vue","app/src/components/NgxConfigEditor/directive/DirectiveDocuments.vue","app/src/components/NgxConfigEditor/directive/DirectiveEditor.vue","app/src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue","app/src/components/NgxConfigEditor/directive/index.ts","app/src/components/NgxConfigEditor/directive/store.ts","app/src/components/NgxConfigEditor/index.ts","app/src/components/NgxConfigEditor/store.ts","app/src/components/NodeCard/NodeCard.vue","app/src/components/NodeCard/index.ts","app/src/components/NodeIndicator/NodeIndicator.vue","app/src/components/NodeIndicator/index.ts","app/src/components/NodeSelector/NodeSelector.vue","app/src/components/NodeSelector/index.ts","app/src/components/Notification/Notification.vue","app/src/components/Notification/detailRender.tsx","app/src/components/Notification/index.ts","app/src/components/Notification/notifications.ts","app/src/components/OTPInput/OTPInput.vue","app/src/components/OTPInput/index.ts","app/src/components/PageHeader/PageHeader.vue","app/src/components/PageHeader/index.ts","app/src/components/PortScanner/PortScannerCompact.vue","app/src/components/PortScanner/index.ts","app/src/components/ProcessingStatus/ProcessingStatus.vue","app/src/components/ProcessingStatus/index.ts","app/src/components/ProxyTargets/ProxyTargets.vue","app/src/components/ProxyTargets/index.ts","app/src/components/ReactiveFromNow/ReactiveFromNow.vue","app/src/components/ReactiveFromNow/index.ts","app/src/components/RecoveryCodeMigrationWarning/RecoveryCodeMigrationWarning.vue","app/src/components/RecoveryCodeMigrationWarning/index.ts","app/src/components/SelfCheck/AsyncErrorDisplay.vue","app/src/components/SelfCheck/SelfCheck.vue","app/src/components/SelfCheck/SelfCheckHeaderBanner.vue","app/src/components/SelfCheck/index.ts"],"storefront":"/r/0xJacky","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/0xJacky/nginx-ui/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}