Browse Source

feat: Add system ID backup and modification for Linux and Mac scripts

- Implemented `backup_system_id()` function for both Linux and Mac scripts
- Added system ID backup with timestamped files and detailed information
- Introduced machine-id modification for Linux systems
- Added system UUID modification option for Mac systems
- Enhanced logging and user interaction for system ID changes
pull/208/head v0.0.60
煎饼果子卷鲨鱼辣椒 4 months ago
parent
commit
1c898ec594
  1. 42
      scripts/run/cursor_linux_id_modifier.sh
  2. 40
      scripts/run/cursor_mac_id_modifier.sh

42
scripts/run/cursor_linux_id_modifier.sh

@ -112,6 +112,32 @@ check_and_kill_cursor() {
exit 1
}
# 备份系统 ID
backup_system_id() {
log_info "正在备份系统 ID..."
local system_id_file="$BACKUP_DIR/system_id.backup_$(date +%Y%m%d_%H%M%S)"
# 获取并备份 machine-id
{
echo "# Original Machine ID Backup" > "$system_id_file"
echo "## /var/lib/dbus/machine-id:" >> "$system_id_file"
cat /var/lib/dbus/machine-id 2>/dev/null >> "$system_id_file" || echo "Not found" >> "$system_id_file"
echo -e "\n## /etc/machine-id:" >> "$system_id_file"
cat /etc/machine-id 2>/dev/null >> "$system_id_file" || echo "Not found" >> "$system_id_file"
echo -e "\n## hostname:" >> "$system_id_file"
hostname >> "$system_id_file"
chmod 444 "$system_id_file"
chown "$CURRENT_USER:$CURRENT_USER" "$system_id_file"
log_info "系统 ID 已备份到: $system_id_file"
} || {
log_error "备份系统 ID 失败"
return 1
}
}
# 备份配置文件
backup_config() {
# 检查文件权限
@ -170,6 +196,22 @@ generate_new_config() {
exit 1
fi
# 修改系统 machine-id
if [ -f "/etc/machine-id" ]; then
log_info "正在修改系统 machine-id..."
local new_machine_id=$(uuidgen | tr -d '-')
# 备份原始 machine-id
backup_system_id
# 修改 machine-id
echo "$new_machine_id" | sudo tee /etc/machine-id > /dev/null
if [ -f "/var/lib/dbus/machine-id" ]; then
sudo ln -sf /etc/machine-id /var/lib/dbus/machine-id
fi
log_info "系统 machine-id 已更新"
fi
# 将 auth0|user_ 转换为字节数组的十六进制
local prefix_hex=$(echo -n "auth0|user_" | xxd -p)
local random_part=$(generate_random_id)

40
scripts/run/cursor_mac_id_modifier.sh

@ -106,6 +106,26 @@ check_and_kill_cursor() {
exit 1
}
# 备份系统 ID
backup_system_id() {
log_info "正在备份系统 ID..."
local system_id_file="$BACKUP_DIR/system_id.backup_$(date +%Y%m%d_%H%M%S)"
# 获取并备份 IOPlatformExpertDevice 信息
{
echo "# Original System ID Backup" > "$system_id_file"
echo "## IOPlatformExpertDevice Info:" >> "$system_id_file"
ioreg -rd1 -c IOPlatformExpertDevice >> "$system_id_file"
chmod 444 "$system_id_file"
chown "$CURRENT_USER" "$system_id_file"
log_info "系统 ID 已备份到: $system_id_file"
} || {
log_error "备份系统 ID 失败"
return 1
}
}
# 备份配置文件
backup_config() {
if [ ! -f "$STORAGE_FILE" ]; then
@ -146,6 +166,26 @@ generate_new_config() {
exit 1
fi
# 修改系统 ID
log_info "正在修改系统 ID..."
# 备份当前系统 ID
backup_system_id
# 生成新的系统 UUID
local new_system_uuid=$(uuidgen)
# 尝试修改系统 UUID (需要用户确认)
log_warn "注意:修改系统 UUID 需要重启系统才能生效"
log_warn "是否要修改系统 UUID?(y/N)"
read -r choice
if [[ "$choice" =~ ^[Yy]$ ]]; then
sudo nvram SystemUUID="$new_system_uuid"
log_info "系统 UUID 已更新,请重启系统以应用更改"
else
log_info "跳过系统 UUID 修改"
fi
# 将 auth0|user_ 转换为字节数组的十六进制
local prefix_hex=$(echo -n "auth0|user_" | xxd -p)
local random_part=$(generate_random_id)

Loading…
Cancel
Save