From 1da82c1b3b3e1c486b0b69bde60bba99dcd68bc1 Mon Sep 17 00:00:00 2001 From: Memory <134070804+Memory2314@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:15:23 +0800 Subject: [PATCH] feat: add IPv6 loopback addresses to skip-auth-prefixes --- src/main/utils/init.ts | 8 +++++++- src/main/utils/template.ts | 2 +- src/renderer/src/pages/mihomo.tsx | 6 +++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/utils/init.ts b/src/main/utils/init.ts index 2d0986d..3f6661c 100644 --- a/src/main/utils/init.ts +++ b/src/main/utils/init.ts @@ -272,7 +272,13 @@ async function migration(): Promise { } // add default skip auth prefix if (!skipAuthPrefixes) { - await patchControledMihomoConfig({ 'skip-auth-prefixes': ['127.0.0.1/32'] }) + await patchControledMihomoConfig({ 'skip-auth-prefixes': ['127.0.0.1/32', '::1/128'] }) + } else if (skipAuthPrefixes.length >= 1 && skipAuthPrefixes[0] === '127.0.0.1/32') { + const filteredPrefixes = skipAuthPrefixes.filter(ip => ip !== '::1/128') + const newPrefixes = [filteredPrefixes[0], '::1/128', ...filteredPrefixes.slice(1)] + if (JSON.stringify(newPrefixes) !== JSON.stringify(skipAuthPrefixes)) { + await patchControledMihomoConfig({ 'skip-auth-prefixes': newPrefixes }) + } } // add default authentication if (!authentication) { diff --git a/src/main/utils/template.ts b/src/main/utils/template.ts index 57312ec..8229bc9 100644 --- a/src/main/utils/template.ts +++ b/src/main/utils/template.ts @@ -65,7 +65,7 @@ export const defaultControledMihomoConfig: Partial = { 'lan-allowed-ips': ['0.0.0.0/0', '::/0'], 'lan-disallowed-ips': [], authentication: [], - 'skip-auth-prefixes': ['127.0.0.1/32'], + 'skip-auth-prefixes': ['127.0.0.1/32', '::1/128'], tun: { enable: false, device: process.platform === 'darwin' ? 'utun1500' : 'Mihomo', diff --git a/src/renderer/src/pages/mihomo.tsx b/src/renderer/src/pages/mihomo.tsx index 9094cae..ff1197d 100644 --- a/src/renderer/src/pages/mihomo.tsx +++ b/src/renderer/src/pages/mihomo.tsx @@ -48,7 +48,7 @@ const Mihomo: React.FC = () => { 'external-controller': externalController = '', secret, authentication = [], - 'skip-auth-prefixes': skipAuthPrefixes = ['127.0.0.1/32'], + 'skip-auth-prefixes': skipAuthPrefixes = ['127.0.0.1/32', '::1/128'], 'log-level': logLevel = 'info', 'find-process-mode': findProcessMode = 'strict', 'allow-lan': allowLan, @@ -743,7 +743,7 @@ const Mihomo: React.FC = () => { return (
{ } }} /> - {index < skipAuthPrefixesInput.length && index !== 0 && ( + {index < skipAuthPrefixesInput.length && index !== 0 && index !== 1 && (