fix(mieru): remove certificate/private-key from mieru listener

Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
fix(mieru): remove certificate/private-key from mieru listener
Mieru is a TCP/UDP proxy that does NOT use TLS — it has no
certificate/private-key fields in the official Mihomo listener
schema. But ensureServerTLSCertificate and ensureListenerTLSMaterial
both listed mieru as needing a cert, so they injected self-signed
PEMs into the listener config. Mihomo rejected with:
listener 'mieru': field 'certificate' is not supported
Fix: removed 'mieru' from the protocol list in both:
- autofill.go: protocolNeedsServerCertificate
- tls_ensure.go: listenerProtocolNeedsCert
Mieru now correctly skips TLS certificate generation.
This commit is contained in:
Z User committed 2026-08-31 16:01:51 +00:00
1 parent 83be2eeeba
commit 18655e32c5
2 files changed
+2 -2

No files matched your search

+1 -1
View File
@@ -575,7 +575,7 @@ func protocolNeedsServerCertificate(proto string, cfg map[string]interface{}) bo
return false
}
switch strings.ToLower(strings.TrimSpace(proto)) {
case "hysteria2", "anytls", "mieru", "tuic", "trusttunnel", "trojan":
case "hysteria2", "anytls", "tuic", "trusttunnel", "trojan":
return true
default:
return false
+1 -1
View File
@@ -83,7 +83,7 @@ func listenerProtocolNeedsCert(proto string, cfg map[string]interface{}) bool {
return false
}
switch proto {
case "hysteria2", "anytls", "mieru", "tuic", "trusttunnel", "trojan":
case "hysteria2", "anytls", "tuic", "trusttunnel", "trojan":
return true
default:
return false