commit a1f03963bd9376daeb6a208d42bce86b2d0cd511 Author: 奇趣保罗 Date: Sat Sep 30 23:24:17 2023 +0800 feat: 恢复魅族 16 拍摄的在小窝上的部份照片 diff --git a/meizu-16-photo-recover.sh b/meizu-16-photo-recover.sh new file mode 100644 index 0000000..94ff7b4 --- /dev/null +++ b/meizu-16-photo-recover.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +# 恢复魅族 16 拍摄的在小窝上的部份照片 + +server="https://paul.ren/api" +#server="https://home.paul.xin/api" +token="eyJpZCI6MSwibmFtZSI6IlBhdWwiLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE2OTYwNzE0NDIsImV4cCI6MTY5NjA5MzA0Mn0=@/r0lW8rqIDoQuv5KrxSQ/O9VTxtHgRH5uZg10BWhYXo=" + +# 创建文件夹 output +mkdir -p output + +# 遍历当前文件夹下的所有 jpg 文件 +for file in *.jpg; do + + # 发送 GET 请求获取 JSON 数据 + response=$(curl --header "paul-token: $token" -s "$server/media/get/?origin_name=$file") + + # 提取 id + id=$(echo "$response" | jq -r '.data.id') + + # 如果没有 id,则跳过当前循环 + if [ -z "$id" ]; then + echo "匹配 $file 失败\n" + continue + fi + + echo "匹配 $file 成功,id 是 $id\n" + + # 存储图片名到变量 + filename=$(basename "$file") + + # 判断图片是竖屏的还是横屏的 + # 使用 identify 命令判断图片的宽度和高度 + width=$(identify -format "%w" "$file") + height=$(identify -format "%h" "$file") + + # 指定图片大小 + if [ $width -ge $height ]; then + new_size="2000x1500" + else + new_size="1500x2000" + fi + + # 使用 ImageMagick 处理图片 + convert "$file" -quality 80 -resize "$new_size" "output/$filename" + + # 使用 exiftool 抹掉图片的 gps 信息,并设置作者名称为 Paul + #exiftool -gps:all= -artist="Paul" -overwrite_original "output/$filename" + exiftool -overwrite_original -gps:all= -artist="奇趣保罗" -CreatorTool= "output/$filename" + + # 提交该文件给服务器 + curl --location "$server/media/update" \ + --header "paul-token: $token" \ + --form "id=$id" \ + --form "photo=@output/$filename" \ + --form 'IGNORE_UPDATE_TIME="1"' + + echo "\n\n" + +done