From af8d75c7c181596861c36c7862b0849a2b973949 Mon Sep 17 00:00:00 2001 From: keiko233 Date: Tue, 23 Apr 2024 15:22:28 +0800 Subject: [PATCH] feat(nyanpasu): add SettingClashCore component --- frontend/interface/ipc/useNyanpasu.ts | 30 ++- frontend/interface/service/core.ts | 75 ++++++++ frontend/interface/service/index.ts | 1 + frontend/interface/service/tauri.ts | 21 ++ .../src/assets/image/core/clash-rs.png | Bin 0 -> 22761 bytes .../src/assets/image/core/clash.meta.png | Bin 0 -> 81167 bytes .../nyanpasu/src/assets/image/core/clash.png | Bin 0 -> 14428 bytes .../components/setting/modules/clash-core.tsx | 100 ++++++++++ .../components/setting/setting-clash-core.tsx | 182 ++++++++++++++++++ 9 files changed, 408 insertions(+), 1 deletion(-) create mode 100644 frontend/interface/service/core.ts create mode 100644 frontend/nyanpasu/src/assets/image/core/clash-rs.png create mode 100644 frontend/nyanpasu/src/assets/image/core/clash.meta.png create mode 100644 frontend/nyanpasu/src/assets/image/core/clash.png create mode 100644 frontend/nyanpasu/src/components/setting/modules/clash-core.tsx create mode 100644 frontend/nyanpasu/src/components/setting/setting-clash-core.tsx diff --git a/frontend/interface/ipc/useNyanpasu.ts b/frontend/interface/ipc/useNyanpasu.ts index ece0ba7a73..5a2f533ed6 100644 --- a/frontend/interface/ipc/useNyanpasu.ts +++ b/frontend/interface/ipc/useNyanpasu.ts @@ -1,5 +1,13 @@ import useSWR from "swr"; -import { getNyanpasuConfig, patchNyanpasuConfig, VergeConfig } from "@/service"; +import { + getNyanpasuConfig, + patchNyanpasuConfig, + VergeConfig, + getCoreVersion, + setClashCore as setClashCoreWithTauri, + restartSidecar, +} from "@/service"; +import { fetchCoreVersion, fetchLatestCore } from "@/service/core"; /** * useNyanpasu with swr. @@ -30,10 +38,30 @@ export const useNyanpasu = (options?: { } }; + const getClashCore = useSWR("getClashCore", fetchCoreVersion); + + const setClashCore = async ( + clashCore: Required["clash_core"], + ) => { + await setClashCoreWithTauri(clashCore); + + // timeout for restart clash core. + setTimeout(() => { + getClashCore.mutate(); + }, 100); + }; + + const getLatestCore = useSWR("getLatestCore", fetchLatestCore); + return { nyanpasuConfig: data, isLoading: !data && !error, isError: error, setNyanpasuConfig, + getCoreVersion, + getClashCore, + setClashCore, + restartSidecar, + getLatestCore, }; }; diff --git a/frontend/interface/service/core.ts b/frontend/interface/service/core.ts new file mode 100644 index 0000000000..56130a7b6c --- /dev/null +++ b/frontend/interface/service/core.ts @@ -0,0 +1,75 @@ +import { fetchLatestCoreVersions, getCoreVersion } from "./tauri"; +import { VergeConfig } from "./types"; + +export type ClashCore = Required["clash_core"]; + +export interface Core { + name: string; + core: ClashCore; + version?: string; + latest?: string; +} + +export const VALID_CORE: Core[] = [ + { name: "Clash Premium", core: "clash" }, + { name: "Mihomo", core: "mihomo" }, + { name: "Mihomo Alpha", core: "mihomo-alpha" }, + { name: "Clash Rust", core: "clash-rs" }, +]; + +export const fetchCoreVersion = async () => { + return await Promise.all( + VALID_CORE.map(async (item) => { + const version = await getCoreVersion(item.core); + return { ...item, version }; + }), + ); +}; + +export const fetchLatestCore = async () => { + const results = await fetchLatestCoreVersions(); + + const cores = VALID_CORE.map((item) => { + if (item.core == "clash") { + return { + ...item, + latest: `n${results["clash_premium"]}`, + }; + } else { + return { + ...item, + latest: results[item.core.replace(/-/g, "_") as keyof typeof results], + }; + } + }); + + return cores; +}; + +export enum SupportedArch { + // blocked by clash-rs + // WindowsX86 = "windows-x86", + WindowsX86_64 = "windows-x86_64", + // blocked by clash-rs#212 + // WindowsArm64 = "windows-arm64", + LinuxAarch64 = "linux-aarch64", + LinuxAmd64 = "linux-amd64", + DarwinArm64 = "darwin-arm64", + DarwinX64 = "darwin-x64", +} + +export enum SupportedCore { + Mihomo = "mihomo", + MihomoAlpha = "mihomo_alpha", + ClashRs = "clash_rs", + ClashPremium = "clash_premium", +} + +export type ArchMapping = { [key in SupportedArch]: string }; + +export interface ManifestVersion { + manifest_version: number; + latest: { [K in SupportedCore]: string }; + arch_template: { [K in SupportedCore]: ArchMapping }; + updated_at: string; // ISO 8601 +} diff --git a/frontend/interface/service/index.ts b/frontend/interface/service/index.ts index 257a6f7b86..e16da452ab 100644 --- a/frontend/interface/service/index.ts +++ b/frontend/interface/service/index.ts @@ -1,3 +1,4 @@ export * from "./types"; export * from "./tauri"; export * from "./clash"; +export * from "./core"; diff --git a/frontend/interface/service/tauri.ts b/frontend/interface/service/tauri.ts index ff1620af24..d2d1ee121e 100644 --- a/frontend/interface/service/tauri.ts +++ b/frontend/interface/service/tauri.ts @@ -1,5 +1,6 @@ import { invoke } from "@tauri-apps/api/tauri"; import { ClashConfig, ClashInfo, VergeConfig, Profile } from "./types"; +import { ManifestVersion } from "./core"; export const getNyanpasuConfig = async () => { return await invoke("get_verge_config"); @@ -35,3 +36,23 @@ export const setProfiles = async (payload: { export const setProfilesConfig = async (profiles: Profile.Config) => { return await invoke("patch_profiles_config", { profiles }); }; + +export const getCoreVersion = async ( + coreType: Required["clash_core"], +) => { + return await invoke("get_core_version", { coreType }); +}; + +export const setClashCore = async ( + clashCore: Required["clash_core"], +) => { + return await invoke("change_clash_core", { clashCore }); +}; + +export const restartSidecar = async () => { + return await invoke("restart_sidecar"); +}; + +export const fetchLatestCoreVersions = async () => { + return await invoke("fetch_latest_core_versions"); +}; diff --git a/frontend/nyanpasu/src/assets/image/core/clash-rs.png b/frontend/nyanpasu/src/assets/image/core/clash-rs.png new file mode 100644 index 0000000000000000000000000000000000000000..60687590cbb8c3033e9c473ffa69b9506831e008 GIT binary patch literal 22761 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 literal 0 HcmV?d00001 diff --git a/frontend/nyanpasu/src/assets/image/core/clash.meta.png b/frontend/nyanpasu/src/assets/image/core/clash.meta.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6323dad3ba9c5d32060d61c498a12f371e8fd5 GIT binary patch literal 81167 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 EAL3)tdH?_b literal 0 HcmV?d00001 diff --git a/frontend/nyanpasu/src/assets/image/core/clash.png b/frontend/nyanpasu/src/assets/image/core/clash.png new file mode 100644 index 0000000000000000000000000000000000000000..c624b94d23b333e4cb2406ccc04c9599552e0bac GIT binary patch literal 14428 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 { + switch (core) { + case "mihomo": + case "mihomo-alpha": { + return ClashMeta; + } + + case "clash-rs": { + return ClashRs; + } + + default: { + return Clash; + } + } +}; + +export interface ClashCoreItemProps { + selected: boolean; + data: Core; + onClick: (core: ClashCore) => void; +} + +/** + * @example + * changeClashCore(item.core)} + /> + * + * `Design for Clash Core used.` + * + * @author keiko233 + * @copyright LibNyanpasu org. 2024 + */ +export const ClashCoreItem = ({ + selected, + data, + onClick, +}: ClashCoreItemProps) => { + const { palette } = useTheme(); + + const newVersion = data.latest ? data.latest !== data.version : false; + + return ( + + onClick(data.core)} + > + + + + + + + {data.name} + + {newVersion && ( + + )} + + + {data.version} + + {newVersion && ( + + New Version: {data.latest} + + )} + + + + + + ); +}; diff --git a/frontend/nyanpasu/src/components/setting/setting-clash-core.tsx b/frontend/nyanpasu/src/components/setting/setting-clash-core.tsx new file mode 100644 index 0000000000..292b04ad93 --- /dev/null +++ b/frontend/nyanpasu/src/components/setting/setting-clash-core.tsx @@ -0,0 +1,182 @@ +import { BaseCard, ExpandMore } from "@nyanpasu/ui"; +import { useTranslation } from "react-i18next"; +import { useMemo, useState } from "react"; +import { Box, List, ListItem, Tooltip } from "@mui/material"; +import { ClashCore, useClash, useNyanpasu } from "@nyanpasu/interface"; +import { useLockFn, useReactive } from "ahooks"; +import { useMessage } from "@/hooks/use-notification"; +import LoadingButton from "@mui/lab/LoadingButton"; +import { motion } from "framer-motion"; +import { ClashCoreItem } from "./modules/clash-core"; + +export const SettingClashCore = () => { + const { t } = useTranslation(); + + const loading = useReactive({ + mask: false, + restart: false, + }); + + const [expand, setExpand] = useState(false); + + const { + nyanpasuConfig, + setClashCore, + getClashCore, + restartSidecar, + getLatestCore, + } = useNyanpasu(); + + const { getVersion, deleteConnections } = useClash(); + + const version = useMemo(() => { + const data = getVersion.data; + + return data?.premium + ? `${data.version} Premium` + : data?.meta + ? `${data.version} Meta` + : data?.version || "-"; + }, [getVersion.data, nyanpasuConfig]); + + const changeClashCore = useLockFn(async (core: ClashCore) => { + try { + loading.mask = true; + + await deleteConnections(); + + await setClashCore(core); + + useMessage(`Successfully switch to ${core}`, { + type: "info", + title: t("Success"), + }); + } catch (e) { + useMessage( + "Switching failed, please check log and modify your profile file.", + { + type: "error", + title: t("Error"), + }, + ); + } finally { + loading.mask = false; + } + }); + + const handleRestart = useLockFn(async () => { + try { + loading.restart = true; + + await restartSidecar(); + + useMessage(t("Successfully restart core"), { + type: "info", + title: t("Success"), + }); + } catch (e) { + useMessage("Restart failed, please check log.", { + type: "error", + title: t("Error"), + }); + } finally { + loading.restart = false; + } + }); + + const handleCheckUpdates = useLockFn(async () => { + try { + await getLatestCore.mutate(); + } catch (e) { + useMessage("Fetch failed, please check your internet connection.", { + type: "error", + title: t("Error"), + }); + } + }); + + const mergeCores = useMemo(() => { + return getClashCore.data?.map((item) => { + const latest = getLatestCore.data?.find( + (i) => i.core == item.core, + )?.latest; + + return { + ...item, + latest, + }; + }); + }, [getClashCore.data, getLatestCore.data]); + + return ( + {version}} + > + + {mergeCores?.map((item, index) => { + const show = expand || item.core == nyanpasuConfig?.clash_core; + + return ( + + changeClashCore(item.core)} + /> + + ); + })} + + + + + {t("Restart")} + + + + {t("Check Updates")} + + + + + setExpand(!expand)} /> + + + + + ); +}; + +export default SettingClashCore;