Skip to content

Releases: AirportR/miaospeed

4.6.3

11 Dec 16:39
8850c39

Choose a tag to compare

miaospeed v4.6.3

  1. 将mihomo升级到v1.19.17
  2. 适配 sudoku 代理协议
  3. 为Miaoko客户端提供不支持的macro兼容层
  4. 新的macro:hijack 用来检测流量是否被“劫持”,这里的劫持指的是测速链接请求的IP地址与实际普通网页请求的IP地址不一致产生的“分流行为”。(感谢 https://github.com/SpeedCentre/hijack-test 提供的测试代码)
  5. 具体劫持说明可查看此链接:https://telegra.ph/劫持检测的背后我们是如何做到的-11-27
  6. 为 fetch 函数添加新的参数:sni ,用来指定SNI,默认为空
MatrixType 描述 Macro
TEST_HIJACK_DETECTION 测速劫持检测 hijack

macro兼容层介绍

现在所有的macro都可以通过名为“script”的macro进行包装后运行,具体原理是:

通过在js脚本声明一个MS_MATRICE_ENTRY常量,然后设置matrix_extract函数,让函数返回和js脚本中handler一样的结构格式,就可以做到通过在脚本中调用其他macro

下面是一个要求提取"TEST_HIJACK_DETECTION"矩阵(对应的macro会自动被调用)的例子:

// 测速劫持检测脚本,需要miaospeed版本至少 4.6.3 以上
const C_NA = '142,140,142';
const C_UNL = '186,230,126';
const C_FAIL = '239,107,115';
const C_UNK = '92,207,230';
const MS_MATRIX_ENTRY = {
    name: "TEST_HIJACK_DETECTION", // MatrixType 数据矩阵名称,对应的macro会自动被调用
    params: "劫持检测", // 可能的参数
}
// 提取 matrix 数据,macroResult是对应的macro运行结果,其数据结构参阅源码,或者你可以用js遍历出来它的属性
function matrix_extract(macroResult) {
    // 检查 macroResult 是否为对象
    if (!macroResult || typeof macroResult !== "object") {
        return {
            text: "无效数据",
            background: C_NA
        };
    }

    // 提取 speedIP 和 realIP(防止 null / undefined)
    var speedIP = macroResult.SpeedIP;
    // print("speedIP: " + speedIP);
    var realIP = macroResult.RealIP;
    // print("realIP: " + realIP);
    // 若任意为空 → 检测失败
    if (!speedIP || !realIP || speedIP === undefined || realIP === undefined || speedIP === null || realIP === null) {
        return {
            text: "检测失败",
            background: C_NA
        };
    }
    // 若不一致 → 被劫持
    if (speedIP !== realIP) {
        return {
            text: "❌被劫持",
            background: C_FAIL
        };
    }
    return {
        text: "✅未劫持",
        background: C_UNL
    };
}

4.6.2

25 Oct 08:32
8850c39

Choose a tag to compare

miaospeed v4.6.2

  1. 将mihomo升级到v1.19.15
  2. 更新utls依赖以避免安全问题
  3. 新增miaospeed scheme,可用来临时对接后端
  4. server命令行参数新增 -demo ,可用来临时启动一个本地后端,并在控制台输出miaospeed://... 的对接配置,此URI可给客户端进行适配。用法:./miaospeed server -demo ,此方法启动的服务token和path是随机的,且仅在局域网进行监听服务。

4.6.1

23 Sep 09:01
8850c39

Choose a tag to compare

miaospeed v4.6.1

  1. 🎉首次迎来了对上行速度测试的支持,
  2. 上行速度测试对应的 MacroType 为: uspeed ,对应的 MatrixType有:
MatrixType 描述 Macro
USPEED_MAX 最大上行速度 uspeed
USPEED_AVERAGE 平均上行速度 uspeed
USPEED_PER_SECOND 每秒上行速度 uspeed
  1. 新的命令行启动参数: -upload ,可用于在此后端服务器上启用上行速度测试
  2. 上行速度测试默认是禁用的,需要在启动时加入 -upload 参数启用
  3. 将mihomo升级到 v1.19.13
  4. 支持vless的 encryption 特性
  5. 支持 AmneziaWG v1.5 特性
  6. 旧版客户端兼容性优化

4.6.0

10 Sep 15:16
1e2e9cd

Choose a tag to compare

miaospeed v4.6.0

  1. 🎉首次迎来了对上行速度测试的支持,
  2. 上行速度测试对应的 MacroType 为: uspeed ,对应的 MatrixType有:
MatrixType 描述 Macro
USPEED_MAX 最大上行速度 uspeed
USPEED_AVERAGE 平均上行速度 uspeed
USPEED_PER_SECOND 每秒上行速度 uspeed
  1. 新的命令行启动参数: -upload ,可用于在此后端服务器上启用上行速度测试

4.5.10

21 Aug 10:11

Choose a tag to compare

miaospeed v4.5.10

  1. 将mihomo升级到 v1.19.12 版本
  2. 更新默认的geoip脚本
  3. 修复脚本函数 netcat 无限等待的问题
  4. 修复因代理类型不匹配无法测试TUIC的问题

v4.5.9

08 Jun 14:21

Choose a tag to compare

miaospeed v4.5.9

  1. 将mihomo升级到 v1.19.10 版本
  2. 主端传递的dns配置支持dns over https,格式为: https://dns.alidns.com/dns-query

v4.5.8

03 Mar 06:14

Choose a tag to compare

miaospeed v4.5.8

  1. 将mihomo升级到 v1.19.3 版本
  2. 添加对 AnyTLS协议的支持
  3. 修复了部分ping地址无法测出延迟的问题

v4.5.7

06 Feb 16:31

Choose a tag to compare

miaospeed v4.5.7

  1. 将mihomo升级到 v1.19.1 版本
  2. 新的数据矩阵: TEST_PING_PACKET_LOSS 用于测试丢包率
  3. 优化了ping测试
  4. 支持Mieru协议(仅TCP)

v4.5.6-stable

05 Nov 09:06
e72fb71

Choose a tag to compare

miaospeed v4.5.6

  1. 将mihomo版本降级为v1.18.0
  2. 启动 -ipv6 以支持ipv6测试,默认关闭

v4.5.6

24 Oct 13:44

Choose a tag to compare

miaospeed v4.5.6

  1. 修复UDP连接导致的任务卡死问题。