gitextract_xbk83j9u/ ├── .gitattributes ├── .github/ │ └── issue_template.md ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── .vscode/ │ └── settings.json ├── LICENSE ├── README.md ├── README.pl.md ├── README.zh_hans.md ├── README.zh_hant.md ├── alfred/ │ ├── Readme.txt │ └── info.plist ├── app/ │ └── package.json ├── assets/ │ └── app.icns ├── package.json ├── scripts/ │ ├── entitlements.mac.plist │ ├── hooks/ │ │ ├── artifactBuildCompleted.mjs │ │ └── notarize-options.mjs │ ├── libs/ │ │ ├── build-env.mjs │ │ ├── build-log.mjs │ │ ├── build-plan.mjs │ │ ├── build-state.mjs │ │ └── my-exec.mjs │ ├── make.mjs │ ├── release-config.mjs │ ├── upload-diagnostics.mjs │ ├── upload-progress.mjs │ ├── upload-release.mjs │ ├── vars.mjs │ └── version-up.mjs ├── src/ │ ├── common/ │ │ ├── acknowledgements.ts │ │ ├── constants.ts │ │ ├── data.d.ts │ │ ├── default_configs.ts │ │ ├── events.ts │ │ ├── hostsFn.ts │ │ ├── i18n/ │ │ │ ├── index.ts │ │ │ └── languages/ │ │ │ ├── de.ts │ │ │ ├── en.ts │ │ │ ├── fr.ts │ │ │ ├── ja.ts │ │ │ ├── ko.ts │ │ │ ├── pl.ts │ │ │ ├── tr.ts │ │ │ ├── zh-hant.ts │ │ │ └── zh.ts │ │ ├── newlines.ts │ │ ├── normalize.ts │ │ ├── tree.ts │ │ ├── types.d.ts │ │ ├── update.ts │ │ └── utils/ │ │ └── wait.ts │ ├── main/ │ │ ├── actions/ │ │ │ ├── checkUpdate.ts │ │ │ ├── closeMainWindow.ts │ │ │ ├── cmd/ │ │ │ │ ├── changeDataDir.ts │ │ │ │ ├── clearHistory.ts │ │ │ │ ├── deleteHistory.ts │ │ │ │ ├── focusMainWindow.ts │ │ │ │ ├── getHistoryList.ts │ │ │ │ ├── toggleDevTools.ts │ │ │ │ └── tryToRun.ts │ │ │ ├── config/ │ │ │ │ ├── all.ts │ │ │ │ ├── get.ts │ │ │ │ ├── set.ts │ │ │ │ └── update.ts │ │ │ ├── downloadUpdate.ts │ │ │ ├── find/ │ │ │ │ ├── addHistory.ts │ │ │ │ ├── addReplaceHistory.ts │ │ │ │ ├── findBy.ts │ │ │ │ ├── findPositionsInContent.ts │ │ │ │ ├── getHistory.ts │ │ │ │ ├── getReplaceHistory.ts │ │ │ │ ├── setHistory.ts │ │ │ │ ├── setReplaceHistory.ts │ │ │ │ ├── show.ts │ │ │ │ └── splitContent.ts │ │ │ ├── getBasicData.ts │ │ │ ├── getDataDir.ts │ │ │ ├── getDefaultDataDir.ts │ │ │ ├── hosts/ │ │ │ │ ├── deleteHistory.ts │ │ │ │ ├── getContent.ts │ │ │ │ ├── getHistoryList.ts │ │ │ │ ├── getPathOfSystemHostsPath.ts │ │ │ │ ├── getSystemHosts.ts │ │ │ │ ├── refresh.ts │ │ │ │ ├── setContent.ts │ │ │ │ └── setSystemHosts.ts │ │ │ ├── index.ts │ │ │ ├── installUpdate.ts │ │ │ ├── list/ │ │ │ │ ├── getContentOfList.ts │ │ │ │ ├── getItem.ts │ │ │ │ ├── getList.ts │ │ │ │ ├── moveItemToTrashcan.ts │ │ │ │ ├── moveManyToTrashcan.ts │ │ │ │ └── setList.ts │ │ │ ├── migrate/ │ │ │ │ ├── checkIfMigration.ts │ │ │ │ ├── export.ts │ │ │ │ ├── import.ts │ │ │ │ ├── importFromUrl.ts │ │ │ │ ├── importV3Data.ts │ │ │ │ └── migrateData.ts │ │ │ ├── openUrl.ts │ │ │ ├── ping.ts │ │ │ ├── quit.ts │ │ │ ├── showItemInFolder.ts │ │ │ ├── trashcan/ │ │ │ │ ├── clear.ts │ │ │ │ ├── deleteItem.ts │ │ │ │ ├── getList.ts │ │ │ │ └── restoreItem.ts │ │ │ └── updateTrayTitle.ts │ │ ├── core/ │ │ │ ├── agent.ts │ │ │ ├── getI18N.ts │ │ │ ├── message.ts │ │ │ ├── popupMenu.ts │ │ │ └── updater.ts │ │ ├── data/ │ │ │ └── index.ts │ │ ├── http/ │ │ │ ├── api/ │ │ │ │ ├── index.ts │ │ │ │ ├── list.ts │ │ │ │ └── toggle.ts │ │ │ └── index.ts │ │ ├── libs/ │ │ │ ├── cron.ts │ │ │ ├── getConfigDir.ts │ │ │ ├── getDataDir.ts │ │ │ ├── getIndex.ts │ │ │ ├── isDev.ts │ │ │ ├── request.ts │ │ │ ├── safePSWD.ts │ │ │ └── tracer.ts │ │ ├── main.ts │ │ ├── preload.ts │ │ ├── types.d.ts │ │ ├── ui/ │ │ │ ├── checkSystemLocale.ts │ │ │ ├── find.ts │ │ │ ├── menu.ts │ │ │ └── tray/ │ │ │ ├── index.ts │ │ │ └── window.ts │ │ └── utils/ │ │ └── fs2.ts │ ├── renderer/ │ │ ├── common/ │ │ │ └── PageWrapper.tsx │ │ ├── components/ │ │ │ ├── About/ │ │ │ │ ├── AboutContent.module.scss │ │ │ │ ├── AboutContent.tsx │ │ │ │ ├── index.module.scss │ │ │ │ └── index.tsx │ │ │ ├── BrowserLink.tsx │ │ │ ├── EditHostsInfo.module.scss │ │ │ ├── EditHostsInfo.tsx │ │ │ ├── Editor/ │ │ │ │ ├── HostsEditor.module.scss │ │ │ │ ├── HostsEditor.tsx │ │ │ │ ├── hosts_highlight.test.ts │ │ │ │ └── hosts_highlight.ts │ │ │ ├── History.module.scss │ │ │ ├── History.tsx │ │ │ ├── HostsViewer.module.scss │ │ │ ├── HostsViewer.tsx │ │ │ ├── ItemIcon.tsx │ │ │ ├── Lang.tsx │ │ │ ├── LeftPanel/ │ │ │ │ ├── SystemHostsItem.module.scss │ │ │ │ ├── SystemHostsItem.tsx │ │ │ │ ├── Trashcan.module.scss │ │ │ │ ├── Trashcan.tsx │ │ │ │ ├── TrashcanItem.module.scss │ │ │ │ ├── TrashcanItem.tsx │ │ │ │ ├── index.module.scss │ │ │ │ └── index.tsx │ │ │ ├── List/ │ │ │ │ ├── ListItem.module.scss │ │ │ │ ├── ListItem.tsx │ │ │ │ ├── index.module.scss │ │ │ │ └── index.tsx │ │ │ ├── Loading.module.scss │ │ │ ├── Loading.tsx │ │ │ ├── MainPanel/ │ │ │ │ ├── index.module.scss │ │ │ │ └── index.tsx │ │ │ ├── Pref/ │ │ │ │ ├── Advanced.tsx │ │ │ │ ├── Commands.tsx │ │ │ │ ├── CommandsHistory.tsx │ │ │ │ ├── General.tsx │ │ │ │ ├── Proxy.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── styles.module.scss │ │ │ ├── SetWriteMode.module.scss │ │ │ ├── SetWriteMode.tsx │ │ │ ├── SideDrawer.tsx │ │ │ ├── StatusBar.module.scss │ │ │ ├── StatusBar.tsx │ │ │ ├── SudoPasswordInput.module.scss │ │ │ ├── SudoPasswordInput.tsx │ │ │ ├── SwitchButton.module.scss │ │ │ ├── SwitchButton.tsx │ │ │ ├── TopBar/ │ │ │ │ ├── ConfigMenu.module.scss │ │ │ │ ├── ConfigMenu.tsx │ │ │ │ ├── ImportFromUrl.module.scss │ │ │ │ ├── ImportFromUrl.tsx │ │ │ │ ├── index.module.scss │ │ │ │ └── index.tsx │ │ │ ├── Transfer.module.scss │ │ │ ├── Transfer.tsx │ │ │ ├── Tree/ │ │ │ │ ├── Node.tsx │ │ │ │ ├── Tree.tsx │ │ │ │ ├── fn.ts │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.scss │ │ │ └── UpdateDialog.tsx │ │ ├── core/ │ │ │ ├── PopupMenu.ts │ │ │ ├── agent.ts │ │ │ └── useOnBroadcast.ts │ │ ├── index.html │ │ ├── index.tsx │ │ ├── models/ │ │ │ ├── useConfigs.ts │ │ │ ├── useHostsData.ts │ │ │ └── useI18n.ts │ │ ├── pages/ │ │ │ ├── find.module.scss │ │ │ ├── find.tsx │ │ │ ├── index.module.scss │ │ │ ├── index.tsx │ │ │ ├── tray.module.scss │ │ │ └── tray.tsx │ │ ├── stores/ │ │ │ ├── configs.ts │ │ │ ├── hosts_data.ts │ │ │ └── i18n.ts │ │ ├── styles/ │ │ │ ├── common.scss │ │ │ ├── fn.scss │ │ │ ├── global.scss │ │ │ ├── scrollbar.scss │ │ │ ├── themes/ │ │ │ │ ├── dark.scss │ │ │ │ └── light.scss │ │ │ └── var.scss │ │ └── utils/ │ │ └── css-var.ts │ └── version.json ├── test/ │ ├── _base.ts │ ├── common/ │ │ ├── hostsFn.test.ts │ │ ├── mock/ │ │ │ ├── normalize.001.input.hosts │ │ │ └── normalize.001.output.hosts │ │ ├── newlines.test.ts │ │ └── normalize.test.ts │ ├── main/ │ │ ├── basic.test.ts │ │ ├── findInContent.test.ts │ │ ├── http.test.ts │ │ ├── setSystemHosts.test.ts │ │ ├── splitContent.test.ts │ │ └── trashcan.test.ts │ ├── scripts/ │ │ ├── upload-diagnostics.test.ts │ │ └── upload-progress.test.ts │ └── setup.ts ├── tsconfig.json ├── typings.d.ts ├── vite.main.config.mts ├── vite.render.config.mts └── vitest.config.mts