commit 6f0bd516c87e801b5523a936acac35529c31c5a9 Author: ccovo Date: Thu Nov 20 20:17:07 2025 +0800 上传文件至 / diff --git a/miuitask.py b/miuitask.py new file mode 100644 index 0000000..204ed98 --- /dev/null +++ b/miuitask.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +import os +import glob +import re +import subprocess +import stat +import platform +import sys + +def parse_version(ver_str: str): + """解析版本号为整数元组""" + parts = ver_str.split(".") + nums = [int(p) for p in parts] + while len(nums) < 3: + nums.append(0) + return tuple(nums) + +def get_system_arch(): + """获取系统架构: amd64 / arm64""" + machine = platform.machine().lower() + if machine in ("x86_64", "amd64"): + return "amd64" + elif machine in ("aarch64", "arm64"): + return "arm64" + else: + print(f"不支持的架构: {machine}") + sys.exit(1) + +def main(): + """选择并运行匹配架构的最新版本 bin 文件""" + arch = get_system_arch() + print(f"系统架构: {arch}") + + bin_files = glob.glob("xiaomi-invite*.bin") + if not bin_files: + print("未找到 bin 文件") + return + + pattern = re.compile(rf"xiaomi-invite-v([\d.]+)-linux-{arch}\.bin", re.IGNORECASE) + + candidates = [] + for f in bin_files: + m = pattern.search(f) + if m: + candidates.append((parse_version(m.group(1)), f)) + + if not candidates: + print(f"无匹配 {arch} 文件") + return + + latest_ver, latest_file = max(candidates, key=lambda x: x[0]) + print(f"运行: {latest_file} (版本 {'.'.join(map(str, latest_ver))})") + + os.chmod(latest_file, os.stat(latest_file).st_mode | stat.S_IEXEC) + try: + subprocess.run(["./" + latest_file], check=True) + except subprocess.CalledProcessError as e: + print(f"运行失败,退出码 {e.returncode}") + +if __name__ == "__main__": + main() diff --git a/xiaomi-invite-v1.0.0-linux-amd64.bin b/xiaomi-invite-v1.0.0-linux-amd64.bin new file mode 100644 index 0000000..cd96560 Binary files /dev/null and b/xiaomi-invite-v1.0.0-linux-amd64.bin differ diff --git a/xiaomi-invite-v1.0.0-linux-arm64.bin b/xiaomi-invite-v1.0.0-linux-arm64.bin new file mode 100644 index 0000000..1c799fa Binary files /dev/null and b/xiaomi-invite-v1.0.0-linux-arm64.bin differ diff --git a/xiaomi-invite-v1.0.0-windows-amd64.exe b/xiaomi-invite-v1.0.0-windows-amd64.exe new file mode 100644 index 0000000..7075f04 Binary files /dev/null and b/xiaomi-invite-v1.0.0-windows-amd64.exe differ