add customDTS menu and add --connect-timeout of curl

This commit is contained in:
Ing 2024-03-04 02:06:10 +08:00
parent 4bc407b45e
commit 640e73177b
9 changed files with 3411 additions and 3206 deletions

View File

@ -310,7 +310,7 @@ function getLogo() {
MODEL="${1}" MODEL="${1}"
rm -f "${PART3_PATH}/logo.png" rm -f "${PART3_PATH}/logo.png"
fastest=$(_get_fastest "www.synology.com" "www.synology.cn") fastest=$(_get_fastest "www.synology.com" "www.synology.cn")
STATUS=$(curl -skL -w "%{http_code}" "https://${fastest}/api/products/getPhoto?product=${MODEL/+/%2B}&type=img_s&sort=0" -o "${PART3_PATH}/logo.png") STATUS=$(curl -skL --connect-timeout 10 -w "%{http_code}" "https://${fastest}/api/products/getPhoto?product=${MODEL/+/%2B}&type=img_s&sort=0" -o "${PART3_PATH}/logo.png")
if [ $? -ne 0 -o ${STATUS:-0} -ne 200 -o -f "${PART3_PATH}/logo.png" ]; then if [ $? -ne 0 -o ${STATUS:-0} -ne 200 -o -f "${PART3_PATH}/logo.png" ]; then
convert -rotate 180 "${PART3_PATH}/logo.png" "${PART3_PATH}/logo.png" 2>/dev/null convert -rotate 180 "${PART3_PATH}/logo.png" "${PART3_PATH}/logo.png" 2>/dev/null
magick montage "${PART3_PATH}/logo.png" -background 'none' -tile '3x3' -geometry '350x210' "${PART3_PATH}/logo.png" 2>/dev/null magick montage "${PART3_PATH}/logo.png" -background 'none' -tile '3x3' -geometry '350x210' "${PART3_PATH}/logo.png" 2>/dev/null

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -263,7 +263,7 @@ function productversMenu() {
[ "${fastest}" = "www.synology.cn" ] && [ "${fastest}" = "www.synology.cn" ] &&
fastest="https://www.synology.cn/api/support/findDownloadInfo?lang=zh-cn" || fastest="https://www.synology.cn/api/support/findDownloadInfo?lang=zh-cn" ||
fastest="https://www.synology.com/api/support/findDownloadInfo?lang=en-us" fastest="https://www.synology.com/api/support/findDownloadInfo?lang=en-us"
patdata=$(curl -skL "${fastest}&product=${MODEL/+/%2B}&major=${resp%%.*}&minor=${resp##*.}") patdata=$(curl -skL --connect-timeout 10 "${fastest}&product=${MODEL/+/%2B}&major=${resp%%.*}&minor=${resp##*.}")
if [ "$(echo ${patdata} | jq -r '.success' 2>/dev/null)" = "true" ]; then if [ "$(echo ${patdata} | jq -r '.success' 2>/dev/null)" = "true" ]; then
if echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].label_ext' 2>/dev/null | grep -q 'pat'; then if echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].label_ext' 2>/dev/null | grep -q 'pat'; then
paturl=$(echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].url') paturl=$(echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].url')
@ -1028,7 +1028,7 @@ function getSynoExtractor() {
echo "$(TEXT "Downloading old pat to extract synology .pat extractor...")" echo "$(TEXT "Downloading old pat to extract synology .pat extractor...")"
STATUS=$(curl -k -w "%{http_code}" -L "${OLDPAT_URL}" -o "${OLDPAT_PATH}") STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${OLDPAT_URL}" -o "${OLDPAT_PATH}")
RET=$? RET=$?
if [ ${RET} -ne 0 -o ${STATUS:-0} -ne 200 ]; then if [ ${RET} -ne 0 -o ${STATUS:-0} -ne 200 ]; then
rm -f "${OLDPAT_PATH}" rm -f "${OLDPAT_PATH}"
@ -1061,6 +1061,7 @@ function getSynoExtractor() {
return 0 return 0
} }
############################################################################### ###############################################################################
# Extract linux and ramdisk files from the DSM .pat # Extract linux and ramdisk files from the DSM .pat
function extractPatFiles() { function extractPatFiles() {
@ -1122,6 +1123,7 @@ function extractPatFiles() {
return 1 return 1
fi fi
} }
############################################################################### ###############################################################################
# Extract linux and ramdisk files from the DSM .pat # Extract linux and ramdisk files from the DSM .pat
function extractDsmFiles() { function extractDsmFiles() {
@ -1156,12 +1158,12 @@ function extractDsmFiles() {
# Check disk space left # Check disk space left
SPACELEFT=$(df --block-size=1 ${LOADER_DISK_PART3} | awk 'NR==2 {print $4}') SPACELEFT=$(df --block-size=1 ${LOADER_DISK_PART3} | awk 'NR==2 {print $4}')
# Discover remote file size # Discover remote file size
FILESIZE=$(curl -skLI "${PATURL}" | grep -i Content-Length | awk '{print$2}') FILESIZE=$(curl -skLI --connect-timeout 10 "${PATURL}" | grep -i Content-Length | awk '{print$2}')
if [ ${FILESIZE:-0} -ge ${SPACELEFT:-0} ]; then if [ ${FILESIZE:-0} -ge ${SPACELEFT:-0} ]; then
# No disk space to download, change it to RAMDISK # No disk space to download, change it to RAMDISK
PAT_PATH="${TMP_PATH}/${PAT_FILE}" PAT_PATH="${TMP_PATH}/${PAT_FILE}"
fi fi
STATUS=$(curl -k -w "%{http_code}" -L "${PATURL}" -o "${PAT_PATH}") STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${PATURL}" -o "${PAT_PATH}")
RET=$? RET=$?
if [ ${RET} -ne 0 -o ${STATUS:-0} -ne 200 ]; then if [ ${RET} -ne 0 -o ${STATUS:-0} -ne 200 ]; then
rm -f "${PAT_PATH}" rm -f "${PAT_PATH}"
@ -1261,6 +1263,103 @@ function make() {
fi fi
} }
###############################################################################
# Where the magic happens!
function customDTS() {
# Loop menu
while true; do
[ -f "${USER_UP_PATH}/${MODEL}.dts" ] && CUSTOMDTS="Yes" || CUSTOMDTS="No"
DIALOG --title "$(TEXT "Custom DTS")" \
--default-item ${NEXT} --menu "$(TEXT "Choose a option")" 0 0 0 \
% "$(TEXT "Custom dts: ") ${CUSTOMDTS}" \
u "$(TEXT "Upload dts file")" \
d "$(TEXT "Delete dts file")" \
i "$(TEXT "Edit dts file")" \
e "$(TEXT "Exit")" \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && return
case "$(<${TMP_PATH}/resp)" in
%) ;;
u)
if ! tty | grep -q "/dev/pts"; then #if ! tty | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then
MSG=""
MSG+="$(TEXT "This feature is only available when accessed via ssh (Requires a terminal that supports ZModem protocol).\n")"
MSG+="$(printf "$(TEXT "Or upload the dts file to %s via DUFS, Will be automatically imported when building.")" "${USER_UP_PATH}/${MODEL}.dts")"
DIALOG --title "$(TEXT "Custom DTS")" \
--msgbox "${MSG}" 0 0
return
fi
DIALOG --title "$(TEXT "Custom DTS")" \
--msgbox "$(TEXT "Currently, only dts format files are supported. Please prepare and click to confirm uploading.\n(saved in /mnt/p3/users/)")" 0 0
TMP_UP_PATH="${TMP_PATH}/users"
DTC_ERRLOG="/tmp/dtc.log"
rm -rf "${TMP_UP_PATH}"
mkdir -p "${TMP_UP_PATH}"
pushd "${TMP_UP_PATH}"
RET=1
rz -be
for F in $(ls -A 2>/dev/null); do
USER_FILE="${TMP_UP_PATH}/${F}"
dtc -q -I dts -O dtb "${F}" >"test.dtb" 2>"${DTC_ERRLOG}"
RET=$?
break
done
popd
if [ ${RET} -ne 0 -o -z "${USER_FILE}" ]; then
DIALOG --title "$(TEXT "Custom DTS")" \
--msgbox "$(TEXT "Not a valid dts file, please try again!")\n\n$(<"${DTC_ERRLOG}")" 0 0
else
[ -d "{USER_UP_PATH}" ] || mkdir -p "${USER_UP_PATH}"
cp -f "${USER_FILE}" "${USER_UP_PATH}/${MODEL}.dts"
DIALOG --title "$(TEXT "Custom DTS")" \
--msgbox "$(TEXT "A valid dts file, Automatically import at compile time.")" 0 0
fi
rm -rf "${DTC_ERRLOG}"
touch ${PART1_PATH}/.build
;;
d)
rm -f "${USER_UP_PATH}/${MODEL}.dts"
touch ${PART1_PATH}/.build
;;
i)
rm -rf "${TMP_PATH}/model.dts"
if [ -f "${USER_UP_PATH}/${MODEL}.dts" ]; then
cp -f "${USER_UP_PATH}/${MODEL}.dts" "${TMP_PATH}/model.dts"
else
ODTB="$(ls ${PART2_PATH}/*.dtb 2>/dev/null | head -1)"
if [ -f "${ODTB}" ]; then
dtc -q -I dtb -O dts "${ODTB}" >"${TMP_PATH}/model.dts"
else
DIALOG --title "$(TEXT "Custom DTS")" \
--msgbox "$(TEXT "No dts file to edit. Please upload first!")" 0 0
continue
fi
fi
DTC_ERRLOG="/tmp/dtc.log"
while true; do
DIALOG --title "$(TEXT "Edit with caution")" \
--editbox "${TMP_PATH}/model.dts" 0 0 2>"${TMP_PATH}/modelEdit.dts"
[ $? -ne 0 ] && rm -f "${TMP_PATH}/model.dts" "${TMP_PATH}/modelEdit.dts" && return
dtc -q -I dts -O dtb "${TMP_PATH}/modelEdit.dts" >"test.dtb" 2>"${DTC_ERRLOG}"
if [ $? -ne 0 ]; then
DIALOG --title "$(TEXT "Custom DTS")" \
--msgbox "$(TEXT "Not a valid dts file, please try again!")\n\n$(<"${DTC_ERRLOG}")" 0 0
else
mkdir -p "${USER_UP_PATH}"
cp -f "${TMP_PATH}/modelEdit.dts" "${USER_UP_PATH}/${MODEL}.dts"
rm -r "${TMP_PATH}/model.dts" "${TMP_PATH}/modelEdit.dts"
touch ${PART1_PATH}/.build
break
fi
done
;;
e)
return
;;
esac
done
}
############################################################################### ###############################################################################
# Advanced menu # Advanced menu
function advancedMenu() { function advancedMenu() {
@ -1295,7 +1394,7 @@ function advancedMenu() {
echo "z \"$(TEXT "Force enable Telnet&SSH of DSM system")\"" >>"${TMP_PATH}/menu" echo "z \"$(TEXT "Force enable Telnet&SSH of DSM system")\"" >>"${TMP_PATH}/menu"
echo "p \"$(TEXT "Save modifications of '/opt/rr'")\"" >>"${TMP_PATH}/menu" echo "p \"$(TEXT "Save modifications of '/opt/rr'")\"" >>"${TMP_PATH}/menu"
if [ -n "${MODEL}" -a "true" = "$(readModelKey "${MODEL}" "dt")" ]; then if [ -n "${MODEL}" -a "true" = "$(readModelKey "${MODEL}" "dt")" ]; then
echo "d \"$(TEXT "Custom dts file # Need rebuild")\"" >>"${TMP_PATH}/menu" echo "d \"$(TEXT "Custom DTS")\"" >>"${TMP_PATH}/menu"
fi fi
echo "0 \"$(TEXT "Custom patch script # Developer")\"" >>"${TMP_PATH}/menu" echo "0 \"$(TEXT "Custom patch script # Developer")\"" >>"${TMP_PATH}/menu"
if [ -n "$(ls /dev/mmcblk* 2>/dev/null)" ]; then if [ -n "$(ls /dev/mmcblk* 2>/dev/null)" ]; then
@ -1762,40 +1861,8 @@ EOF
--msgbox ""$(TEXT "Save is complete.")"" 0 0 --msgbox ""$(TEXT "Save is complete.")"" 0 0
;; ;;
d) d)
if ! tty | grep -q "/dev/pts"; then #if ! tty | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then customDTS
MSG="" NEXT="e"
MSG+="$(TEXT "This feature is only available when accessed via ssh (Requires a terminal that supports ZModem protocol).\n")"
MSG+="$(printf "$(TEXT "Or upload the dts file to %s via DUFS, Will be automatically imported when building.")" "${USER_UP_PATH}/${MODEL}.dts")"
DIALOG --title "$(TEXT "Advanced")" \
--msgbox "${MSG}" 0 0
return
fi
DIALOG --title "$(TEXT "Advanced")" \
--msgbox "$(TEXT "Currently, only dts format files are supported. Please prepare and click to confirm uploading.\n(saved in /mnt/p3/users/)")" 0 0
TMP_UP_PATH="${TMP_PATH}/users"
DTC_ERRLOG="/tmp/dtc.log"
rm -rf "${TMP_UP_PATH}"
mkdir -p "${TMP_UP_PATH}"
pushd "${TMP_UP_PATH}"
rz -be
for F in $(ls -A 2>/dev/null); do
USER_FILE="${TMP_UP_PATH}/${F}"
dtc -q -I dts -O dtb "${F}" >"test.dtb" 2>"${DTC_ERRLOG}"
RET=$?
break
done
popd
if [ ${RET} -ne 0 -o -z "${USER_FILE}" ]; then
DIALOG --title "$(TEXT "Advanced")" \
--msgbox "$(TEXT "Not a valid dts file, please try again!")\n\n$(<"${DTC_ERRLOG}")" 0 0
else
[ -d "{USER_UP_PATH}" ] || mkdir -p "${USER_UP_PATH}"
cp -f "${USER_FILE}" "${USER_UP_PATH}/${MODEL}.dts"
DIALOG --title "$(TEXT "Advanced")" \
--msgbox "$(TEXT "A valid dts file, Automatically import at compile time.")" 0 0
fi
rm -rf "${DTC_ERRLOG}"
touch ${PART1_PATH}/.build
;; ;;
0) 0)
MSG="" MSG=""
@ -2178,9 +2245,9 @@ function downloadExts() {
--infobox "$(TEXT "Checking last version ...")" 0 0 --infobox "$(TEXT "Checking last version ...")" 0 0
fi fi
if [ "${PRERELEASE}" = "true" ]; then if [ "${PRERELEASE}" = "true" ]; then
TAG="$(curl -skL "${PROXY}${3}/tags" | grep /refs/tags/.*\.zip | head -1 | sed -r 's/.*\/refs\/tags\/(.*)\.zip.*$/\1/')" TAG="$(curl -skL --connect-timeout 10 "${PROXY}${3}/tags" | grep /refs/tags/.*\.zip | head -1 | sed -r 's/.*\/refs\/tags\/(.*)\.zip.*$/\1/')"
else else
LATESTURL="$(curl -skL -w %{url_effective} -o /dev/null "${PROXY}${3}/releases/latest")" LATESTURL="$(curl -skL --connect-timeout 10 -w %{url_effective} -o /dev/null "${PROXY}${3}/releases/latest")"
TAG="${LATESTURL##*/}" TAG="${LATESTURL##*/}"
fi fi
[ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}" [ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}"
@ -2212,13 +2279,13 @@ function downloadExts() {
if [ "${5}" = "-1" ]; then if [ "${5}" = "-1" ]; then
( (
rm -f "${TMP_PATH}/${4}.zip" rm -f "${TMP_PATH}/${4}.zip"
STATUS=$(curl -kL -w "%{http_code}" "${PROXY}${3}/releases/download/${TAG}/${4}.zip" -o "${TMP_PATH}/${4}.zip") STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${PROXY}${3}/releases/download/${TAG}/${4}.zip" -o "${TMP_PATH}/${4}.zip")
RET=$? RET=$?
) 2>&1 ) 2>&1
else else
( (
rm -f "${TMP_PATH}/${4}.zip" rm -f "${TMP_PATH}/${4}.zip"
STATUS=$(curl -kL -w "%{http_code}" "${PROXY}${3}/releases/download/${TAG}/${4}.zip" -o "${TMP_PATH}/${4}.zip") STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${PROXY}${3}/releases/download/${TAG}/${4}.zip" -o "${TMP_PATH}/${4}.zip")
RET=$? RET=$?
) 2>&1 | DIALOG --title "${T}" \ ) 2>&1 | DIALOG --title "${T}" \
--progressbox "$(TEXT "Downloading ...")" 20 100 --progressbox "$(TEXT "Downloading ...")" 20 100

View File

@ -33,7 +33,7 @@ function getExtractor() {
# global.synologydownload.com, global.download.synology.com, cndl.synology.cn # global.synologydownload.com, global.download.synology.com, cndl.synology.cn
local PAT_URL="https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat" local PAT_URL="https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat"
local PAT_FILE="DSM_DS3622xs+_42218.pat" local PAT_FILE="DSM_DS3622xs+_42218.pat"
local STATUS=$(curl -# -w "%{http_code}" -L "${PAT_URL}" -o "${CACHE_DIR}/${PAT_FILE}") local STATUS=$(curl -#L -w "%{http_code}" "${PAT_URL}" -o "${CACHE_DIR}/${PAT_FILE}")
if [ $? -ne 0 -o ${STATUS:-0} -ne 200 ]; then if [ $? -ne 0 -o ${STATUS:-0} -ne 200 ]; then
echo "[E] DSM_DS3622xs%2B_42218.pat download error!" echo "[E] DSM_DS3622xs%2B_42218.pat download error!"
rm -rf ${CACHE_DIR} rm -rf ${CACHE_DIR}
@ -75,21 +75,21 @@ function getBuildroot() {
rm -rf "${DEST_PATH}" rm -rf "${DEST_PATH}"
mkdir -p "${DEST_PATH}" mkdir -p "${DEST_PATH}"
if [ "${1}" = "latest" ]; then if [ "${1}" = "latest" ]; then
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-buildroot/releases" | jq -r ".[0].tag_name") TAG=$(curl -skL -H "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-buildroot/releases" | jq -r ".[0].tag_name")
else else
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-buildroot/releases/latest" | jq -r ".tag_name") TAG=$(curl -skL -H "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-buildroot/releases/latest" | jq -r ".tag_name")
fi fi
while read ID NAME; do while read ID NAME; do
if [ "${NAME}" = "bzImage" ]; then if [ "${NAME}" = "bzImage" ]; then
STATUS=$(curl -w "%{http_code}" -kLH "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-buildroot/releases/assets/${ID}" -o "${DEST_PATH}/bzImage-rr") STATUS=$(curl -kL -w "%{http_code}" -H "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-buildroot/releases/assets/${ID}" -o "${DEST_PATH}/bzImage-rr")
echo "TAG=${TAG}; Status=${STATUS}" echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1 [ ${STATUS:-0} -ne 200 ] && exit 1
elif [ "${NAME}" = "rootfs.cpio.xz" ]; then elif [ "${NAME}" = "rootfs.cpio.xz" ]; then
STATUS=$(curl -w "%{http_code}" -kLH "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-buildroot/releases/assets/${ID}" -o "${DEST_PATH}/initrd-rr") STATUS=$(curl -kL -w "%{http_code}" -H "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-buildroot/releases/assets/${ID}" -o "${DEST_PATH}/initrd-rr")
echo "TAG=${TAG}; Status=${STATUS}" echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1 [ ${STATUS:-0} -ne 200 ] && exit 1
fi fi
done < <(curl -skLH "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-buildroot/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"') done < <(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-buildroot/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
echo "Getting Buildroot end" echo "Getting Buildroot end"
} }
@ -103,17 +103,17 @@ function getCKs() {
local CACHE_FILE="/tmp/rr-cks.zip" local CACHE_FILE="/tmp/rr-cks.zip"
rm -f "${CACHE_FILE}" rm -f "${CACHE_FILE}"
if [ "${2}" = "true" ]; then if [ "${2}" = "true" ]; then
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases" | jq -r ".[0].tag_name") TAG=$(curl -skL -H "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases" | jq -r ".[0].tag_name")
else else
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases/latest" | jq -r ".tag_name") TAG=$(curl -skL -H "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases/latest" | jq -r ".tag_name")
fi fi
while read ID NAME; do while read ID NAME; do
if [ "${NAME}" = "rr-cks.zip" ]; then if [ "${NAME}" = "rr-cks.zip" ]; then
STATUS=$(curl -w "%{http_code}" -kLH "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-cks/releases/assets/${ID}" -o "${CACHE_FILE}") STATUS=$(curl -kL -w "%{http_code}" -H "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-cks/releases/assets/${ID}" -o "${CACHE_FILE}")
echo "TAG=${TAG}; Status=${STATUS}" echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1 [ ${STATUS:-0} -ne 200 ] && exit 1
fi fi
done < <(curl -skLH "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"') done < <(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
[ ! -f "${CACHE_FILE}" ] && exit 1 [ ! -f "${CACHE_FILE}" ] && exit 1
# Unzip CKs # Unzip CKs
rm -rf "${DEST_PATH}" rm -rf "${DEST_PATH}"
@ -132,17 +132,17 @@ function getLKMs() {
local CACHE_FILE="/tmp/rp-lkms.zip" local CACHE_FILE="/tmp/rp-lkms.zip"
rm -f "${CACHE_FILE}" rm -f "${CACHE_FILE}"
if [ "${2}" = "true" ]; then if [ "${2}" = "true" ]; then
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-lkms/releases" | jq -r ".[0].tag_name") TAG=$(curl -skL -H "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-lkms/releases" | jq -r ".[0].tag_name")
else else
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-lkms/releases/latest" | jq -r ".tag_name") TAG=$(curl -skL -H "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-lkms/releases/latest" | jq -r ".tag_name")
fi fi
while read ID NAME; do while read ID NAME; do
if [ "${NAME}" = "rp-lkms.zip" ]; then if [ "${NAME}" = "rp-lkms.zip" ]; then
STATUS=$(curl -w "%{http_code}" -kLH "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-lkms/releases/assets/${ID}" -o "${CACHE_FILE}") STATUS=$(curl -kL -w "%{http_code}" -H "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-lkms/releases/assets/${ID}" -o "${CACHE_FILE}")
echo "TAG=${TAG}; Status=${STATUS}" echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1 [ ${STATUS:-0} -ne 200 ] && exit 1
fi fi
done < <(curl -skLH "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-lkms/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"') done < <(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-lkms/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
[ ! -f "${CACHE_FILE}" ] && exit 1 [ ! -f "${CACHE_FILE}" ] && exit 1
# Unzip LKMs # Unzip LKMs
rm -rf "${DEST_PATH}" rm -rf "${DEST_PATH}"
@ -161,17 +161,17 @@ function getAddons() {
local CACHE_DIR="/tmp/addons" local CACHE_DIR="/tmp/addons"
local CACHE_FILE="/tmp/addons.zip" local CACHE_FILE="/tmp/addons.zip"
if [ "${2}" = "true" ]; then if [ "${2}" = "true" ]; then
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-addons/releases" | jq -r ".[0].tag_name") TAG=$(curl -skL -H "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-addons/releases" | jq -r ".[0].tag_name")
else else
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-addons/releases/latest" | jq -r ".tag_name") TAG=$(curl -skL -H "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-addons/releases/latest" | jq -r ".tag_name")
fi fi
while read ID NAME; do while read ID NAME; do
if [ "${NAME}" = "addons.zip" ]; then if [ "${NAME}" = "addons.zip" ]; then
STATUS=$(curl -w "%{http_code}" -kLH "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-addons/releases/assets/${ID}" -o "${CACHE_FILE}") STATUS=$(curl -kL -w "%{http_code}" -H "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-addons/releases/assets/${ID}" -o "${CACHE_FILE}")
echo "TAG=${TAG}; Status=${STATUS}" echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1 [ ${STATUS:-0} -ne 200 ] && exit 1
fi fi
done < <(curl -skLH "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-addons/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"') done < <(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-addons/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
[ ! -f "${CACHE_FILE}" ] && exit 1 [ ! -f "${CACHE_FILE}" ] && exit 1
rm -rf "${DEST_PATH}" rm -rf "${DEST_PATH}"
mkdir -p "${DEST_PATH}" mkdir -p "${DEST_PATH}"
@ -199,17 +199,17 @@ function getModules() {
local CACHE_FILE="/tmp/modules.zip" local CACHE_FILE="/tmp/modules.zip"
rm -f "${CACHE_FILE}" rm -f "${CACHE_FILE}"
if [ "${2}" = "true" ]; then if [ "${2}" = "true" ]; then
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-modules/releases" | jq -r ".[0].tag_name") TAG=$(curl -skL -H "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-modules/releases" | jq -r ".[0].tag_name")
else else
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-modules/releases/latest" | jq -r ".tag_name") TAG=$(curl -skL -H "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-modules/releases/latest" | jq -r ".tag_name")
fi fi
while read ID NAME; do while read ID NAME; do
if [ "${NAME}" = "modules.zip" ]; then if [ "${NAME}" = "modules.zip" ]; then
STATUS=$(curl -w "%{http_code}" -kLH "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-modules/releases/assets/${ID}" -o "${CACHE_FILE}") STATUS=$(curl -kL -w "%{http_code}" -H "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-modules/releases/assets/${ID}" -o "${CACHE_FILE}")
echo "TAG=${TAG}; Status=${STATUS}" echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1 [ ${STATUS:-0} -ne 200 ] && exit 1
fi fi
done < <(curl -skLH "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-modules/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"') done < <(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-modules/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
[ ! -f "${CACHE_FILE}" ] && exit 1 [ ! -f "${CACHE_FILE}" ] && exit 1
# Unzip Modules # Unzip Modules
rm -rf "${DEST_PATH}" rm -rf "${DEST_PATH}"