DSM_Login_BingWallpaper icon indicating copy to clipboard operation
DSM_Login_BingWallpaper copied to clipboard

UHD图片

Open zuosc opened this issue 3 years ago • 4 comments

瞎改了下,也可以用。

主要是把链接后面的参数去掉,就是原图了。

https://www.bing.com/th?id=OHR.FishOwl_EN-US0921851280_UHD.jpg&rf=LaDigue_UHD.jpg&pid=hp&w=1920&h=1080&rs=1&c=4

https://www.bing.com/th?id=OHR.FishOwl_EN-US0921851280_UHD.jpg
savepath="/volume1/homes/admin/wallpaper"
pic=$(wget -t 5 --no-check-certificate -qO- "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&uhd=1")
echo $pic|grep -q enddate||exit
link=$(echo https://www.bing.com$(echo $pic|sed 's/.\+"url"[:" ]\+//g'|sed 's/".\+//g'))
UHDLink=$(echo ${link%%&*})
date=$(echo $pic|sed 's/.\+enddate[": ]\+//g'|grep -Eo 2[0-9]{7}|head -1)
tmpfile=/tmp/$date"_bing.jpg"
wget -t 5 --no-check-certificate  $link -qO $tmpfile
tmpfile_UHD=/tmp/$date"_bing_UHD.jpg"
wget -t 5 --no-check-certificate  $UHDLink -qO $tmpfile_UHD


[ -s $tmpfile ]||exit
rm -rf /usr/syno/etc/login_background*.jpg
cp -f $tmpfile /usr/syno/etc/login_background.jpg &>/dev/null
cp -f $tmpfile /usr/syno/etc/login_background_hd.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/default_wallpaper/01.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/default/1x/default_wallpaper/dsm6_01.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/default/2x/default_wallpaper/dsm6_01.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/default/1x/default_wallpaper/dsm6_02.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/default/2x/default_wallpaper/dsm6_02.jpg &>/dev/null
title=$(echo $pic|sed 's/.\+"title":"//g'|sed 's/".\+//g')
copyright=$(echo $pic|sed 's/.\+"copyright[:" ]\+//g'|sed 's/".\+//g')
word=$(echo $copyright|sed 's/(.\+//g')
if  [ ! -n "$title" ];then
cninfo=$(echo $copyright|sed 's/,/"/g'|sed 's/,/"/g'|sed 's/(/"/g'|sed 's/ //g'|sed 's/\//_/g'|sed 's/)//g')
title=$(echo $cninfo|cut -d'"' -f1)
word=$(echo $cninfo|cut -d'"' -f2)
fi
sed -i s/login_background_customize=.*//g /etc/synoinfo.conf
echo "login_background_customize=\"yes\"">>/etc/synoinfo.conf
sed -i s/login_welcome_title=.*//g /etc/synoinfo.conf
echo "login_welcome_title=\"$title\"">>/etc/synoinfo.conf
sed -i s/login_welcome_msg=.*//g /etc/synoinfo.conf
echo "login_welcome_msg=\"$word\"">>/etc/synoinfo.conf
if (echo $savepath|grep -q '/') then
cp -f $tmpfile $savepath/1080P/$date@$title-$word.jpg
cp -f $tmpfile_UHD $savepath/UHD/$date@$title-$word-UHD.jpg
fi
rm -rf /tmp/*_bing.jpg
rm -rf /tmp/*_bing_UHD.jpg

zuosc avatar Oct 30 '20 11:10 zuosc

更新:想要原图还是用主楼的方法,原图并不是标准4K分辨率。加上分辨率可以截取想要的尺寸,比如手机壁纸。

  • format 参数设定 xml 则返回 xml 格式,设定 js 则返回 json 格式
  • idx 参数似乎是控制显示哪一天的壁纸,0 表示当天,1 表示昨天,以此类推
  • n 参数同时返回最近几天的壁纸,最大好像只能是 8,再往上加也没用

通过 idxn 参数组合最多好像能看到15天前的壁纸。

用这个链接替换原脚本里的链接也可以,直接就是4K的链接,就不用后处理了。 https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&uhd=1&uhdwidth=3840&uhdheight=2160

Jay-Young avatar Mar 06 '21 04:03 Jay-Young

必须以天更新,不能按分钟切换?

tianiue avatar Dec 02 '21 07:12 tianiue

必须以天更新,不能按分钟切换?

可以。 你自己改改就好了

zuosc avatar Dec 23 '21 05:12 zuosc

从2022.01.31起,原来的代码不能正确运行了。 主要是文件名处理的问题。Shell我也不会,不能良好的处理。 但是也瞎改出来了一版本,可以用。 先这样吧

savepath="/volume1/homes/admin/wallpaper"
pic=$(wget -t 5 --no-check-certificate -qO- "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&uhd=1")
echo $pic|grep -q enddate||exit
link=$(echo https://www.bing.com$(echo $pic|sed 's/.\+"url"[:" ]\+//g'|sed 's/".\+//g'))
UHDLink=$(echo ${link%%&*})
date=$(echo $pic|sed 's/.\+enddate[": ]\+//g'|grep -Eo 2[0-9]{7}|head -1)
tmpfile=/tmp/$date"_bing.jpg"
wget -t 5 --no-check-certificate  $link -qO $tmpfile
tmpfile_UHD=/tmp/$date"_bing_UHD.jpg"
wget -t 5 --no-check-certificate  $UHDLink -qO $tmpfile_UHD

[ -s $tmpfile ]||exit
rm -rf /usr/syno/etc/login_background*.jpg
cp -f $tmpfile /usr/syno/etc/login_background.jpg &>/dev/null
cp -f $tmpfile /usr/syno/etc/login_background_hd.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/default_wallpaper/01.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/default/1x/default_wallpaper/dsm6_01.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/default/2x/default_wallpaper/dsm6_01.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/default/1x/default_wallpaper/dsm6_02.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/default/2x/default_wallpaper/dsm6_02.jpg &>/dev/null

copyright=$(echo $pic|sed 's/.\+"copyright[:" ]\+//g'|sed 's/".\+//g')
cninfo=$(echo $copyright|sed 's/,/"/g'|sed 's/,/"/g'|sed 's/(/"/g'|sed 's/ //g'|sed 's/\//_/g'|sed 's/)//g')
title=$(echo $cninfo|cut -d'"' -f1)
word=$(echo $cninfo|cut -d'"' -f2)

sed -i s/login_background_customize=.*//g /etc/synoinfo.conf
echo "login_background_customize=\"yes\"">>/etc/synoinfo.conf
sed -i s/login_welcome_title=.*//g /etc/synoinfo.conf
echo "login_welcome_title=\"$title\"">>/etc/synoinfo.conf
sed -i s/login_welcome_msg=.*//g /etc/synoinfo.conf
echo "login_welcome_msg=\"$word\"">>/etc/synoinfo.conf

if (echo $savepath|grep -q '/') then
cp -f "$tmpfile" "$savepath/1080P/$date@$title-$word.jpg"
cp -f "$tmpfile_UHD" "$savepath/UHD/$date@$title-$word-UHD.jpg"
fi

rm -rf /tmp/*_bing.jpg
rm -rf /tmp/*_bing_UHD.jpg

zuosc avatar Mar 07 '22 08:03 zuosc

谢谢你们的建议,已经加入此功能。

kkkgo avatar Aug 23 '22 14:08 kkkgo