mihomo-cli 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +1 -2
- package/dist/index.js +28 -11
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.6.0] - 2026-05-03
|
|
4
|
+
|
|
5
|
+
### 改进
|
|
6
|
+
|
|
7
|
+
- **统一使用 mixed-port**:用 `mixed-port: 7890` 替代原来的 `port: 7890` + `socks-port: 7891`,单端口同时支持 HTTP 和 SOCKS5
|
|
8
|
+
- **BASE_CONFIG 优化**:新增 `unified-delay`、`tcp-concurrent`、`global-client-fingerprint`、`geo-auto-update`、`profile.store-selected`,不再依赖订阅自带这些配置
|
|
9
|
+
- **自动启用 sniffer**:检测到 `fake-ip` 模式时自动注入 sniffer 配置(嗅探 HTTP/TLS/QUIC),确保域名规则正常工作;订阅自带 sniffer 时不覆盖
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
3
13
|
## [2.5.0] - 2026-05-03
|
|
4
14
|
|
|
5
15
|
### 新功能
|
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -2688,29 +2688,33 @@ function getFreeSubscriptionSources() {
|
|
|
2688
2688
|
];
|
|
2689
2689
|
}
|
|
2690
2690
|
var BENCH_CONFIG = {
|
|
2691
|
+
"mixed-port": 17890,
|
|
2691
2692
|
"allow-lan": false,
|
|
2692
2693
|
"external-controller": "127.0.0.1:19090",
|
|
2693
|
-
port: 17890,
|
|
2694
|
-
"socks-port": 17891,
|
|
2695
2694
|
"log-level": "error",
|
|
2696
2695
|
"geodata-mode": true
|
|
2697
2696
|
};
|
|
2698
2697
|
var TEST_CONFIG = {
|
|
2698
|
+
"mixed-port": 27890,
|
|
2699
2699
|
"allow-lan": false,
|
|
2700
2700
|
"external-controller": "127.0.0.1:29090",
|
|
2701
|
-
port: 27890,
|
|
2702
|
-
"socks-port": 27891,
|
|
2703
2701
|
"log-level": "error",
|
|
2704
2702
|
"geodata-mode": true
|
|
2705
2703
|
};
|
|
2706
2704
|
var BASE_CONFIG = {
|
|
2705
|
+
"mixed-port": 7890,
|
|
2707
2706
|
"allow-lan": false,
|
|
2708
2707
|
"external-controller": "127.0.0.1:9090",
|
|
2709
|
-
|
|
2710
|
-
"
|
|
2711
|
-
"
|
|
2712
|
-
"
|
|
2708
|
+
"unified-delay": true,
|
|
2709
|
+
"tcp-concurrent": true,
|
|
2710
|
+
"global-client-fingerprint": "chrome",
|
|
2711
|
+
"geo-auto-update": true,
|
|
2713
2712
|
"geo-update-interval": 24,
|
|
2713
|
+
"geodata-mode": true,
|
|
2714
|
+
"log-level": "warning",
|
|
2715
|
+
profile: {
|
|
2716
|
+
"store-selected": true
|
|
2717
|
+
},
|
|
2714
2718
|
"geox-url": {
|
|
2715
2719
|
geoip: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip-lite.dat",
|
|
2716
2720
|
geosite: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite-lite.dat",
|
|
@@ -3128,9 +3132,10 @@ function buildConfig(subRawContent, mode) {
|
|
|
3128
3132
|
}
|
|
3129
3133
|
systemConfig["allow-lan"] = false;
|
|
3130
3134
|
systemConfig["external-controller"] = BASE_CONFIG["external-controller"];
|
|
3131
|
-
systemConfig
|
|
3132
|
-
systemConfig["socks-port"] = BASE_CONFIG["socks-port"];
|
|
3135
|
+
systemConfig["mixed-port"] = BASE_CONFIG["mixed-port"];
|
|
3133
3136
|
delete withOverwrites["mixed-port"];
|
|
3137
|
+
delete withOverwrites.port;
|
|
3138
|
+
delete withOverwrites["socks-port"];
|
|
3134
3139
|
delete withOverwrites["external-ui"];
|
|
3135
3140
|
delete withOverwrites["external-ui-name"];
|
|
3136
3141
|
delete withOverwrites["external-ui-url"];
|
|
@@ -3149,6 +3154,18 @@ function buildConfig(subRawContent, mode) {
|
|
|
3149
3154
|
if (systemConfig.dns) {
|
|
3150
3155
|
merged.dns = { ...withOverwrites.dns || {}, ...systemConfig.dns };
|
|
3151
3156
|
}
|
|
3157
|
+
const mergedDns = merged.dns || {};
|
|
3158
|
+
if (mergedDns["enhanced-mode"] === "fake-ip" && !("sniffer" in withOverwrites)) {
|
|
3159
|
+
merged.sniffer = {
|
|
3160
|
+
enable: true,
|
|
3161
|
+
sniff: {
|
|
3162
|
+
HTTP: { ports: [80, "8080-8880"], "override-destination": true },
|
|
3163
|
+
TLS: { ports: [443, 8443] },
|
|
3164
|
+
QUIC: { ports: [443, 8443] }
|
|
3165
|
+
},
|
|
3166
|
+
"skip-domain": ["+.push.apple.com"]
|
|
3167
|
+
};
|
|
3168
|
+
}
|
|
3152
3169
|
return { config: merged, subscriptionConfig, overwriteFiles, systemConfig };
|
|
3153
3170
|
}
|
|
3154
3171
|
function writeMihomoConfig(configObj) {
|
|
@@ -5379,7 +5396,7 @@ async function cmdBench(args) {
|
|
|
5379
5396
|
for (const d of downloaded) {
|
|
5380
5397
|
d.proxies = d.proxies.filter((p) => survivingSet.has(p));
|
|
5381
5398
|
}
|
|
5382
|
-
const benchPort = BENCH_CONFIG
|
|
5399
|
+
const benchPort = BENCH_CONFIG["mixed-port"];
|
|
5383
5400
|
const benchApi = BENCH_CONFIG["external-controller"];
|
|
5384
5401
|
console.log(colors.cyan("\u542F\u52A8\u6D4B\u8BD5\u5B9E\u4F8B..."));
|
|
5385
5402
|
await startBenchInstance();
|