From 70a6c49ba07cfa83758dfb881533211f8e4ef03d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=85=8E=E9=A5=BC=E6=9E=9C=E5=AD=90=E5=8D=B7=E9=B2=A8?= =?UTF-8?q?=E9=B1=BC=E8=BE=A3=E6=A4=92?= Date: Wed, 9 Jul 2025 19:12:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Cursor=E6=9D=83=E9=99=90?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=92=8CMAC=E5=9C=B0=E5=9D=80=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=9D=83?= =?UTF-8?q?=E9=99=90=E4=BF=AE=E5=A4=8D=E5=92=8C=E9=AA=8C=E8=AF=81=E6=9C=BA?= =?UTF-8?q?=E5=88=B6=EF=BC=8C=E6=8F=90=E5=8D=87=E7=94=A8=E6=88=B7=E4=BA=A4?= =?UTF-8?q?=E4=BA=92=E4=BD=93=E9=AA=8C=E3=80=82=E6=9B=B4=E6=96=B0=E4=BA=86?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=BF=A1=E6=81=AF=EF=BC=8C=E7=A1=AE=E4=BF=9D?= =?UTF-8?q?=E5=9C=A8=E6=9D=83=E9=99=90=E5=92=8CMAC=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=87=E7=A8=8B=E4=B8=AD=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E6=B8=85=E6=99=B0=E7=9A=84=E5=8F=8D=E9=A6=88=E3=80=82=E5=90=8C?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E6=94=B9=E8=BF=9B=E4=BA=86=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=92=8C=E6=95=85=E9=9A=9C=E6=8E=92=E9=99=A4?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=EF=BC=8C=E5=A2=9E=E5=BC=BA=E4=BA=86=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E7=9A=84=E5=AE=89=E5=85=A8=E6=80=A7=E5=92=8C=E5=8F=AF?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E6=80=A7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/run/cursor_mac_id_modifier.sh | 64 +++++++++++++++------------ 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/scripts/run/cursor_mac_id_modifier.sh b/scripts/run/cursor_mac_id_modifier.sh index bf8ac02..efac5dd 100644 --- a/scripts/run/cursor_mac_id_modifier.sh +++ b/scripts/run/cursor_mac_id_modifier.sh @@ -440,7 +440,7 @@ start_cursor_to_generate_config() { fi } -# �️ 确保Cursor目录权限正确(新增函数) +# 🛡️ 确保Cursor目录权限正确(新增函数) ensure_cursor_directory_permissions() { log_info "🛡️ [增强权限修复] 开始深度权限修复和诊断..." @@ -809,7 +809,7 @@ apply_macos_advanced_permissions() { return 0 } -# �️ 增强的Cursor权限完整修复(新增函数) +# 🛡️ 增强的Cursor权限完整修复(新增函数) ensure_cursor_complete_permissions() { log_info "🛡️ [完整权限] 开始Cursor权限完整修复..." @@ -931,7 +931,7 @@ ensure_cursor_complete_permissions() { return 0 } -# �🛠️ 修改机器码配置(增强版) +# 🛠️ 修改机器码配置(增强版) modify_machine_code_config() { local mode=${1:-"FULL"} @@ -1249,20 +1249,6 @@ validate_mac_address() { -# 🔍 MAC地址验证函数(基于randommac.sh) -validate_mac_address() { - local mac="$1" - local regex="^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" - - if [[ $mac =~ $regex ]]; then - return 0 - else - return 1 - fi -} - - - # 🔄 增强的WiFi断开和重连机制 manage_wifi_connection() { local action="$1" # disconnect 或 reconnect @@ -1587,28 +1573,50 @@ _change_mac_for_one_interface() { sleep 2 done - # 验证修改结果 + # 🔍 验证修改结果 if [[ $mac_change_success == true ]]; then + log_info "🔍 [验证] 验证MAC地址修改结果..." + sleep 3 # 等待系统更新 + local final_mac_check=$(ifconfig "$interface_name" | awk '/ether/{print $2}') - log_info "最终验证接口 '$interface_name' 新 MAC 地址: $final_mac_check" + log_info "📍 [检查] 接口 '$interface_name' 最终MAC地址: $final_mac_check" + if [ "$final_mac_check" == "$random_mac" ]; then - echo -e "${GREEN}✅ 成功使用 $method_used 方法修改接口 '$interface_name' 的 MAC 地址${NC}" + echo + log_info "🎉 [成功] MAC地址修改成功!" + echo " ✅ 使用方法: $method_used" + echo " ✅ 接口: $interface_name" + echo " ✅ 原MAC: $current_mac" + echo " ✅ 新MAC: $final_mac_check" + + # 🔄 WiFi后处理 + manage_wifi_connection "reconnect" "$interface_name" + return 0 else - log_warn "验证失败,MAC地址可能未生效或已被重置" + log_warn "⚠️ [验证失败] MAC地址可能未生效或已被系统重置" + log_info "💡 [提示] 期望: $random_mac, 实际: $final_mac_check" mac_change_success=false fi fi - # 失败处理 + # ❌ 失败处理和用户选择 if [[ $mac_change_success == false ]]; then - log_error "所有MAC地址修改方法都失败了" + echo + log_error "❌ [失败] 所有MAC地址修改方法都失败了" + log_info "📋 [尝试过的方法]: ${methods_tried[*]}" + + # 🔄 WiFi恢复 + manage_wifi_connection "reconnect" "$interface_name" + + # 📊 显示故障排除信息 _show_troubleshooting_info "$interface_name" - # 🔧 失败时提供选择:重试、跳过或退出 + # 🎯 提供用户选择 + echo + echo -e "${BLUE}💡 [说明]${NC} MAC地址修改失败,您可以选择:" + echo -e "${BLUE}💡 [备注]${NC} 如果所有接口都失败,脚本会自动尝试JS内核修改方案" echo - echo -e "${BLUE}� [说明]${NC} MAC地址修改失败,可以重试或跳过此接口" - echo -e "${BLUE}� [备注]${NC} 如果所有接口都失败,脚本会自动尝试JS内核修改方案" # 简化的用户选择 echo "请选择操作:" @@ -2313,15 +2321,13 @@ change_system_mac_address() { log_info "📋 [完成] 所有活动接口的MAC地址修改尝试完成" - log_info "所有活动接口的 MAC 地址修改尝试完成。" - if $overall_success; then return 0 # 所有尝试都成功 else # 🔧 MAC地址修改失败时自动切换到JS内核修改 echo log_warn "⚠️ [警告] MAC地址修改失败或部分失败" - log_info "� [智能切换] 自动切换到JS内核修改方案..." + log_info "🔧 [智能切换] 自动切换到JS内核修改方案..." log_info "💡 [说明] JS内核修改直接修改Cursor设备检测逻辑,绕过效果更好" if modify_cursor_js_files; then