Browse Source

优化Cursor权限管理和MAC地址修改功能,新增权限修复和验证机制,提升用户交互体验。更新了日志信息,确保在权限和MAC地址修改过程中提供清晰的反馈。同时,改进了错误处理和故障排除信息,增强了脚本的安全性和可维护性。

master v0.0.192
煎饼果子卷鲨鱼辣椒 2 weeks ago
parent
commit
70a6c49ba0
  1. 64
      scripts/run/cursor_mac_id_modifier.sh

64
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

Loading…
Cancel
Save