feat: add IPv6 loopback addresses to skip-auth-prefixes

This commit is contained in:
Memory 2025-08-29 13:15:23 +08:00 committed by GitHub
parent 84c89105b4
commit 1da82c1b3b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 11 additions and 5 deletions

View File

@ -272,7 +272,13 @@ async function migration(): Promise<void> {
}
// 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) {

View File

@ -65,7 +65,7 @@ export const defaultControledMihomoConfig: Partial<IMihomoConfig> = {
'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',

View File

@ -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 (
<div key={index} className="flex mb-2">
<Input
disabled={index === 0}
disabled={index === 0 || index === 1}
size="sm"
fullWidth
placeholder={t('mihomo.ipSegment.placeholder')}
@ -758,7 +758,7 @@ const Mihomo: React.FC = () => {
}
}}
/>
{index < skipAuthPrefixesInput.length && index !== 0 && (
{index < skipAuthPrefixesInput.length && index !== 0 && index !== 1 && (
<Button
className="ml-2"
size="sm"