Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47020c7e56 | ||
|
|
3e010b781a | ||
|
|
dcd86a4272 | ||
|
|
c287e33aab | ||
|
|
95c1eb6897 | ||
|
|
fb183e437e | ||
|
|
efca3aaf6d | ||
|
|
7e5242349c | ||
|
|
46ec4215d7 | ||
|
|
cd40c45fa4 | ||
|
|
f44a142d01 | ||
|
|
62e4b267de | ||
|
|
b036a2aef2 | ||
|
|
a2c196f453 | ||
|
|
afb22a6321 | ||
|
|
5e21346aba | ||
|
|
fb938806a2 | ||
|
|
1bde43ca66 | ||
|
|
d890c54a1b | ||
|
|
d876d274d4 |
21
.github/workflows/autobuild.yml
vendored
21
.github/workflows/autobuild.yml
vendored
@@ -11,7 +11,7 @@ on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
runs:
|
||||
description: "runs-on (ubuntu-latest / self-hosted)"
|
||||
description: "runs-on"
|
||||
type: choice
|
||||
options:
|
||||
- ubuntu-latest
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
|
||||
# Install Dependencies
|
||||
- name: Install Dependencies
|
||||
if: ${{ github.event.inputs.runs == 'ubuntu-latest' }}
|
||||
if: ${{ inputs.runs == 'ubuntu-latest' }}
|
||||
run: |
|
||||
git config --global user.email "info@auxxxilium.tech"
|
||||
git config --global user.name "AuxXxilium"
|
||||
@@ -83,13 +83,13 @@ jobs:
|
||||
|
||||
# Build incremental
|
||||
- name: Build Next Image
|
||||
if: inputs.next == true
|
||||
if: ${{ inputs.next == true }}
|
||||
run: |
|
||||
. scripts/func.sh
|
||||
|
||||
# Modify Source File
|
||||
ARC_BUILD="`date +'%y%m%d'`-dev"
|
||||
ARC_VERSION="${{ inputs.version }}"
|
||||
ARC_BUILD="`date +'%y%m%d'`"
|
||||
ARC_VERSION="${{ inputs.version }}-dev"
|
||||
ARC_BRANCH="next"
|
||||
echo "${ARC_BUILD}" >files/p1/ARC-BUILD
|
||||
echo "${ARC_VERSION}" >files/p1/ARC-VERSION
|
||||
@@ -139,6 +139,7 @@ jobs:
|
||||
|
||||
# Zip image and generate checksum
|
||||
- name: Pack Next Image
|
||||
if: ${{ inputs.next == true }}
|
||||
run: |
|
||||
if [ -n "${{ env.ARC_VERSION }}" ]; then
|
||||
zip -9 "arc-${{ env.ARC_VERSION }}-${{ env.ARC_BRANCH }}.img.zip" arc.img
|
||||
@@ -155,13 +156,13 @@ jobs:
|
||||
|
||||
# Build incremental
|
||||
- name: Build Stable Image
|
||||
if: inputs.stable == true
|
||||
if: ${{ inputs.stable }}
|
||||
run: |
|
||||
. scripts/func.sh
|
||||
|
||||
# Modify Source File
|
||||
ARC_BUILD="`date +'%y%m%d'`-dev"
|
||||
ARC_VERSION="${{ inputs.version }}"
|
||||
ARC_BUILD="`date +'%y%m%d'`"
|
||||
ARC_VERSION="${{ inputs.version }}-dev"
|
||||
ARC_BRANCH="stable"
|
||||
echo "${ARC_BUILD}" >files/p1/ARC-BUILD
|
||||
echo "${ARC_VERSION}" >files/p1/ARC-VERSION
|
||||
@@ -211,6 +212,7 @@ jobs:
|
||||
|
||||
# Zip image and generate checksum
|
||||
- name: Pack Stable Image
|
||||
if: ${{ inputs.stable }}
|
||||
run: |
|
||||
if [ -n "${{ env.ARC_VERSION }}" ]; then
|
||||
zip -9 "arc-${{ env.ARC_VERSION }}-${{ env.ARC_BRANCH }}.img.zip" arc.img
|
||||
@@ -234,7 +236,8 @@ jobs:
|
||||
- Development Build
|
||||
|
||||
### Information:
|
||||
- Full Changelog and Arc Patch (Decryption Key) are available in my Discord.
|
||||
- Full Changelog is available in my Discord
|
||||
- Discord Account for Arc Patch needed
|
||||
|
||||
### Dependencies:
|
||||
- Addons: ${{ env.ADDONTAG }}
|
||||
|
||||
17
.github/workflows/build.yml
vendored
17
.github/workflows/build.yml
vendored
@@ -11,7 +11,7 @@ on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
runs:
|
||||
description: "runs-on (ubuntu-latest / self-hosted)"
|
||||
description: "runs-on"
|
||||
type: choice
|
||||
options:
|
||||
- ubuntu-latest
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
uses: actions/checkout@main
|
||||
|
||||
- name: Delete releases and workflows runs
|
||||
if: ${{ inputs.clean }} == 'true'
|
||||
if: ${{ inputs.clean == true }}
|
||||
uses: ophub/delete-releases-workflows@main
|
||||
with:
|
||||
delete_releases: true
|
||||
@@ -64,7 +64,7 @@ jobs:
|
||||
|
||||
# Install Dependencies
|
||||
- name: Install Dependencies
|
||||
if: ${{ github.event.inputs.runs == 'ubuntu-latest' }}
|
||||
if: ${{ inputs.runs == 'ubuntu-latest' }}
|
||||
run: |
|
||||
git config --global user.email "info@auxxxilium.tech"
|
||||
git config --global user.name "AuxXxilium"
|
||||
@@ -109,7 +109,7 @@ jobs:
|
||||
|
||||
# Build incremental
|
||||
- name: Build Next Image
|
||||
if: inputs.next == true
|
||||
if: ${{ inputs.next == true }}
|
||||
run: |
|
||||
. scripts/func.sh
|
||||
|
||||
@@ -168,7 +168,7 @@ jobs:
|
||||
|
||||
# Zip image and generate checksum
|
||||
- name: Pack Next Image
|
||||
if: inputs.next == true
|
||||
if: ${{ inputs.next == true }}
|
||||
run: |
|
||||
if [ -n "${{ env.ARC_VERSION }}" ]; then
|
||||
zip -9 "arc-${{ env.ARC_VERSION }}-${{ env.ARC_BRANCH }}.img.zip" arc.img
|
||||
@@ -186,7 +186,7 @@ jobs:
|
||||
|
||||
# Build incremental
|
||||
- name: Build Stable Image
|
||||
if: inputs.stable == true
|
||||
if: ${{ inputs.stable == true }}
|
||||
run: |
|
||||
. scripts/func.sh
|
||||
|
||||
@@ -245,7 +245,7 @@ jobs:
|
||||
|
||||
# Zip image and generate checksum
|
||||
- name: Pack Stable Image
|
||||
if: inputs.stable == true
|
||||
if: ${{ inputs.stable == true }}
|
||||
run: |
|
||||
if [ -n "${{ env.ARC_VERSION }}" ]; then
|
||||
zip -9 "arc-${{ env.ARC_VERSION }}-${{ env.ARC_BRANCH }}.img.zip" arc.img
|
||||
@@ -270,7 +270,8 @@ jobs:
|
||||
- ${{ inputs.notice }}
|
||||
|
||||
### Information:
|
||||
- Full Changelog and Arc Patch (Decryption Key) are available in my Discord.
|
||||
- Full Changelog is available in my Discord
|
||||
- Discord Account for Arc Patch needed
|
||||
|
||||
### Versions:
|
||||
- stable: Stable Image (Full Image, all dependencies are included, less hardware support)
|
||||
|
||||
@@ -692,12 +692,23 @@ function sequentialIOMenu() {
|
||||
# Shows backup menu to user
|
||||
function backupMenu() {
|
||||
NEXT="1"
|
||||
USERID="$(readConfigKey "arc.userid" "${USER_CONFIG_FILE}")"
|
||||
while true; do
|
||||
dialog --backtitle "$(backtitle)" --title "Backup" --cancel-label "Exit" --menu "Choose an Option" 0 0 0 \
|
||||
1 "Restore Arc Config from DSM" \
|
||||
2 "Restore HW Encryption Key from DSM" \
|
||||
3 "Backup HW Encryption Key to DSM" \
|
||||
2>"${TMP_PATH}/resp"
|
||||
if [ -n "${USERID}" ]; then
|
||||
dialog --backtitle "$(backtitle)" --title "Backup" --cancel-label "Exit" --menu "Choose an Option" 0 0 0 \
|
||||
1 "Restore Arc Config from DSM" \
|
||||
2 "Restore HW Encryption Key from DSM" \
|
||||
3 "Backup HW Encryption Key to DSM" \
|
||||
4 "Restore Arc Config from Online" \
|
||||
5 "Backup Arc Config to Online" \
|
||||
2>"${TMP_PATH}/resp"
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "Backup" --cancel-label "Exit" --menu "Choose an Option" 0 0 0 \
|
||||
1 "Restore Arc Config from DSM" \
|
||||
2 "Restore HW Encryption Key from DSM" \
|
||||
3 "Backup HW Encryption Key to DSM" \
|
||||
2>"${TMP_PATH}/resp"
|
||||
fi
|
||||
[ $? -ne 0 ] && break
|
||||
case "$(cat ${TMP_PATH}/resp)" in
|
||||
1)
|
||||
@@ -810,6 +821,29 @@ function backupMenu() {
|
||||
--msgbox "No Encryption Key found!" 0 0
|
||||
fi
|
||||
;;
|
||||
4)
|
||||
[ -f "${USER_CONFIG_FILE}" ] && mv -f "${USER_CONFIG_FILE}" "${USER_CONFIG_FILE}.bak"
|
||||
HWID="$(genHWID)"
|
||||
if curl -skL "https://arc.auxxxilium.tech?cdown=${HWID}" -o "${USER_CONFIG_FILE}" 2>/dev/null; then
|
||||
dialog --backtitle "$(backtitle)" --title "Online Restore" --msgbox "Online Restore successful!" 5 40
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "Online Restore" --msgbox "Online Restore failed!" 5 40
|
||||
[ -f "${USER_CONFIG_FILE}.bak" ] && mv -f "${USER_CONFIG_FILE}.bak" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
;;
|
||||
5)
|
||||
if [ -f "${USER_CONFIG_FILE}" ]; then
|
||||
HWID="$(genHWID)"
|
||||
curl -sk -X POST -F "file=@${USER_CONFIG_FILE}" "https://arc.auxxxilium.tech?cup=${HWID}&userid=${USERID}" 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
dialog --backtitle "$(backtitle)" --title "Online Backup" --msgbox "Online Backup successful!" 5 40
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "Online Backup" --msgbox "Online Backup failed!" 5 40
|
||||
fi
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "Online Backup" --msgbox "No User Config found!" 5 40
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
@@ -910,6 +944,7 @@ function networkMenu() {
|
||||
function sysinfo() {
|
||||
# Get System Informations
|
||||
[ -d /sys/firmware/efi ] && BOOTSYS="UEFI" || BOOTSYS="BIOS"
|
||||
USERID="$(readConfigKey "arc.userid" "${USER_CONFIG_FILE}")"
|
||||
CPU="$(cat /proc/cpuinfo 2>/dev/null | grep 'model name' | uniq | awk -F':' '{print $2}')"
|
||||
SECURE=$(dmesg 2>/dev/null | grep -i "Secure Boot" | awk -F'] ' '{print $2}')
|
||||
VENDOR=$(dmesg 2>/dev/null | grep -i "DMI:" | head -1 | sed 's/\[.*\] DMI: //i')
|
||||
@@ -1134,29 +1169,49 @@ function sysinfo() {
|
||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||
fi
|
||||
TEXT+="\n Total Disks: \Zb${NUMPORTS}\Zn"
|
||||
[ -f "${TMP_PATH}/diag" ] && rm -f "${TMP_PATH}/diag" >/dev/null
|
||||
echo -e "${TEXT}" >"${TMP_PATH}/diag"
|
||||
while true; do
|
||||
dialog --backtitle "$(backtitle)" --colors --ok-label "Exit" --help-button --help-label "Show Cmdline" \
|
||||
--extra-button --extra-label "Upload" --title "Sysinfo" --msgbox "${TEXT}" 0 0
|
||||
RET=$?
|
||||
case ${RET} in
|
||||
0) # ok-button
|
||||
return 0
|
||||
break
|
||||
;;
|
||||
2) # help-button
|
||||
getCMDline
|
||||
;;
|
||||
3) # extra-button
|
||||
uploadDiag
|
||||
;;
|
||||
255) # ESC-button
|
||||
return 0
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if [ -n "${USERID}" ]; then
|
||||
echo -e "${TEXT}" >"${TMP_PATH}/sysinfo.yml"
|
||||
while true; do
|
||||
dialog --backtitle "$(backtitle)" --colors --ok-label "Exit" --help-button --help-label "Show Cmdline" \
|
||||
--extra-button --extra-label "Upload" --title "Sysinfo" --msgbox "${TEXT}" 0 0
|
||||
RET=$?
|
||||
case ${RET} in
|
||||
0) # ok-button
|
||||
return 0
|
||||
break
|
||||
;;
|
||||
2) # help-button
|
||||
getCMDline
|
||||
;;
|
||||
3) # extra-button
|
||||
uploadDiag
|
||||
;;
|
||||
255) # ESC-button
|
||||
return 0
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
else
|
||||
while true; do
|
||||
dialog --backtitle "$(backtitle)" --colors --ok-label "Exit" --help-button --help-label "Show Cmdline" \
|
||||
--title "Sysinfo" --msgbox "${TEXT}" 0 0
|
||||
RET=$?
|
||||
case ${RET} in
|
||||
0) # ok-button
|
||||
return 0
|
||||
break
|
||||
;;
|
||||
2) # help-button
|
||||
getCMDline
|
||||
;;
|
||||
255) # ESC-button
|
||||
return 0
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1171,9 +1226,14 @@ function getCMDline () {
|
||||
}
|
||||
|
||||
function uploadDiag () {
|
||||
if [ -f "${TMP_PATH}/diag" ]; then
|
||||
GENHASH=$(cat "${TMP_PATH}/diag" | curl -s -F "content=<-" http://dpaste.com/api/v2/ | cut -c 19-)
|
||||
dialog --backtitle "$(backtitle)" --title "Sysinfo Upload" --msgbox "Your Code: ${GENHASH}" 5 30
|
||||
if [ -f "${TMP_PATH}/sysinfo.yml" ]; then
|
||||
HWID="$(genHWID)"
|
||||
curl -sk -X POST -F "file=@${TMP_PATH}/sysinfo.yml" "https://arc.auxxxilium.tech?sysinfo=${HWID}&userid=${USERID}" 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
dialog --backtitle "$(backtitle)" --title "Sysinfo Upload" --msgbox "Your Code: ${HWID}" 5 40
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "Sysinfo Upload" --msgbox "Failed to upload diag file!" 0 0
|
||||
fi
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "Sysinfo Upload" --msgbox "No Diag File found!" 0 0
|
||||
fi
|
||||
@@ -2163,7 +2223,7 @@ function getpatfiles() {
|
||||
--infobox "Downloading DSM Boot Files..." 3 40
|
||||
# Get new Files
|
||||
DSM_URL="https://raw.githubusercontent.com/AuxXxilium/arc-dsm/main/files/${MODEL/+/%2B}/${PRODUCTVER}/${PAT_HASH}.tar"
|
||||
if curl -skL "${DSM_URL}" -o "${DSM_FILE}"; then
|
||||
if curl -skL "${DSM_URL}" -o "${DSM_FILE}" 2>/dev/null; then
|
||||
VALID="true"
|
||||
fi
|
||||
elif [ ! -f "${DSM_FILE}" ] && [ "${ARCOFFLINE}" == "true" ]; then
|
||||
@@ -2197,10 +2257,10 @@ function getpatfiles() {
|
||||
###############################################################################
|
||||
# Generate HardwareID
|
||||
function genHardwareID() {
|
||||
HWID="$(genHWID)"
|
||||
while true; do
|
||||
HWID="$(echo $(ifconfig | grep eth0 | awk '{print $NF}' | sed 's/://g') $(cat /proc/cpuinfo | grep "model name" | cut -d':' -f2 | head -1) | sha256sum | awk '{print $1}' | cut -c1-16)" 2>/dev/null
|
||||
if [ -n "${HWID}" ]; then
|
||||
USERID="$(curl -skL "https://arc.auxxxilium.tech?hwid=${HWID}")"
|
||||
USERID="$(curl -skL "https://arc.auxxxilium.tech?hwid=${HWID}" 2>/dev/null)"
|
||||
if echo "${USERID}" | grep -vq "Hardware ID"; then
|
||||
dialog --backtitle "$(backtitle)" --title "HardwareID" \
|
||||
--msgbox "HardwareID: ${HWID}\nYour HardwareID is registered to UserID: ${USERID}!" 6 70
|
||||
@@ -2209,14 +2269,15 @@ function genHardwareID() {
|
||||
break
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "HardwareID" \
|
||||
--yes-label "Retry" --no-label "Cancel" --yesno "HardwareID: ${HWID}\nRegister your HardwareID on\nhttps://arc.auxxxilium.tech (Discord Account needed)." 8 60
|
||||
--yes-label "Retry" --no-label "Cancel" --yesno "HardwareID: ${HWID}\nRegister your HardwareID on\nhttps://arc.auxxxilium.tech (Discord Account needed)." 7 60
|
||||
[ $? -ne 0 ] && USERID="" && break
|
||||
writeConfigKey "arc.hwid" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "arc.userid" "" "${USER_CONFIG_FILE}"
|
||||
[ $? -ne 0 ] && break
|
||||
fi
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "HardwareID" \
|
||||
--msgbox "HardwareID: Verification failed!" 6 50
|
||||
--msgbox "HardwareID: ID Generation failed!" 6 50
|
||||
USERID=""
|
||||
writeConfigKey "arc.hwid" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "arc.userid" "" "${USER_CONFIG_FILE}"
|
||||
break
|
||||
@@ -2228,23 +2289,30 @@ function genHardwareID() {
|
||||
###############################################################################
|
||||
# Check HardwareID
|
||||
function checkHardwareID() {
|
||||
HWID="$(echo $(ifconfig | grep eth0 | awk '{print $NF}' | sed 's/://g') $(cat /proc/cpuinfo | grep "model name" | cut -d':' -f2 | head -1) | sha256sum | awk '{print $1}' | cut -c1-16)" 2>/dev/null
|
||||
USERID="$(curl -skL "https://arc.auxxxilium.tech?hwid=${HWID}")"
|
||||
HWID="$(genHWID)"
|
||||
USERID="$(curl -skL "https://arc.auxxxilium.tech?hwid=${HWID}" 2>/dev/null)"
|
||||
if echo "${USERID}" | grep -vq "Hardware ID"; then
|
||||
writeConfigKey "arc.hwid" "${HWID}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "arc.userid" "${USERID}" "${USER_CONFIG_FILE}"
|
||||
if [ -n "${USERID}" ] && [ -n "${HWID}" ]; then
|
||||
cp -f "${S_FILE}" "${S_FILE}.bak"
|
||||
curl -skL "https://arc.auxxxilium.tech?hwid=${HWID}&userid=${USERID}" > "${S_FILE}"
|
||||
cp -f "${S_FILE}" "${S_FILE}.bak"
|
||||
if curl -skL "https://arc.auxxxilium.tech?hwid=${HWID}&userid=${USERID}" -o "${S_FILE}" 2>/dev/null; then
|
||||
dialog --backtitle "$(backtitle)" --title "HardwareID" \
|
||||
--infobox "HardwareID: ${HWID}\nYour HardwareID is registered to UserID: ${USERID}!" 4 70
|
||||
writeConfigKey "arc.hwid" "${HWID}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "arc.userid" "${USERID}" "${USER_CONFIG_FILE}"
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "HardwareID" \
|
||||
--infobox "HardwareID: Your HardwareID couldn't be verified!" 4 50
|
||||
USERID=""
|
||||
writeConfigKey "arc.hwid" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "arc.userid" "" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "HardwareID" \
|
||||
--infobox "HardwareID: Your HardwareID isn't registered!" 4 50
|
||||
USERID=""
|
||||
writeConfigKey "arc.hwid" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "arc.userid" "" "${USER_CONFIG_FILE}"
|
||||
dialog --backtitle "$(backtitle)" --title "HardwareID" \
|
||||
--infobox "Couldn't verify your HardwareID!\nArc Patch not enabled!" 6 40
|
||||
cp -f "${S_FILE}.bak" "${S_FILE}"
|
||||
sleep 3
|
||||
fi
|
||||
sleep 3
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -89,11 +89,14 @@ function backtitlep() {
|
||||
# Model Selection
|
||||
function arcModel() {
|
||||
STEP="model"
|
||||
dialog --backtitle "$(backtitlep)" --title "Model" \
|
||||
--infobox "Reading Models..." 3 25
|
||||
if [ ! -f "${S_FILE}" ] || [ ! -f "${P_FILE}" ]; then
|
||||
updateConfigs
|
||||
fi
|
||||
# Check for Hardware ID
|
||||
checkHardwareID
|
||||
dialog --backtitle "$(backtitlep)" --title "Model" \
|
||||
--infobox "Reading Models..." 3 25
|
||||
ARCCONF="$(readConfigKey "${MODEL:-SA6400}.serial" "${S_FILE}")"
|
||||
# Loop menu
|
||||
RESTRICT=1
|
||||
PS="$(readConfigEntriesArray "platforms" "${P_FILE}" | sort)"
|
||||
@@ -151,14 +154,15 @@ function arcModel() {
|
||||
fi
|
||||
[ -n "$(grep -w "${M}" "${S_FILE}")" ] && BETA="Arc" || BETA="Syno"
|
||||
[ -z "$(grep -w "${A}" "${P_FILE}")" ] && COMPATIBLE=0
|
||||
if [ -n "${ARCKEY}" ]; then
|
||||
if [ -n "${ARCCONF}" ]; then
|
||||
[ ${COMPATIBLE} -eq 1 ] && echo -e "${M} \"\t$(printf "\Zb%-15s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-12s\Zn \Zb%-5s\Zn \Zb%-10s\Zn \Zb%-12s\Zn \Zb%-10s\Zn \Zb%-10s\Zn" "${A}" "${DTS}" "${ARC}" "${IGPUS}" "${HBAS}" "${M_2_CACHE}" "${M_2_STORAGE}" "${USBS}" "${BETA}")\" ">>"${TMP_PATH}/menu"
|
||||
else
|
||||
[ ${COMPATIBLE} -eq 1 ] && echo -e "${M} \"\t$(printf "\Zb%-15s\Zn \Zb%-5s\Zn \Zb%-12s\Zn \Zb%-5s\Zn \Zb%-10s\Zn \Zb%-12s\Zn \Zb%-10s\Zn \Zb%-10s\Zn" "${A}" "${DTS}" "${IGPUS}" "${HBAS}" "${M_2_CACHE}" "${M_2_STORAGE}" "${USBS}" "${BETA}")\" ">>"${TMP_PATH}/menu"
|
||||
fi
|
||||
done < <(cat "${TMP_PATH}/modellist")
|
||||
[ -n "${ARCKEY}" ] && MSG="Supported Models for your Hardware (x = supported / + = need Addons)\n$(printf "\Zb%-16s\Zn \Zb%-15s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-12s\Zn \Zb%-5s\Zn \Zb%-10s\Zn \Zb%-12s\Zn \Zb%-10s\Zn \Zb%-10s\Zn" "Model" "Platform" "DT" "Arc" "Intel iGPU" "HBA" "M.2 Cache" "M.2 Volume" "USB Mount" "Source")" || MSG="Supported Models for your Hardware (x = supported / + = need Addons) | Syno Models can have faulty Values.\n$(printf "\Zb%-16s\Zn \Zb%-15s\Zn \Zb%-5s\Zn \Zb%-12s\Zn \Zb%-5s\Zn \Zb%-10s\Zn \Zb%-12s\Zn \Zb%-10s\Zn \Zb%-10s\Zn" "Model" "Platform" "DT" "Intel iGPU" "HBA" "M.2 Cache" "M.2 Volume" "USB Mount" "Source")"
|
||||
[ -n "${ARCKEY}" ] && TITLEMSG="Arc Model" || TITLEMSG="Model"
|
||||
ARCCONF="$(readConfigKey "${MODEL:-SA6400}.serial" "${S_FILE}")"
|
||||
[ -n "${ARCCONF}" ] && MSG="Supported Models for your Hardware (x = supported / + = need Addons)\n$(printf "\Zb%-16s\Zn \Zb%-15s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-12s\Zn \Zb%-5s\Zn \Zb%-10s\Zn \Zb%-12s\Zn \Zb%-10s\Zn \Zb%-10s\Zn" "Model" "Platform" "DT" "Arc" "Intel iGPU" "HBA" "M.2 Cache" "M.2 Volume" "USB Mount" "Source")" || MSG="Supported Models for your Hardware (x = supported / + = need Addons) | Syno Models can have faulty Values.\n$(printf "\Zb%-16s\Zn \Zb%-15s\Zn \Zb%-5s\Zn \Zb%-12s\Zn \Zb%-5s\Zn \Zb%-10s\Zn \Zb%-12s\Zn \Zb%-10s\Zn \Zb%-10s\Zn" "Model" "Platform" "DT" "Intel iGPU" "HBA" "M.2 Cache" "M.2 Volume" "USB Mount" "Source")"
|
||||
[ -n "${ARCCONF}" ] && TITLEMSG="Arc Model" || TITLEMSG="Model"
|
||||
dialog --backtitle "$(backtitlep)" --title "${TITLEMSG}" --colors \
|
||||
--cancel-label "Show all" --help-button --help-label "Exit" \
|
||||
--extra-button --extra-label "Info" \
|
||||
@@ -671,7 +675,7 @@ function make() {
|
||||
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
||||
BOOTMODE="$(readConfigKey "arc.mode" "${USER_CONFIG_FILE}")"
|
||||
if [ "${BOOTMODE}" != "automated" ] && [ "${ARCOFFLINE}" != "true" ] && [[ "${ARCPATCH}" != "true" || -z "${ARCCONF}" ]]; then
|
||||
if ! curl -skL "https://auxxxilium.tech/check.yml" -o "${TMP_PATH}/check.yml" 2>/dev/null; then
|
||||
if ! curl -skL "https://arc.auxxxilium.tech/check.yml" -o "${TMP_PATH}/check.yml" 2>/dev/null; then
|
||||
SN=$(generateSerial "${MODEL}" "false")
|
||||
else
|
||||
if grep -q "${SN}" "${TMP_PATH}/check.yml"; then
|
||||
@@ -698,7 +702,17 @@ function make() {
|
||||
# Max Memory for DSM
|
||||
RAMCONFIG="$((${RAMTOTAL} * 1024 * 2))"
|
||||
writeConfigKey "synoinfo.mem_max_mb" "${RAMCONFIG}" "${USER_CONFIG_FILE}"
|
||||
getpatfiles
|
||||
if [ -n "${IPCON}" ]; then
|
||||
getpatfiles
|
||||
else
|
||||
dialog --backtitle "$(backtitle)" --title "Build Loader" --aspect 18 \
|
||||
--infobox "Could not build Loader!\nNetwork Connection needed." 4 40
|
||||
# Set Build to false
|
||||
writeConfigKey "arc.builddone" "false" "${USER_CONFIG_FILE}"
|
||||
BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")"
|
||||
sleep 2
|
||||
return 1
|
||||
fi
|
||||
if [ -f "${ORI_ZIMAGE_FILE}" ] && [ -f "${ORI_RDGZ_FILE}" ] && [ "${CONFDONE}" == "true" ] && [ -n "${PAT_URL}" ] && [ -n "${PAT_HASH}" ]; then
|
||||
(
|
||||
livepatch
|
||||
@@ -829,7 +843,7 @@ else
|
||||
echo "0 \"HardwareID for Arc Patch\" " >>"${TMP_PATH}/menu"
|
||||
fi
|
||||
echo "1 \"Choose Model \" " >>"${TMP_PATH}/menu"
|
||||
if [ "${CONFDONE}" == "true" ]; then
|
||||
if [ "${CONFDONE}" == "true" ] && [ -n "${IPCON}" ]; then
|
||||
echo "2 \"Build Loader \" " >>"${TMP_PATH}/menu"
|
||||
fi
|
||||
if [ "${BUILDDONE}" == "true" ]; then
|
||||
|
||||
@@ -326,7 +326,7 @@ elif [ "${DIRECTBOOT}" == "false" ]; then
|
||||
|
||||
echo -e "\033[1;37mBooting DSM...\033[0m"
|
||||
# Boot to DSM
|
||||
[ "${KERNELLOAD}" == "kexec" ] && kexec -e || poweroff
|
||||
[ "${KERNELLOAD}" == "kexec" ] && exec kexec -e || exec poweroff
|
||||
fi
|
||||
|
||||
exit 0
|
||||
@@ -518,7 +518,7 @@ function onlineCheck() {
|
||||
[ -z "${KEYMAP}" ] && KEYMAP="us"
|
||||
loadkeys ${KEYMAP}
|
||||
fi
|
||||
if [ "${KEYMAP}" == "ua" ] || [ "${REGION}" == "Kyiv" ] || [ "${REGION}" == "Kiev" ]; then
|
||||
if [ "${KEYMAP}" == "ua" ]; then
|
||||
poweroff
|
||||
fi
|
||||
}
|
||||
@@ -560,4 +560,11 @@ function systemCheck () {
|
||||
# Check for Arc Patch
|
||||
ARCCONF="$(readConfigKey "${MODEL:-SA6400}.serial" "${S_FILE}")"
|
||||
[ -z "${ARCCONF}" ] && writeConfigKey "arc.patch" "false" "${USER_CONFIG_FILE}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate HardwareID
|
||||
function genHWID () {
|
||||
HWID="$(echo $(dmidecode -t 4 | grep ID | sed 's/.*ID://;s/ //g' | head -1) $(ifconfig | grep eth0 | awk '{print $NF}' | sed 's/://g') | sha256sum | awk '{print $1}' | cut -c1-16)" 2>/dev/null
|
||||
echo "${HWID}"
|
||||
}
|
||||
@@ -319,8 +319,8 @@ function updateModules() {
|
||||
###############################################################################
|
||||
# Update Configs
|
||||
function updateConfigs() {
|
||||
local ARCKEY="$(readConfigKey "arc.key" "${USER_CONFIG_FILE}")"
|
||||
[ -f "${MODEL_CONFIG_PATH}/VERSION" ] && local CONFIGSVERSION="$(cat "${MODEL_CONFIG_PATH}/VERSION")" || CONFIGSVERSION="0.0.0"
|
||||
local USERID="$(readConfigKey "arc.userid" "${USER_CONFIG_FILE}")"
|
||||
if [ -z "${1}" ]; then
|
||||
idx=0
|
||||
while [ ${idx} -le 5 ]; do # Loop 5 times, if successful, break
|
||||
@@ -362,6 +362,7 @@ function updateConfigs() {
|
||||
dialog --backtitle "$(backtitle)" --title "Update Configs" \
|
||||
--infobox "Update successful!" 3 50
|
||||
sleep 2
|
||||
[ -z "${USERID}" ] && checkHardwareID || true
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -38,7 +38,6 @@ initConfigKey "arc" "{}" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.builddone" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.confdone" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.dynamic" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.key" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.offline" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.patch" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.version" "${ARC_VERSION}" "${USER_CONFIG_FILE}"
|
||||
@@ -156,7 +155,7 @@ elif [ "${ARCMODE}" == "update" ]; then
|
||||
elif [ "${BUILDDONE}" == "true" ] && [ "${ARCMODE}" == "dsm" ]; then
|
||||
echo -e "\033[1;34mStarting DSM Mode...\033[0m"
|
||||
if [ -f "${ARC_PATH}/boot.sh" ]; then
|
||||
boot.sh && exit 0
|
||||
exec boot.sh && exit 0
|
||||
else
|
||||
echo -e "\033[1;31mError: Can't find Arc System Files...\033[0m"
|
||||
fi
|
||||
|
||||
@@ -37,8 +37,8 @@ sudo mount ${LOOPX}p3 "/tmp/p3"
|
||||
|
||||
[[ ! -f "brx/bzImage-arc" || ! -f "brx/initrd-arc" ]] && return 1
|
||||
|
||||
ARC_BUILD="`date +'%y%m%d'`-dev"
|
||||
ARC_VERSION="13.11"
|
||||
ARC_BUILD="`date +'%y%m%d'`"
|
||||
ARC_VERSION="13.37.dev"
|
||||
ARC_BRANCH="next"
|
||||
echo "${ARC_BUILD}" >files/p1/ARC-BUILD
|
||||
echo "${ARC_VERSION}" >files/p1/ARC-VERSION
|
||||
|
||||
@@ -37,8 +37,8 @@ sudo mount ${LOOPX}p3 "/tmp/p3"
|
||||
|
||||
[[ ! -f "brs/bzImage-arc" || ! -f "brs/initrd-arc" ]] && return 1
|
||||
|
||||
ARC_BUILD="`date +'%y%m%d'`-dev"
|
||||
ARC_VERSION="13.11"
|
||||
ARC_BUILD="`date +'%y%m%d'`"
|
||||
ARC_VERSION="13.37.dev"
|
||||
ARC_BRANCH="stable"
|
||||
echo "${ARC_BUILD}" >files/p1/ARC-BUILD
|
||||
echo "${ARC_VERSION}" >files/p1/ARC-VERSION
|
||||
|
||||
Reference in New Issue
Block a user