mirror of
https://github.com/yuaotian/go-cursor-help.git
synced 2025-06-08 12:32:06 +08:00
新增临时修改系统 MAC 地址的功能,允许用户在不重启的情况下更改主网络接口的 MAC 地址。此更改包括自动检测主网络接口、生成随机 MAC 地址并执行修改,同时在日志中记录相关信息和警告。更新了主程序执行流程以默认调用此功能,确保用户在使用工具时了解相关风险和操作影响。
This commit is contained in:
parent
33cd677188
commit
d48d9fa1d0
@ -154,6 +154,53 @@ backup_config() {
|
||||
fi
|
||||
}
|
||||
|
||||
# 修改系统 MAC 地址 (临时)
|
||||
change_system_mac_address() {
|
||||
log_info "开始尝试修改系统 MAC 地址..."
|
||||
echo
|
||||
echo -e "${YELLOW}[警告]${NC} 即将尝试修改您主网络接口的 MAC 地址。"
|
||||
echo -e "${YELLOW}[警告]${NC} 此更改是 ${RED}临时${NC} 的,将在您重启 Mac 后恢复为原始地址。"
|
||||
echo -e "${YELLOW}[警告]${NC} 修改 MAC 地址可能会导致临时的网络中断或连接问题。"
|
||||
echo -e "${YELLOW}[警告]${NC} 请确保您了解相关风险。此操作主要影响本地网络识别,而非互联网身份。"
|
||||
echo
|
||||
|
||||
# 尝试自动检测主网络接口 (Wi-Fi 或 Ethernet)
|
||||
local primary_interface=$(networksetup -listallhardwareports | awk '/Hardware Port: (Wi-Fi|Ethernet)/{getline; print $2}' | head -n 1)
|
||||
|
||||
if [ -z "$primary_interface" ]; then
|
||||
log_warn "未能自动检测到主要的 Wi-Fi 或以太网接口。默认尝试使用 'en0'。"
|
||||
primary_interface="en0"
|
||||
else
|
||||
log_info "检测到主网络接口: $primary_interface"
|
||||
fi
|
||||
|
||||
# 获取当前 MAC 地址用于日志记录
|
||||
local current_mac=$(ifconfig "$primary_interface" | awk '/ether/{print $2}')
|
||||
log_info "接口 '$primary_interface' 当前 MAC 地址: $current_mac"
|
||||
|
||||
# 生成随机 MAC 地址 (保留本地管理位,避免冲突)
|
||||
# OUI (前三字节) 可以是任意的,这里使用 02 (本地管理) 开头确保不与厂商 OUI 冲突
|
||||
local random_mac=$(printf '02:%02x:%02x:%02x:%02x:%02x' $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256)))
|
||||
log_info "生成新的随机 MAC 地址: $random_mac"
|
||||
|
||||
log_info "执行命令: sudo ifconfig $primary_interface ether $random_mac"
|
||||
if sudo ifconfig "$primary_interface" ether "$random_mac"; then
|
||||
log_info "成功将接口 '$primary_interface' 的 MAC 地址临时修改为: $random_mac"
|
||||
local new_mac_check=$(ifconfig "$primary_interface" | awk '/ether/{print $2}')
|
||||
log_info "验证新 MAC 地址: $new_mac_check"
|
||||
if [ "$new_mac_check" != "$random_mac" ]; then
|
||||
log_warn "验证失败,MAC 地址似乎未成功设置。"
|
||||
fi
|
||||
echo -e "${GREEN}已临时修改接口 '$primary_interface' 的 MAC 地址。重启后恢复。${NC}"
|
||||
else
|
||||
log_error "修改接口 '$primary_interface' 的 MAC 地址失败。"
|
||||
log_error "请检查接口名称是否正确,或尝试手动执行: sudo ifconfig $primary_interface ether <新MAC地址>"
|
||||
echo -e "${RED}修改 MAC 地址失败。请检查日志: $LOG_FILE ${NC}"
|
||||
# 即使失败也继续执行脚本的其他部分
|
||||
fi
|
||||
echo
|
||||
}
|
||||
|
||||
# 生成随机 ID
|
||||
generate_random_id() {
|
||||
# 生成32字节(64个十六进制字符)的随机数
|
||||
@ -224,34 +271,6 @@ modify_or_add_config() {
|
||||
return 0
|
||||
}
|
||||
|
||||
# 生成新的配置
|
||||
generate_new_config() {
|
||||
echo
|
||||
log_warn "机器码处理"
|
||||
|
||||
# 默认不重置机器码
|
||||
reset_choice=0
|
||||
|
||||
# 记录日志以便调试
|
||||
echo "[INPUT_DEBUG] 机器码重置选项: 不重置 (默认)" >> "$LOG_FILE"
|
||||
|
||||
# 处理 - 默认为不重置
|
||||
log_info "默认不重置机器码,将仅修改js文件"
|
||||
|
||||
# 确保配置文件目录存在
|
||||
if [ -f "$STORAGE_FILE" ]; then
|
||||
log_info "发现已有配置文件: $STORAGE_FILE"
|
||||
|
||||
# 备份现有配置(以防万一)
|
||||
backup_config
|
||||
else
|
||||
log_warn "未找到配置文件,这是正常的,脚本将跳过ID修改"
|
||||
fi
|
||||
|
||||
echo
|
||||
log_info "配置处理完成"
|
||||
}
|
||||
|
||||
# 清理 Cursor 之前的修改
|
||||
clean_cursor_app() {
|
||||
log_info "尝试清理 Cursor 之前的修改..."
|
||||
@ -981,7 +1000,7 @@ main() {
|
||||
log_info "当前用户: $CURRENT_USER"
|
||||
log_cmd_output "sw_vers" "macOS 版本信息"
|
||||
log_cmd_output "which codesign" "codesign 路径"
|
||||
log_cmd_output "ls -la \"$CURSOR_APP_PATH\"" "Cursor 应用信息"
|
||||
log_cmd_output "ls -ld "$CURSOR_APP_PATH"" "Cursor 应用信息"
|
||||
|
||||
# 新增环境检查
|
||||
if [[ $(uname) != "Darwin" ]]; then
|
||||
@ -1005,7 +1024,7 @@ main() {
|
||||
echo -e "${YELLOW} 一起交流更多Cursor技巧和AI知识(脚本免费、关注公众号加群有更多技巧和大佬) ${NC}"
|
||||
echo -e "${BLUE}================================${NC}"
|
||||
echo
|
||||
echo -e "${YELLOW}[重要提示]${NC} 本工具优先修改js文件,更加安全可靠"
|
||||
echo -e "${YELLOW}[重要提示]${NC} 本工具默认会修改系统 MAC 地址 (临时) 并修改 JS 文件以重置设备标识。"
|
||||
echo -e "${YELLOW}[重要提示]${NC} 本工具免费,如果对您有帮助,请关注公众号【煎饼果子卷AI】"
|
||||
echo
|
||||
|
||||
@ -1014,8 +1033,8 @@ main() {
|
||||
check_and_kill_cursor
|
||||
backup_config
|
||||
|
||||
# 处理配置文件,默认不重置机器码
|
||||
generate_new_config
|
||||
# 新增:默认执行系统 MAC 地址修改
|
||||
change_system_mac_address
|
||||
|
||||
# 执行主程序文件修改
|
||||
log_info "正在执行主程序文件修改..."
|
||||
|
Loading…
x
Reference in New Issue
Block a user