ui v0.0.1-beta

This commit is contained in:
go0p
2026-08-06 15:11:35 +08:00
committed by go0p
parent 58d0b5bcc5
commit 267700c73b
4 changed files with 62 additions and 9 deletions
+55
View File
@@ -52,6 +52,61 @@ async function handleSetProxyConfig(config, sendResponse) {
return;
}
// 添加系统代理的处理
if (config.proxyType === 'system') {
try {
// 先清除当前的代理设置
await new Promise((resolve) => {
chrome.proxy.settings.clear({
scope: 'regular'
}, resolve);
});
// 然后设置为系统代理
await new Promise((resolve) => {
chrome.proxy.settings.set({
value: {mode: "system"},
scope: 'regular'
}, resolve);
});
const settings = await getProxySettings();
const isSuccess = settings.value.mode === "system";
if (isSuccess) {
// 更新存储
await proxyStore.setCurrentProxy({
...config,
timestamp: Date.now()
});
// 更新代理列表状态
const configs = await proxyStore.getProxyConfigs();
const updatedConfigs = configs.map(c => ({
...c,
enabled: c.id === config.id
}));
await proxyStore.saveProxyConfigs(updatedConfigs);
console.log('System proxy set successfully');
sendResponse({success: true});
} else {
console.error('Failed to set system proxy');
sendResponse({
success: false,
error: '无法设置系统代理'
});
}
} catch (error) {
console.error('Error setting system proxy:', error);
sendResponse({
success: false,
error: error.message || '设置系统代理时发生错误'
});
}
return;
}
// 处理代理服务器的情况
if (!config || !config.host || !config.port) {
sendResponse({
+4 -2
View File
@@ -16,7 +16,8 @@ const FIXED_MODES = [
config: {
id: 'direct',
name: '[直接连接]',
proxyType: 'direct'
proxyType: 'direct',
enabled: false
}
},
{
@@ -27,7 +28,8 @@ const FIXED_MODES = [
config: {
id: 'system',
name: '[系统代理]',
proxyType: 'system'
proxyType: 'system',
enabled: false
}
}
];
+2 -6
View File
@@ -9,9 +9,5 @@ if (!container) throw new Error('Failed to find the root element');
// 创建根
const root = createRoot(container);
// 渲染应用
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
// 渲染应用,移除 StrictMode
root.render(<App />);
+1 -1
View File
@@ -2,7 +2,7 @@ export interface ProxyConfig {
id: string;
name: string;
enabled: boolean;
proxyType: "direct" | "fixed_server" | "pac_script" | "auto_detect" | "bypass_list";
proxyType: "direct" | "system" | "fixed_servers" | "pac_script" | "auto_detect";
host?: string;
port?: number;
scheme?: "http" | "https" | "socks4" | "socks5";