gitextract_v_30r70e/ ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yaml │ │ ├── config.yml │ │ └── feature_request.yaml │ └── workflows/ │ ├── ci.yml │ ├── daily.yml │ ├── deps-build-linux.yaml │ ├── deps-build-macos.yaml │ ├── deps-build-windows-nsis.yaml │ ├── deps-create-updater.yaml │ ├── deps-delete-releases.yaml │ ├── deps-message-telegram.yaml │ ├── deps-update-tag.yaml │ ├── deps-upload-release-assets.yaml │ ├── macos-aarch64.yaml │ ├── publish.yml │ ├── stale.yml │ ├── target-dev-build.yaml │ └── target-release-build.yaml ├── .gitignore ├── .husky/ │ ├── commit-msg │ └── pre-commit ├── .lintstagedrc.js ├── .oxlintrc.json ├── .prettierignore ├── .prettierrc.cjs ├── .stylelintignore ├── .stylelintrc.js ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── UPDATELOG.md ├── backend/ │ ├── .gitignore │ ├── Cargo.toml │ ├── Cross.toml │ ├── boa_utils/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── console/ │ │ │ ├── mod.rs │ │ │ └── tests.rs │ │ ├── lib.rs │ │ └── module/ │ │ ├── builtin/ │ │ │ └── utils.js │ │ ├── builtin.rs │ │ ├── combine.rs │ │ ├── http.rs │ │ └── mod.rs │ ├── nyanpasu-egui/ │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── ipc.rs │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── small.rs │ │ ├── utils/ │ │ │ ├── mod.rs │ │ │ └── svg.rs │ │ └── widget/ │ │ ├── mod.rs │ │ ├── network_statistic_large.rs │ │ └── network_statistic_small.rs │ ├── nyanpasu-macro/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── builder_update.rs │ │ ├── enum_wrapper_combined.rs │ │ ├── lib.rs │ │ └── verge_patch.rs │ ├── rustfmt.toml │ ├── tauri/ │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── Info.plist │ │ ├── build.rs │ │ ├── capabilities/ │ │ │ └── main.json │ │ ├── icons/ │ │ │ └── icon.icns │ │ ├── locales/ │ │ │ ├── en.json │ │ │ ├── ru.json │ │ │ ├── zh-cn.json │ │ │ └── zh-tw.json │ │ ├── overrides/ │ │ │ ├── fixed-webview2.conf.json │ │ │ └── nightly.conf.json │ │ ├── src/ │ │ │ ├── cmds/ │ │ │ │ ├── migrate.rs │ │ │ │ └── mod.rs │ │ │ ├── config/ │ │ │ │ ├── clash/ │ │ │ │ │ └── mod.rs │ │ │ │ ├── core.rs │ │ │ │ ├── draft.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── nyanpasu/ │ │ │ │ │ ├── clash_strategy.rs │ │ │ │ │ ├── logging.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── widget.rs │ │ │ │ ├── profile/ │ │ │ │ │ ├── builder.rs │ │ │ │ │ ├── item/ │ │ │ │ │ │ ├── local.rs │ │ │ │ │ │ ├── merge.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ ├── prelude.rs │ │ │ │ │ │ ├── remote.rs │ │ │ │ │ │ ├── script.rs │ │ │ │ │ │ ├── shared.rs │ │ │ │ │ │ └── utils.rs │ │ │ │ │ ├── item_type.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── profiles.rs │ │ │ │ │ └── tests.rs │ │ │ │ └── runtime.rs │ │ │ ├── consts.rs │ │ │ ├── core/ │ │ │ │ ├── clash/ │ │ │ │ │ ├── api.rs │ │ │ │ │ ├── core.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── proxies.rs │ │ │ │ │ └── ws.rs │ │ │ │ ├── connection_interruption.rs │ │ │ │ ├── handle.rs │ │ │ │ ├── hotkey.rs │ │ │ │ ├── logger.rs │ │ │ │ ├── manager.rs │ │ │ │ ├── migration/ │ │ │ │ │ ├── db.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── units/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── unit_160.rs │ │ │ │ │ ├── unit_200/ │ │ │ │ │ │ └── profile_script_newtype.rs │ │ │ │ │ └── unit_200.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── pac.rs │ │ │ │ ├── service/ │ │ │ │ │ ├── control.rs │ │ │ │ │ ├── ipc.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── state.rs │ │ │ │ ├── state_v2/ │ │ │ │ │ ├── builder.rs │ │ │ │ │ ├── coordinator.rs │ │ │ │ │ ├── manager/ │ │ │ │ │ │ ├── persistent.rs │ │ │ │ │ │ └── simple.rs │ │ │ │ │ ├── manager.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── storage.rs │ │ │ │ ├── sysopt.rs │ │ │ │ ├── tasks/ │ │ │ │ │ ├── events.rs │ │ │ │ │ ├── executor.rs │ │ │ │ │ ├── jobs/ │ │ │ │ │ │ ├── events_rotate.rs │ │ │ │ │ │ ├── logger.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── profiles.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── storage.rs │ │ │ │ │ ├── task.rs │ │ │ │ │ └── utils.rs │ │ │ │ ├── tray/ │ │ │ │ │ ├── icon.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── proxies.rs │ │ │ │ ├── updater/ │ │ │ │ │ ├── instance.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── shared.rs │ │ │ │ └── win_uwp.rs │ │ │ ├── enhance/ │ │ │ │ ├── advice.rs │ │ │ │ ├── builtin/ │ │ │ │ │ ├── clash_rs_comp.lua │ │ │ │ │ ├── config_fixer.js │ │ │ │ │ ├── meta_guard.js │ │ │ │ │ └── meta_hy_alpn.js │ │ │ │ ├── chain.rs │ │ │ │ ├── field.rs │ │ │ │ ├── merge.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── script/ │ │ │ │ │ ├── js.rs │ │ │ │ │ ├── lua/ │ │ │ │ │ │ └── mod.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── runner.rs │ │ │ │ ├── tun.rs │ │ │ │ └── utils.rs │ │ │ ├── event_handler/ │ │ │ │ ├── mod.rs │ │ │ │ └── widget.rs │ │ │ ├── feat.rs │ │ │ ├── ipc.rs │ │ │ ├── lib.rs │ │ │ ├── logging/ │ │ │ │ ├── indexer.rs │ │ │ │ ├── manager.rs │ │ │ │ └── mod.rs │ │ │ ├── main.rs │ │ │ ├── server/ │ │ │ │ └── mod.rs │ │ │ ├── setup.rs │ │ │ ├── shutdown_hook.rs │ │ │ ├── utils/ │ │ │ │ ├── candy.rs │ │ │ │ ├── collect.rs │ │ │ │ ├── config.rs │ │ │ │ ├── dialog.rs │ │ │ │ ├── dirs.rs │ │ │ │ ├── dock.rs │ │ │ │ ├── downloader.rs │ │ │ │ ├── help.rs │ │ │ │ ├── init/ │ │ │ │ │ ├── logging.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── net.rs │ │ │ │ ├── open.rs │ │ │ │ ├── resolve.rs │ │ │ │ ├── sudo.rs │ │ │ │ ├── winhelp.rs │ │ │ │ ├── winreg.rs │ │ │ │ └── winreg_test.rs │ │ │ ├── widget.rs │ │ │ └── window.rs │ │ ├── tauri.conf.json │ │ ├── tauri.windows.conf.json │ │ ├── templates/ │ │ │ ├── cleanup.wxs │ │ │ ├── installer.nsi │ │ │ └── installer.wxs │ │ └── tests/ │ │ └── sample_clash_config.yaml │ └── tauri-plugin-deep-link/ │ ├── .github/ │ │ └── workflows/ │ │ ├── audit.yml │ │ ├── format.yml │ │ ├── lint.yml │ │ └── release.yml │ ├── .gitignore │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── LICENSE_APACHE-2.0 │ ├── LICENSE_MIT │ ├── README.md │ ├── cliff.toml │ ├── example/ │ │ ├── Info.plist │ │ └── main.rs │ ├── renovate.json │ └── src/ │ ├── lib.rs │ ├── linux.rs │ ├── macos.rs │ ├── template.desktop │ └── windows.rs ├── cliff.toml ├── commitlint.config.js ├── frontend/ │ ├── interface/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── hooks/ │ │ │ │ ├── index.ts │ │ │ │ └── use-kv-storage.ts │ │ │ ├── index.ts │ │ │ ├── ipc/ │ │ │ │ ├── bindings.ts │ │ │ │ ├── consts.ts │ │ │ │ ├── index.ts │ │ │ │ ├── use-clash-config.ts │ │ │ │ ├── use-clash-connections.ts │ │ │ │ ├── use-clash-cores.ts │ │ │ │ ├── use-clash-info.ts │ │ │ │ ├── use-clash-logs.ts │ │ │ │ ├── use-clash-memory.ts │ │ │ │ ├── use-clash-proxies-provider.ts │ │ │ │ ├── use-clash-proxies.ts │ │ │ │ ├── use-clash-rules-provider.ts │ │ │ │ ├── use-clash-rules.ts │ │ │ │ ├── use-clash-traffic.ts │ │ │ │ ├── use-clash-version.ts │ │ │ │ ├── use-clash-web-socket.ts │ │ │ │ ├── use-core-dir.ts │ │ │ │ ├── use-platform.ts │ │ │ │ ├── use-post-processing-output.ts │ │ │ │ ├── use-profile-content.ts │ │ │ │ ├── use-profile.ts │ │ │ │ ├── use-proxy-mode.ts │ │ │ │ ├── use-runtime-profile.ts │ │ │ │ ├── use-server-port.ts │ │ │ │ ├── use-service-prompt.ts │ │ │ │ ├── use-settings.ts │ │ │ │ ├── use-system-proxy.ts │ │ │ │ └── use-system-service.ts │ │ │ ├── openapi/ │ │ │ │ ├── geoip/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── ipsb.ts │ │ │ │ ├── healthcheck/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils.ts │ │ │ │ └── index.ts │ │ │ ├── provider/ │ │ │ │ ├── clash-ws-provider.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── mutation-provider.tsx │ │ │ ├── service/ │ │ │ │ ├── clash-api.ts │ │ │ │ ├── core.ts │ │ │ │ ├── index.ts │ │ │ │ ├── tauri.ts │ │ │ │ └── types.ts │ │ │ ├── template/ │ │ │ │ └── index.ts │ │ │ └── utils/ │ │ │ ├── get-system.ts │ │ │ ├── index.ts │ │ │ └── retry.ts │ │ └── tsconfig.json │ ├── nyanpasu/ │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ └── extensions.json │ │ ├── auto-imports.d.ts │ │ ├── index.html │ │ ├── messages/ │ │ │ ├── en.json │ │ │ ├── ru.json │ │ │ ├── zh-cn.json │ │ │ └── zh-tw.json │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── project.inlang/ │ │ │ ├── project_id │ │ │ └── settings.json │ │ ├── src/ │ │ │ ├── assets/ │ │ │ │ ├── json/ │ │ │ │ │ └── clash-field.json │ │ │ │ └── styles/ │ │ │ │ ├── fonts.scss │ │ │ │ ├── index.scss │ │ │ │ ├── tailwind.css │ │ │ │ └── theme.scss │ │ │ ├── components/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app-container.module.d.scss.ts │ │ │ │ │ ├── app-container.module.scss │ │ │ │ │ ├── app-container.module.scss.d.ts │ │ │ │ │ ├── app-container.tsx │ │ │ │ │ ├── app-drawer.tsx │ │ │ │ │ ├── drawer-content.tsx │ │ │ │ │ ├── locales-provider.tsx │ │ │ │ │ └── modules/ │ │ │ │ │ └── route-list-item.tsx │ │ │ │ ├── base/ │ │ │ │ │ ├── base-empty.tsx │ │ │ │ │ ├── base-error-boundary.tsx │ │ │ │ │ ├── base-notice.tsx │ │ │ │ │ ├── content-display.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── connections/ │ │ │ │ │ ├── close-connections-button.tsx │ │ │ │ │ ├── connection-detail-dialog.tsx │ │ │ │ │ ├── connection-page.tsx │ │ │ │ │ ├── connection-search-term.tsx │ │ │ │ │ ├── connections-column-filter.tsx │ │ │ │ │ ├── connections-table.tsx │ │ │ │ │ ├── connections-total.tsx │ │ │ │ │ └── header-search.tsx │ │ │ │ ├── dashboard/ │ │ │ │ │ ├── data-panel.tsx │ │ │ │ │ ├── dataline.tsx │ │ │ │ │ ├── health-panel.tsx │ │ │ │ │ ├── modules/ │ │ │ │ │ │ ├── ipasn-panel.tsx │ │ │ │ │ │ └── timing-panel.tsx │ │ │ │ │ ├── proxy-shortcuts.tsx │ │ │ │ │ └── service-shortcuts.tsx │ │ │ │ ├── layout/ │ │ │ │ │ ├── animated-logo.module.d.scss.ts │ │ │ │ │ ├── animated-logo.module.scss │ │ │ │ │ ├── animated-logo.module.scss.d.ts │ │ │ │ │ ├── animated-logo.tsx │ │ │ │ │ ├── layout-control.tsx │ │ │ │ │ ├── mutation-provider.tsx │ │ │ │ │ ├── notice-provider.tsx │ │ │ │ │ ├── page-transition.tsx │ │ │ │ │ ├── scheme-provider.tsx │ │ │ │ │ └── use-custom-theme.tsx │ │ │ │ ├── logo/ │ │ │ │ │ └── animated-logo.tsx │ │ │ │ ├── logs/ │ │ │ │ │ ├── clear-log-button.tsx │ │ │ │ │ ├── log-filter.tsx │ │ │ │ │ ├── log-item.module.scss │ │ │ │ │ ├── log-item.module.scss.d.ts │ │ │ │ │ ├── log-item.tsx │ │ │ │ │ ├── log-level.tsx │ │ │ │ │ ├── log-list.tsx │ │ │ │ │ ├── log-page.tsx │ │ │ │ │ ├── log-provider.tsx │ │ │ │ │ ├── log-toggle.tsx │ │ │ │ │ └── los-header.tsx │ │ │ │ ├── profiles/ │ │ │ │ │ ├── modules/ │ │ │ │ │ │ ├── chain-item.tsx │ │ │ │ │ │ ├── language-chip.tsx │ │ │ │ │ │ ├── side-chain.tsx │ │ │ │ │ │ ├── side-log.tsx │ │ │ │ │ │ └── store.ts │ │ │ │ │ ├── new-profile-button.tsx │ │ │ │ │ ├── profile-dialog.tsx │ │ │ │ │ ├── profile-item.tsx │ │ │ │ │ ├── profile-monaco-diff-viewer.tsx │ │ │ │ │ ├── profile-monaco-viewer.tsx │ │ │ │ │ ├── profile-side.tsx │ │ │ │ │ ├── provider.tsx │ │ │ │ │ ├── quick-import.tsx │ │ │ │ │ ├── read-profile.tsx │ │ │ │ │ ├── runtime-config-diff-dialog.tsx │ │ │ │ │ ├── script-dialog.tsx │ │ │ │ │ └── utils.ts │ │ │ │ ├── providers/ │ │ │ │ │ ├── block-task-provider.tsx │ │ │ │ │ ├── context-menu-provider.tsx │ │ │ │ │ ├── language-provider.tsx │ │ │ │ │ ├── nyanpasu-update-provider.tsx │ │ │ │ │ ├── proxies-provider-traffic.tsx │ │ │ │ │ ├── proxies-provider.tsx │ │ │ │ │ ├── rules-provider.tsx │ │ │ │ │ ├── theme-provider.tsx │ │ │ │ │ ├── update-providers.tsx │ │ │ │ │ └── update-proxies-providers.tsx │ │ │ │ ├── proxies/ │ │ │ │ │ ├── delay-button.tsx │ │ │ │ │ ├── delay-chip.tsx │ │ │ │ │ ├── feature-chip.tsx │ │ │ │ │ ├── group-list.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── node-card.module.d.scss.ts │ │ │ │ │ ├── node-card.module.scss │ │ │ │ │ ├── node-card.module.scss.d.ts │ │ │ │ │ ├── node-card.tsx │ │ │ │ │ ├── node-list.tsx │ │ │ │ │ ├── proxy-group-name.tsx │ │ │ │ │ ├── scroll-current-node.tsx │ │ │ │ │ ├── sort-selector.tsx │ │ │ │ │ └── utils.ts │ │ │ │ ├── router/ │ │ │ │ │ └── animated-outlet.tsx │ │ │ │ ├── rules/ │ │ │ │ │ ├── modules/ │ │ │ │ │ │ └── store.ts │ │ │ │ │ ├── rule-item.tsx │ │ │ │ │ └── rule-page.tsx │ │ │ │ ├── setting/ │ │ │ │ │ ├── modules/ │ │ │ │ │ │ ├── clash-core.tsx │ │ │ │ │ │ ├── clash-field.tsx │ │ │ │ │ │ ├── clash-web.tsx │ │ │ │ │ │ ├── hotkey-dialog.tsx │ │ │ │ │ │ ├── hotkey-input.module.d.scss.ts │ │ │ │ │ │ ├── hotkey-input.module.scss │ │ │ │ │ │ ├── hotkey-input.module.scss.d.ts │ │ │ │ │ │ ├── hotkey-input.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── nyanpasu-path.tsx │ │ │ │ │ │ ├── service-manual-prompt-dialog.module.d.scss.ts │ │ │ │ │ │ ├── service-manual-prompt-dialog.module.scss │ │ │ │ │ │ ├── service-manual-prompt-dialog.module.scss.d.ts │ │ │ │ │ │ ├── service-manual-prompt-dialog.tsx │ │ │ │ │ │ ├── system-proxy.tsx │ │ │ │ │ │ └── tray-icon-dialog.tsx │ │ │ │ │ ├── setting-clash-base.tsx │ │ │ │ │ ├── setting-clash-core.tsx │ │ │ │ │ ├── setting-clash-external.tsx │ │ │ │ │ ├── setting-clash-field.tsx │ │ │ │ │ ├── setting-clash-port.tsx │ │ │ │ │ ├── setting-clash-web.tsx │ │ │ │ │ ├── setting-nyanpasu-auto-reload.tsx │ │ │ │ │ ├── setting-nyanpasu-misc.tsx │ │ │ │ │ ├── setting-nyanpasu-path.tsx │ │ │ │ │ ├── setting-nyanpasu-tasks.tsx │ │ │ │ │ ├── setting-nyanpasu-ui.tsx │ │ │ │ │ ├── setting-nyanpasu-version.tsx │ │ │ │ │ ├── setting-page.tsx │ │ │ │ │ ├── setting-system-behavior.tsx │ │ │ │ │ ├── setting-system-proxy.tsx │ │ │ │ │ └── setting-system-service.tsx │ │ │ │ ├── settings/ │ │ │ │ │ └── system-proxy.tsx │ │ │ │ ├── ui/ │ │ │ │ │ ├── animated-item.tsx │ │ │ │ │ ├── border-beam.tsx │ │ │ │ │ ├── button.tsx │ │ │ │ │ ├── card.tsx │ │ │ │ │ ├── circle.tsx │ │ │ │ │ ├── context-menu.tsx │ │ │ │ │ ├── dropdown-menu.tsx │ │ │ │ │ ├── file-drop-zone.tsx │ │ │ │ │ ├── highlight-text.tsx │ │ │ │ │ ├── image.tsx │ │ │ │ │ ├── input.tsx │ │ │ │ │ ├── modal.tsx │ │ │ │ │ ├── progress.tsx │ │ │ │ │ ├── ripple.tsx │ │ │ │ │ ├── scroll-area.tsx │ │ │ │ │ ├── select.tsx │ │ │ │ │ ├── separator.tsx │ │ │ │ │ ├── sidebar.tsx │ │ │ │ │ ├── slider-sidebar.tsx │ │ │ │ │ ├── slider.tsx │ │ │ │ │ ├── switch.tsx │ │ │ │ │ ├── text-marquee.tsx │ │ │ │ │ └── tooltip.tsx │ │ │ │ ├── updater/ │ │ │ │ │ ├── updater-dialog-wrapper.tsx │ │ │ │ │ ├── updater-dialog.module.scss │ │ │ │ │ ├── updater-dialog.module.scss.d.ts │ │ │ │ │ └── updater-dialog.tsx │ │ │ │ └── window/ │ │ │ │ ├── window-control.tsx │ │ │ │ ├── window-header.tsx │ │ │ │ └── window-title.tsx │ │ │ ├── consts.ts │ │ │ ├── hooks/ │ │ │ │ ├── theme.ts │ │ │ │ ├── use-consts.ts │ │ │ │ ├── use-core-icon.ts │ │ │ │ ├── use-current-core-icon.ts │ │ │ │ ├── use-element-breakpoints.ts │ │ │ │ ├── use-is-moblie.tsx │ │ │ │ ├── use-lock-fn.ts │ │ │ │ ├── use-store.ts │ │ │ │ ├── use-updater.ts │ │ │ │ ├── use-visibility.ts │ │ │ │ └── use-window-maximized.ts │ │ │ ├── locales/ │ │ │ │ ├── en.json │ │ │ │ ├── ru.json │ │ │ │ ├── zh-CN.json │ │ │ │ └── zh-TW.json │ │ │ ├── main.tsx │ │ │ ├── pages/ │ │ │ │ ├── (editor)/ │ │ │ │ │ └── editor/ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ ├── chip.tsx │ │ │ │ │ │ ├── header.tsx │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ ├── loading-skeleton.tsx │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── route.tsx │ │ │ │ ├── (legacy)/ │ │ │ │ │ ├── connections.tsx │ │ │ │ │ ├── dashboard.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── logs.tsx │ │ │ │ │ ├── profiles.tsx │ │ │ │ │ ├── providers.tsx │ │ │ │ │ ├── proxies.tsx │ │ │ │ │ ├── route.tsx │ │ │ │ │ ├── rules.tsx │ │ │ │ │ └── settings.tsx │ │ │ │ ├── (main)/ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ ├── header-file-action.tsx │ │ │ │ │ │ ├── header-help-action.tsx │ │ │ │ │ │ ├── header-menu.tsx │ │ │ │ │ │ ├── header-settings-action.tsx │ │ │ │ │ │ ├── header.tsx │ │ │ │ │ │ └── navbar.tsx │ │ │ │ │ ├── main/ │ │ │ │ │ │ ├── connections/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ └── table-row.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ ├── dashboard/ │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── logs/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ ├── consts.ts │ │ │ │ │ │ │ │ └── log-level-badge.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ ├── profiles/ │ │ │ │ │ │ │ ├── $type/ │ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ │ ├── chain-profile-import.tsx │ │ │ │ │ │ │ │ │ ├── import-button.tsx │ │ │ │ │ │ │ │ │ ├── local-profile-button.tsx │ │ │ │ │ │ │ │ │ ├── profiles-header.tsx │ │ │ │ │ │ │ │ │ ├── profiles-list.tsx │ │ │ │ │ │ │ │ │ ├── remote-profile-button.tsx │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ │ │ │ ├── $uid.tsx │ │ │ │ │ │ │ │ │ └── _modules/ │ │ │ │ │ │ │ │ │ ├── action-card.tsx │ │ │ │ │ │ │ │ │ ├── active-button.tsx │ │ │ │ │ │ │ │ │ ├── chian-editor-card.tsx │ │ │ │ │ │ │ │ │ ├── delete-profile.tsx │ │ │ │ │ │ │ │ │ ├── detial-header.tsx │ │ │ │ │ │ │ │ │ ├── open-locally.tsx │ │ │ │ │ │ │ │ │ ├── profile-name-editor.tsx │ │ │ │ │ │ │ │ │ ├── subscription-card.tsx │ │ │ │ │ │ │ │ │ ├── subscription-url-editor.tsx │ │ │ │ │ │ │ │ │ ├── update-option-editor.tsx │ │ │ │ │ │ │ │ │ └── view-content.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ ├── consts.ts │ │ │ │ │ │ │ │ ├── error-item.tsx │ │ │ │ │ │ │ │ ├── profile-quick-import.tsx │ │ │ │ │ │ │ │ └── profiles-navigate.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── inspect/ │ │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ ├── providers/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ ├── providers-title.tsx │ │ │ │ │ │ │ │ ├── use-proxies-provider-update.tsx │ │ │ │ │ │ │ │ ├── use-proxies-subscription.tsx │ │ │ │ │ │ │ │ └── use-rules-provider-update.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── proxies/ │ │ │ │ │ │ │ │ ├── $key.tsx │ │ │ │ │ │ │ │ └── _modules/ │ │ │ │ │ │ │ │ ├── info-card.tsx │ │ │ │ │ │ │ │ └── subscription-card.tsx │ │ │ │ │ │ │ ├── route.tsx │ │ │ │ │ │ │ └── rules/ │ │ │ │ │ │ │ ├── $key.tsx │ │ │ │ │ │ │ └── _modules/ │ │ │ │ │ │ │ └── info-card.tsx │ │ │ │ │ │ ├── proxies/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ │ └── proxies-navigate.tsx │ │ │ │ │ │ │ ├── group/ │ │ │ │ │ │ │ │ ├── $name.tsx │ │ │ │ │ │ │ │ └── _modules/ │ │ │ │ │ │ │ │ ├── delay-test-button.tsx │ │ │ │ │ │ │ │ ├── group-header.tsx │ │ │ │ │ │ │ │ └── proxy-node-button.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ ├── rules/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ └── proxy-icon.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ └── settings/ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ ├── settings-card.tsx │ │ │ │ │ │ │ ├── settings-navigate.tsx │ │ │ │ │ │ │ └── settings-title.tsx │ │ │ │ │ │ ├── about/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ └── nyanpasu-version.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ ├── clash/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ ├── allow-lan-switch.tsx │ │ │ │ │ │ │ │ ├── core-manager-card.tsx │ │ │ │ │ │ │ │ ├── field-filter-card.tsx │ │ │ │ │ │ │ │ ├── field-filter-switch.tsx │ │ │ │ │ │ │ │ ├── ipv6-switch.tsx │ │ │ │ │ │ │ │ ├── log-level-selector.tsx │ │ │ │ │ │ │ │ ├── mixed-port-config.tsx │ │ │ │ │ │ │ │ ├── random-port-switch.tsx │ │ │ │ │ │ │ │ └── tun-stack-selector.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ ├── debug/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ ├── advance-tools-switch.tsx │ │ │ │ │ │ │ │ ├── block-task-viewer.tsx │ │ │ │ │ │ │ │ ├── debug-provider.tsx │ │ │ │ │ │ │ │ ├── kv-storage.tsx │ │ │ │ │ │ │ │ ├── path-utils-card.tsx │ │ │ │ │ │ │ │ └── window-debug.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── nyanpasu/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ └── log-file-config.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ ├── route.tsx │ │ │ │ │ │ ├── system/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ ├── auto-launch-switch.tsx │ │ │ │ │ │ │ │ ├── current-system-proxy.tsx │ │ │ │ │ │ │ │ ├── proxy-bypass-config.tsx │ │ │ │ │ │ │ │ ├── proxy-guard-config.tsx │ │ │ │ │ │ │ │ ├── proxy-guard-switch.tsx │ │ │ │ │ │ │ │ ├── slient-launch-switch.tsx │ │ │ │ │ │ │ │ ├── system-service-ctrl.tsx │ │ │ │ │ │ │ │ ├── system-service-switch.tsx │ │ │ │ │ │ │ │ └── uwp-tools-button.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ ├── user-interface/ │ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ │ ├── language-selector.tsx │ │ │ │ │ │ │ │ ├── switch-legacy.tsx │ │ │ │ │ │ │ │ ├── theme-color-config.tsx │ │ │ │ │ │ │ │ └── theme-mode-selector.tsx │ │ │ │ │ │ │ └── route.tsx │ │ │ │ │ │ └── web-ui/ │ │ │ │ │ │ ├── _modules/ │ │ │ │ │ │ │ ├── core-secret-config.tsx │ │ │ │ │ │ │ ├── external-controller-config.tsx │ │ │ │ │ │ │ ├── port-strategy-selector.tsx │ │ │ │ │ │ │ └── web-ui.tsx │ │ │ │ │ │ └── route.tsx │ │ │ │ │ └── route.tsx │ │ │ │ ├── -__root.module.scss │ │ │ │ ├── -__root.module.scss.d.ts │ │ │ │ └── __root.tsx │ │ │ ├── route-tree.gen.ts │ │ │ ├── services/ │ │ │ │ ├── i18n.ts │ │ │ │ ├── monaco.ts │ │ │ │ ├── storage.ts │ │ │ │ └── types.d.ts │ │ │ ├── store/ │ │ │ │ ├── clash.ts │ │ │ │ ├── index.ts │ │ │ │ ├── proxies.ts │ │ │ │ ├── service.ts │ │ │ │ └── updater.ts │ │ │ └── utils/ │ │ │ ├── chain.ts │ │ │ ├── get-system.ts │ │ │ ├── ignore-case.ts │ │ │ ├── index.ts │ │ │ ├── language.ts │ │ │ ├── monaco-yaml.worker.ts │ │ │ ├── mui-theme.ts │ │ │ ├── mutation.ts │ │ │ ├── notification.ts │ │ │ ├── parse-hotkey.ts │ │ │ ├── parse-traffic.ts │ │ │ ├── routes-utils.ts │ │ │ ├── shiki.ts │ │ │ └── styled.ts │ │ ├── tailwind.config.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── tsr.config.json │ │ └── vite.config.ts │ └── ui/ │ ├── package.json │ ├── src/ │ │ ├── chart/ │ │ │ ├── index.ts │ │ │ └── sparkline.tsx │ │ ├── hooks/ │ │ │ ├── get-system.ts │ │ │ ├── index.ts │ │ │ ├── use-breakpoint.ts │ │ │ └── use-click-position.ts │ │ ├── index.ts │ │ ├── materialYou/ │ │ │ ├── components/ │ │ │ │ ├── baseCard/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── style.module.d.scss.ts │ │ │ │ │ ├── style.module.scss │ │ │ │ │ └── style.module.scss.d.ts │ │ │ │ ├── baseDialog/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── basePage/ │ │ │ │ │ ├── baseErrorBoundary.tsx │ │ │ │ │ ├── header.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── style.scss │ │ │ │ ├── expand/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── expandMore/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── floatingButton/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── item/ │ │ │ │ │ ├── baseItem.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menuItem.tsx │ │ │ │ │ ├── numberItem.tsx │ │ │ │ │ ├── switchItem.tsx │ │ │ │ │ └── textItem.tsx │ │ │ │ ├── kbd/ │ │ │ │ │ ├── index.module.d.scss.ts │ │ │ │ │ ├── index.module.scss │ │ │ │ │ ├── index.module.scss.d.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── lazyImage/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── loadingButton/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── loadingSwitch/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── style.module.d.scss.ts │ │ │ │ │ ├── style.module.scss │ │ │ │ │ └── style.module.scss.d.ts │ │ │ │ └── sidePage/ │ │ │ │ ├── index.tsx │ │ │ │ ├── style.module.d.scss.ts │ │ │ │ ├── style.module.scss │ │ │ │ └── style.module.scss.d.ts │ │ │ ├── createTheme.ts │ │ │ ├── index.ts │ │ │ ├── themeComponents/ │ │ │ │ ├── MuiButton.ts │ │ │ │ ├── MuiCard.ts │ │ │ │ ├── MuiCardContent.ts │ │ │ │ ├── MuiDialog.ts │ │ │ │ ├── MuiDialogActions.ts │ │ │ │ ├── MuiDialogContent.ts │ │ │ │ ├── MuiDialogTitle.ts │ │ │ │ ├── MuiLinearProgress.ts │ │ │ │ ├── MuiMenu.ts │ │ │ │ ├── MuiPaper.ts │ │ │ │ ├── MuiSwitch.ts │ │ │ │ ├── MuiToggleButtonGroup.ts │ │ │ │ └── index.ts │ │ │ └── themeConsts.mjs │ │ └── utils/ │ │ ├── cn.ts │ │ ├── color-mix.ts │ │ ├── event.ts │ │ ├── index.ts │ │ └── ts-helper.ts │ ├── tsconfig.json │ └── vite.config.ts ├── knip.config.ts ├── manifest/ │ ├── site/ │ │ ├── index.html │ │ └── updater/ │ │ └── .gitkeep │ └── version.json ├── package.json ├── pnpm-workspace.yaml ├── renovate.json ├── rust-toolchain.toml ├── scripts/ │ ├── .gitignore │ ├── .vscode/ │ │ └── settings.json │ ├── deno/ │ │ ├── README.md │ │ ├── build-cache.ts │ │ ├── check.ts │ │ ├── deno.jsonc │ │ ├── generate-latest-version.ts │ │ ├── manifest.ts │ │ ├── telegram-notify.ts │ │ ├── upload-build-artifacts.ts │ │ ├── upload-macos-updater.ts │ │ └── utils/ │ │ ├── cache-client.ts │ │ ├── file-server.ts │ │ └── logger.ts │ ├── generate-git-info.ts │ ├── generate-latest-version.ts │ ├── manifest/ │ │ ├── clash-meta.ts │ │ ├── clash-premium.ts │ │ ├── clash-rs.ts │ │ └── index.ts │ ├── osx-aarch64-upload.ts │ ├── package.json │ ├── portable.ts │ ├── prepare-nightly.ts │ ├── prepare-preview.ts │ ├── prepare-release.ts │ ├── publish.ts │ ├── tsconfig.json │ ├── types/ │ │ └── index.ts │ ├── updatelog.ts │ ├── updater-nightly.ts │ ├── updater.ts │ └── utils/ │ ├── arch-check.ts │ ├── consts.ts │ ├── download.ts │ ├── env.ts │ ├── index.ts │ ├── logger.ts │ ├── manifest.ts │ ├── octokit.ts │ ├── resolve.ts │ ├── resource.ts │ ├── shell.ts │ └── telegram.ts └── tsconfig.json