Compare commits

...

3 Commits

Author SHA1 Message Date
Ing
76abc09d2d add version for custom 2024-04-03 05:55:20 +08:00
Ing
5ee4bb9680 add models 2024-04-03 05:28:49 +08:00
Ing
4dcf4a8359 fix Ctrl+C of update error 2024-04-03 03:11:01 +08:00
6 changed files with 127 additions and 58 deletions

56
.github/workflows/data.yml vendored Normal file
View File

@ -0,0 +1,56 @@
#
# Copyright (C) 2022 Ing <https://github.com/wjz304>
#
# This is free software, licensed under the MIT License.
# See /LICENSE for more information.
#
name: Data
on:
workflow_dispatch:
inputs:
push:
description: "push"
default: false
type: boolean
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Init Env
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
sudo timedatectl set-timezone "Asia/Shanghai"
- name: Get models
run: |
models="{"
WORK_PATH="files/initrd/opt/rr"
for M in $(find "${WORK_PATH}/model-configs" -maxdepth 1 -name \*.yml 2>/dev/null | sed 's/.*\///; s/\.yml//'); do
models+="\"${M}\":["
for V in $(yq eval '.productvers | explode(.) | to_entries | map([.key])[] | .[]' "${WORK_PATH}/model-configs/${M}.yml" 2>/dev/null | sort -r); do
models+="\"${V}\","
done
models="${models%,}],"
done
models="${models%,}}"
echo "${models}" >docs/models.json
- name: Check and Push
if: success() && inputs.push == true
run: |
echo "Git push ..."
git pull
status=$(git status -s | grep -E 'docs/models.json' | awk '{printf " %s", $2}')
if [ -n "${status}" ]; then
git add ${status}
git commit -m "update $(date +%Y-%m-%d" "%H:%M:%S)"
git push -f
fi

View File

@ -5,7 +5,7 @@
# See /LICENSE for more information.
#
name: Auto Comment
name: Issues
on:
issues:
types: [opened, reopened]
@ -36,14 +36,17 @@ jobs:
iscustom = 'false'
warinfo = 'false'
model = ''
language= ''
model = ''
version = ''
try:
if issuetitle.lower().startswith('custom'):
jsonbody = json.loads(issuebody)
iscustom = 'true'
model = jsonbody.get('model', '')
language = jsonbody.get('language', '')
model = jsonbody.get('model', '')
version = jsonbody.get('version', '')
except ValueError as e:
pass
@ -53,8 +56,10 @@ jobs:
set_output("iscustom", iscustom)
set_output("warinfo", warinfo)
set_output("model", model)
set_output("language", language)
set_output("model", model)
set_output("version", version)
- name: Update Comment Warinfo
if: env.warinfo == 'true'
@ -126,8 +131,9 @@ jobs:
run: |
# 累了, 毁灭吧!
REPO=${{ github.server_url }}/${{ github.repository }}
MODEL=${{ env.model }}
REPO="${{ github.server_url }}/${{ github.repository }}"
MODEL="${{ env.model }}"
VERSION="${{ env.version }}"
PRERELEASE="false"
TAG=""
@ -161,7 +167,7 @@ jobs:
[ -n "${{ env.language }}" ] && echo "${{ env.language }}.UTF-8" | sudo tee rr/ws/mnt/p1/.locale
sudo ./localbuild.sh config ${MODEL}
sudo ./localbuild.sh config "${MODEL}" "${VERSION}"
if [ $? -ne 0 ]; then
echo "config failed"
exit 1

View File

@ -33,16 +33,45 @@
var repo = "RROrg/rr"
function httpGetAsync(theUrl, callback) {
let xmlHttpReq = new XMLHttpRequest();
xmlHttpReq.onreadystatechange = function () {
if (xmlHttpReq.readyState == 4 && xmlHttpReq.status == 200)
callback(xmlHttpReq.responseText);
};
xmlHttpReq.open("GET", theUrl, true); // true for asynchronous
xmlHttpReq.send(null);
}
window.onload = function () {
init();
}
function init() {
$("#model").on("change", changeModel);
changeModel();
httpGetAsync("https://raw.githubusercontent.com/RROrg/rr/main/docs/models.json", function (result) {
_modules = JSON.parse(result);
$("#model").on("change", changeModel);
setModels();
});
}
function setModels() {
var models = Object.keys(_modules).sort();
$("#model")[0].options.length = 0;
for (var i = 0; i < models.length; i++) {
var model = models[i];
$("#model").append(`<option value="${model}">${model}</option>`);
}
changeModel();
}
function changeModel() {
model = $("#model").val();
var versions = _modules[model];
$("#version")[0].options.length = 0;
for (var i = 0; i < versions.length; i++) {
var version = versions[i];
$("#version").append(`<option value="${version}">${version}</option>`);
}
changeproductsimage();
}
@ -58,7 +87,7 @@
let formData = new FormData(form);
var title = "custom";
var body = {};
var _parameters = ["title", "language", "model"];
var _parameters = ["title", "language", "model", "version"];
for (var key in _parameters) {
var name = _parameters[key];
if (name == "title") {
@ -151,54 +180,21 @@
<div class="form-group-body">
<select class="form-select form-control select-sm input-contrast" id="model" name="inputs[model]"
value="">
<option value="DS1019+">DS1019+</option>
<option value="DS1520+">DS1520+</option>
<option value="DS1522+">DS1522+</option>
<option value="DS1621+">DS1621+</option>
<option value="DS1621xs+">DS1621xs+</option>
<option value="DS1819+">DS1819+</option>
<option value="DS1821+">DS1821+</option>
<option value="DS1823xs+">DS1823xs+</option>
<option value="DS220+">DS220+</option>
<option value="DS224+">DS224+</option>
<option value="DS2419+">DS2419+</option>
<option value="DS2422+">DS2422+</option>
<option value="DS3615xs">DS3615xs</option>
<option value="DS3617xs">DS3617xs</option>
<option value="DS3622xs+">DS3622xs+</option>
<option value="DS423+">DS423+</option>
<option value="DS718+">DS718+</option>
<option value="DS720+">DS720+</option>
<option value="DS723+">DS723+</option>
<!--<option value="DS916+">DS916+</option>-->
<option value="DS918+">DS918+</option>
<option value="DS920+">DS920+</option>
<option value="DS923+">DS923+</option>
<option value="DVA1622">DVA1622</option>
<option value="DVA3219">DVA3219</option>
<option value="DVA3221">DVA3221</option>
<option value="FS2500">FS2500</option>
<!--<option value="FS3017">FS3017</option>-->
<option value="FS6400">FS6400</option>
<option value="HD6500">HD6500</option>
<option value="RS1221+">RS1221+</option>
<option value="RS1619xs+">RS1619xs+</option>
<option value="RS2423+">RS2423+</option>
<option value="RS2423RP+">RS2423RP+</option>
<option value="RS3413xs+">RS3413xs+</option>
<option value="RS3618xs">RS3618xs</option>
<option value="RS3621xs+">RS3621xs+</option>
<option value="RS4021xs+">RS4021xs+</option>
<!--<option value="SA3200D">SA3200D</option>-->
<option value="SA3400">SA3400</option>
<!--<option value="SA3400D">SA3400D</option>-->
<option value="SA3410">SA3410</option>
<option value="SA3600">SA3600</option>
<option value="SA3610">SA3610</option>
<option selected="selected" value="SA6400">SA6400</option>
</select>
</div>
</div>
<div class="form-group mt-1 mb-2 ">
<div class="form-group-header">
<label class="color-fg-default text-mono f6" for="model">Version:</label>
</div>
<div class="form-group-body">
<select class="form-select form-control select-sm input-contrast" id="version" name="inputs[version]"
value="">
<option selected="selected" value="7.2">7.2</option>
</select>
</div>
</div>
<div data-replace-remote-form-target="" class="workflow-dispatch">
<form id="inputs">
<button type="button" class="btn State--merged" onclick="return createIssues()" autofocus="">

1
docs/models.json Normal file
View File

@ -0,0 +1 @@
{"DS1019+":["7.2","7.1","7.0","6.2"],"DS1520+":["7.2","7.1","7.0","6.2"],"DS1522+":["7.2","7.1"],"DS1621+":["7.2","7.1","7.0","6.2"],"DS1621xs+":["7.2","7.1","7.0","6.2"],"DS1819+":["7.2","7.1","7.0","6.2"],"DS1821+":["7.2","7.1","7.0","6.2"],"DS1823xs+":["7.2","7.1"],"DS220+":["7.2","7.1","7.0","6.2"],"DS224+":["7.2"],"DS2419+":["7.2","7.1","7.0","6.2"],"DS2422+":["7.2","7.1","7.0"],"DS3615xs":["7.1","7.0","6.2"],"DS3617xs":["7.2","7.1","7.0","6.2"],"DS3622xs+":["7.2","7.1","7.0"],"DS423+":["7.2","7.1"],"DS718+":["7.2","7.1","7.0","6.2"],"DS720+":["7.2","7.1","7.0","6.2"],"DS723+":["7.2","7.1"],"DS918+":["7.2","7.1","7.0","6.2"],"DS920+":["7.2","7.1","7.0","6.2"],"DS923+":["7.2","7.1"],"DVA1622":["7.2","7.1"],"DVA3219":["7.2","7.1","7.0","6.2"],"DVA3221":["7.2","7.1","7.0","6.2"],"FS2500":["7.2","7.1","7.0"],"FS6400":["7.2","7.1","7.0","6.2"],"HD6500":["7.2","7.1","7.0","6.2"],"RS1221+":["7.2","7.1","7.0","6.2"],"RS1619xs+":["7.2","7.1","7.0","6.2"],"RS2423+":["7.2","7.1"],"RS2423RP+":["7.2","7.1"],"RS3413xs+":["7.1","7.0","6.2"],"RS3618xs":["7.2","7.1","7.0","6.2"],"RS3621xs+":["7.2","7.1","7.0","6.2"],"RS4021xs+":["7.2","7.1","7.0","6.2"],"SA3400":["7.2","7.1","7.0","6.2"],"SA3410":["7.2","7.1"],"SA3600":["7.2","7.1","7.0","6.2"],"SA3610":["7.2","7.1"],"SA6400":["7.2","7.1"]}

View File

@ -1082,7 +1082,7 @@ function getSynoExtractor() {
mkdir -p "${EXTRACTOR_PATH}"
echo "$(TEXT "Downloading old pat to extract synology .pat extractor...")"
rm -f "${OLDPAT_PATH}"
STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${OLDPAT_URL}" -o "${OLDPAT_PATH}")
RET=$?
if [ ${RET} -ne 0 -o ${STATUS:-0} -ne 200 ]; then
@ -1239,7 +1239,7 @@ function extractDsmFiles() {
touch "${PAT_PATH}.downloading"
STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${PATURL}" -o "${PAT_PATH}")
RET=$?
rm -rf "${PAT_PATH}.downloading"
rm -f "${PAT_PATH}.downloading"
if [ ${RET} -ne 0 -o ${STATUS:-0} -ne 200 ]; then
rm -f "${PAT_PATH}"
MSG="$(printf "$(TEXT "Check internet or cache disk space.\nError: %d:%d\n(Please via https://curl.se/libcurl/c/libcurl-errors.html check error description.)")" "${RET}" "${STATUS}")"
@ -2662,14 +2662,18 @@ function downloadExts() {
if [ "${5}" = "-1" ]; then
(
rm -f ${TMP_PATH}/${4}*.zip
touch "${TMP_PATH}/${4}-${TAG}.zip.downloading"
STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${PROXY}${3}/releases/download/${TAG}/${4}-${TAG}.zip" -o "${TMP_PATH}/${4}-${TAG}.zip")
RET=$?
rm -f "${TMP_PATH}/${4}-${TAG}.zip.downloading"
) 2>&1
else
(
rm -f ${TMP_PATH}/${4}*.zip
touch "${TMP_PATH}/${4}-${TAG}.zip.downloading"
STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${PROXY}${3}/releases/download/${TAG}/${4}-${TAG}.zip" -o "${TMP_PATH}/${4}-${TAG}.zip")
RET=$?
rm -f "${TMP_PATH}/${4}-${TAG}.zip.downloading"
) 2>&1 | DIALOG --title "${T}" \
--progressbox "$(TEXT "Downloading ...")" 20 100
fi
@ -3101,12 +3105,14 @@ function updateMenu() {
case "$(cat ${TMP_PATH}/resp)" in
a)
F="$(ls ${TMP_PATH}/updateall*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
[ -z "${F}" ] && downloadExts "$(TEXT "All")" "${CUR_RR_VER:-None}" "https://github.com/RROrg/rr" "updateall" "${SILENT}"
F="$(ls ${TMP_PATH}/updateall*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateRR "${F}" "${SILENT}" && rm -f ${TMP_PATH}/updateall*.zip
;;
r)
F="$(ls ${TMP_PATH}/update*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
[ -z "${F}" ] && downloadExts "$(TEXT "RR")" "${CUR_RR_VER:-None}" "https://github.com/RROrg/rr" "update" "${SILENT}"
F="$(ls ${TMP_PATH}/update*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateRR "${F}" "${SILENT}" && rm -f ${TMP_PATH}/update*.zip
@ -3118,6 +3124,7 @@ function updateMenu() {
continue
fi
F="$(ls ${TMP_PATH}/addons*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
[ -z "${F}" ] && downloadExts "$(TEXT "Addons")" "${CUR_ADDONS_VER:-None}" "https://github.com/RROrg/rr-addons" "addons" "${SILENT}"
F="$(ls ${TMP_PATH}/addons*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateAddons "${F}" "${SILENT}" && rm -f ${TMP_PATH}/addons*.zip
@ -3129,6 +3136,7 @@ function updateMenu() {
continue
fi
F="$(ls ${TMP_PATH}/modules*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
[ -z "${F}" ] && downloadExts "$(TEXT "Modules")" "${CUR_MODULES_VER:-None}" "https://github.com/RROrg/rr-modules" "modules" "${SILENT}"
F="$(ls ${TMP_PATH}/modules*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateModules "${F}" "${SILENT}" && rm -f ${TMP_PATH}/modules*.zip
@ -3140,6 +3148,7 @@ function updateMenu() {
continue
fi
F="$(ls ${TMP_PATH}/rp-lkms*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
[ -z "${F}" ] && downloadExts "$(TEXT "LKMs")" "${CUR_LKMS_VER:-None}" "https://github.com/RROrg/rr-lkms" "rp-lkms" "${SILENT}"
F="$(ls ${TMP_PATH}/rp-lkms*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateLKMs "${F}" "${SILENT}" && rm -f ${TMP_PATH}/rp-lkms*.zip
@ -3151,6 +3160,7 @@ function updateMenu() {
continue
fi
F="$(ls ${TMP_PATH}/rr-cks*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
[ -z "${F}" ] && downloadExts "$(TEXT "CKs")" "${CUR_CKS_VER:-None}" "https://github.com/RROrg/rr-cks" "rr-cks" "${SILENT}"
F="$(ls ${TMP_PATH}/rr-cks*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateCKs "${F}" "${SILENT}" && rm -f ${TMP_PATH}/rr-cks*.zip

View File

@ -114,9 +114,9 @@ function config() {
echo "init"
./init.sh || break
echo "model"
./menu.sh modelMenu "${1}" || break
./menu.sh modelMenu "${1:-"SA6400"}" || break
echo "version"
./menu.sh productversMenu "7.2" || break
./menu.sh productversMenu "${2:-"7.2"}" || break
echo "build"
./menu.sh make -1 || break
echo "clean"