add localrss

This commit is contained in:
Ing 2023-05-11 05:00:15 +08:00
parent dc6a4fa019
commit cd20756771
3 changed files with 92 additions and 1 deletions

View File

@ -1,6 +1,7 @@
. /opt/arpl/include/i18n.sh
. /opt/arpl/include/consts.sh
. /opt/arpl/include/configFile.sh
. /opt/arpl/include/localrss.sh
###############################################################################
# Read key value from model config file

View File

@ -0,0 +1,81 @@
function mkLocalRss() {
RDPATH=${1}
MLINK=${2}
MCHECKSUM=${3}
OUTPATH=${4}
if [ ! -f ${RDPATH}/etc/VERSION ]; then
return 1
fi
. ${RDPATH}/etc/VERSION
cat > ${OUTPATH}/localrss.json << EOF
{
"version": "2.0",
"channel": {
"title": "RSS for DSM Auto Update",
"link": "https://update.synology.com/autoupdate/v2/getList",
"pubDate": "Sat Aug 6 0:18:39 CST 2022",
"copyright": "Copyright 2022 Synology Inc",
"item": [
{
"title": "DSM ${productversion}-${buildnumber}",
"MajorVer": ${major},
"MinorVer": ${minor},
"NanoVer": ${micro},
"BuildPhase": "${buildphase}",
"BuildNum": ${buildnumber},
"BuildDate": "${builddate}",
"ReqMajorVer": ${major},
"ReqMinorVer": ${minor},
"ReqBuildPhase": ${micro},
"ReqBuildNum": 0,
"ReqBuildDate": "${builddate}",
"isSecurityVersion": false,
"model": [
{
"mUnique": "${unique}",
"mLink": "${MLINK}",
"mCheckSum": "${MCHECKSUM}"
}
]
}
]
}
}
EOF
cat > ${OUTPATH}/localrss.xml << EOF
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>RSS for DSM Auto Update</title>
<link>http://update.synology.com/autoupdate/genRSS.php</link>
<pubDate>Tue May 9 11:52:15 CST 2023</pubDate>
<copyright>Copyright 2023 Synology Inc</copyright>
<item>
<title>DSM ${productversion}-${buildnumber}</title>
<MajorVer>${major}</MajorVer>
<MinorVer>${minor}</MinorVer>
<BuildPhase>${buildphase}</BuildPhase>
<BuildNum>${buildnumber}</BuildNum>
<BuildDate>${builddate}</BuildDate>
<ReqMajorVer>${major}</ReqMajorVer>
<ReqMinorVer>${minor}</ReqMinorVer>
<ReqBuildPhase>${micro}</ReqBuildPhase>
<ReqBuildNum>0</ReqBuildNum>
<ReqBuildDate>${builddate}</ReqBuildDate>
<model>
<mUnique>${unique}</mUnique>
<mLink>${MLINK}</mLink>
<mCheckSum>${MCHECKSUM}</mCheckSum>
</model>
</item>
</channel>
</rss>
EOF
return 0
}

View File

@ -34,7 +34,7 @@ LKM="`readConfigKey "lkm" "${USER_CONFIG_FILE}"`"
SN="`readConfigKey "sn" "${USER_CONFIG_FILE}"`"
LAYOUT="`readConfigKey "layout" "${USER_CONFIG_FILE}"`"
KEYMAP="`readConfigKey "keymap" "${USER_CONFIG_FILE}"`"
UNIQUE=`readModelKey "${MODEL}" "unique"`
if [ ${BUILD} -ne ${buildnumber} ]; then
echo -e "\033[A\n\033[1;32mBuild number changed from \033[1;31m${BUILD}\033[1;32m to \033[1;31m${buildnumber}\033[0m"
@ -46,8 +46,11 @@ fi
echo -n "."
# Read model data
UNIQUE=`readModelKey "${MODEL}" "unique"`
PLATFORM="`readModelKey "${MODEL}" "platform"`"
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
PAT_URL="`readModelKey "${MODEL}" "builds.${BUILD}.pat.url"`"
PAT_MD5_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.md5-hash"`"
RD_COMPRESSED="`readModelKey "${MODEL}" "builds.${BUILD}.rd-compressed"`"
# Sanity check
@ -160,6 +163,12 @@ done
[ "2" = "${BUILD:0:1}" ] && sed -i 's/function //g' `find "${RAMDISK_PATH}/addons/" -type f -name "*.sh"`
# loacl rss, Make the bootloader and online installation versions consistent
mkLocalRss "${RAMDISK_PATH}" "${PAT_URL}" "${PAT_MD5_HASH}" "${RAMDISK_PATH}/addons"
sed -i "s|rss_server=.*$|rss_server=\"file://localhost/addons/localrss.xml\"|g" "${RAMDISK_PATH}/etc/synoinfo.conf"
sed -i "s|rss_server_ssl=.*$|rss_server_ssl=\"file://localhost/addons/localrss.xml\"|g" "${RAMDISK_PATH}/etc/synoinfo.conf"
sed -i "s|rss_server_v2=.*$|rss_server_v2=\"file://localhost/addons/localrss.json\"|g" "${RAMDISK_PATH}/etc/synoinfo.conf"
# Enable Telnet
echo "inetd" >> "${RAMDISK_PATH}/addons/addons.sh"