diff --git a/src/pages/setting.tsx b/src/pages/setting.tsx
index 002dea44f83578f7e1951a3090323263c35b0139..0770a2de4f5ef2c05e4c54b517daa816b6287b5b 100644
--- a/src/pages/setting.tsx
+++ b/src/pages/setting.tsx
@@ -1,3 +1,4 @@
+import { useState } from "react";
 import { useRecoilState } from "recoil";
 import {
   Box,
@@ -14,6 +15,7 @@ import {
 } from "@mui/material";
 import { atomPaletteMode } from "../states/setting";
 import PaletteSwitch from "../components/palette-switch";
+import { setSysProxy } from "../services/command";
 
 const MiniListItem = styled(ListItem)(({ theme }) => ({
   paddingTop: 5,
@@ -22,6 +24,20 @@ const MiniListItem = styled(ListItem)(({ theme }) => ({
 
 const SettingPage = () => {
   const [mode, setMode] = useRecoilState(atomPaletteMode);
+  const [proxy, setProxy] = useState(false);
+
+  const onSysproxy = (enable: boolean) => {
+    const value = proxy;
+    setProxy(enable);
+    setSysProxy(enable)
+      .then(() => {
+        console.log("success");
+      })
+      .catch((err) => {
+        setProxy(value); // recover
+        console.log(err);
+      });
+  };
 
   return (
     <Box sx={{ width: 0.9, maxWidth: "850px", mx: "auto", mb: 2 }}>
@@ -48,7 +64,11 @@ const SettingPage = () => {
 
         <MiniListItem>
           <ListItemText primary="设置系统代理" />
-          <Switch edge="end" />
+          <Switch
+            edge="end"
+            checked={proxy}
+            onChange={(_e, c) => onSysproxy(c)}
+          />
         </MiniListItem>
 
         <MiniListItem>
diff --git a/src/services/command.ts b/src/services/command.ts
index 57bd471d1f8b2bc822724012cb0b8fc5dcd65c46..7489a45e0b522b690ce84e9c2e87dfbb2374dff3 100644
--- a/src/services/command.ts
+++ b/src/services/command.ts
@@ -48,3 +48,7 @@ export async function setProfiles(current: number, profile: ProfileItem) {
 export async function putProfiles(current: number) {
   return invoke<void>("put_profiles", { current });
 }
+
+export async function setSysProxy(enable: boolean) {
+  return invoke<void>("set_sys_proxy", { enable });
+}