Compare commits

..

No commits in common. "01aaca5e991cb30739a39b81704d519fbf565363" and "a71f4e89da49e0c4a844ac8ff354e8a81122fcbf" have entirely different histories.

19 changed files with 3656 additions and 3821 deletions

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

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

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

@ -13,7 +13,7 @@ alias DIALOG='dialog --backtitle "$(backtitle)" --colors --aspect 50'
# lock
exec 304>"${WORK_PATH}/menu.lock"
flock -n 304 || {
dialog --colors --aspect 50 --title "$(TEXT "Error")" \
DIALOG --title "$(TEXT "Error")" \
--msgbox "$(TEXT "The menu.sh instance is already running in another terminal. To avoid conflicts, please operate in one instance only.")" 0 0
exit 1
}
@ -2431,45 +2431,21 @@ function savemodrr() {
RDXZ_PATH="${TMP_PATH}/rdxz_tmp"
rm -rf "${RDXZ_PATH}"
mkdir -p "${RDXZ_PATH}"
INITRD_FORMAT=$(file -b --mime-type "${RR_RAMDISK_FILE}")
(
cd "${RDXZ_PATH}"
case "${INITRD_FORMAT}" in
*'x-cpio'*) cpio -idm <"${RR_RAMDISK_FILE}" ;;
*'x-xz'*) xz -dc "${RR_RAMDISK_FILE}" | cpio -idm ;;
*'x-lz4'*) lz4 -dc "${RR_RAMDISK_FILE}" | cpio -idm ;;
*'x-lzma'*) lzma -dc "${RR_RAMDISK_FILE}" | cpio -idm ;;
*'x-bzip2'*) bzip2 -dc "${RR_RAMDISK_FILE}" | cpio -idm ;;
*'gzip'*) gzip -dc "${RR_RAMDISK_FILE}" | cpio -idm ;;
*'zstd'*) zstd -dc "${RR_RAMDISK_FILE}" | cpio -idm ;;
*) ;;
esac
xz -dc <"${RR_RAMDISK_FILE}" | cpio -idm
) >/dev/null 2>&1 || true
if [ -z "$(ls -A "$RDXZ_PATH")" ]; then
DIALOG --title "$(TEXT "Settings")" \
--msgbox "$(TEXT "initrd-rr file format error!")" 0 0
return
fi
rm -rf "${RDXZ_PATH}/opt/rr"
cp -rf "$(dirname ${WORK_PATH})" "${RDXZ_PATH}/"
(
cd "${RDXZ_PATH}"
RDSIZE=$(du -sb ${RDXZ_PATH} 2>/dev/null | awk '{print $1}')
case "${INITRD_FORMAT}" in
*'x-cpio'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} >"${RR_RAMDISK_FILE}" ;;
*'x-xz'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | xz -9 -C crc32 -c - >"${RR_RAMDISK_FILE}" ;;
*'x-lz4'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | lz4 -9 -l -c - >"${RR_RAMDISK_FILE}" ;;
*'x-lzma'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | lzma -9 -c - >"${RR_RAMDISK_FILE}" ;;
*'x-bzip2'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | bzip2 -9 -c - >"${RR_RAMDISK_FILE}" ;;
*'gzip'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | gzip -9 -c - >"${RR_RAMDISK_FILE}" ;;
*'zstd'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | zstd -19 -T0 -f -c - >"${RR_RAMDISK_FILE}" ;;
*) ;;
esac
find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | xz -9 --check=crc32 >"${RR_RAMDISK_FILE}"
) 2>&1 | DIALOG --title "$(TEXT "Settings")" \
--gauge "$(TEXT "Saving ...\n(It usually takes 5-10 minutes, please be patient and wait.)")" 8 100
rm -rf "${RDXZ_PATH}"
DIALOG --title "$(TEXT "Settings")" \
--msgbox "$(TEXT "Save is complete.")" 0 0
--msgbox ""$(TEXT "Save is complete.")"" 0 0
return
}
@ -2648,24 +2624,10 @@ function changePassword() {
RDXZ_PATH="${TMP_PATH}/rdxz_tmp"
rm -rf "${RDXZ_PATH}"
mkdir -p "${RDXZ_PATH}"
if [ -f "${RR_RAMUSER_FILE}" ]; then
INITRD_FORMAT=$(file -b --mime-type "${RR_RAMUSER_FILE}")
(
cd "${RDXZ_PATH}"
case "${INITRD_FORMAT}" in
*'x-cpio'*) cpio -idm <"${RR_RAMUSER_FILE}" ;;
*'x-xz'*) xz -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*'x-lz4'*) lz4 -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*'x-lzma'*) lzma -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*'x-bzip2'*) bzip2 -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*'gzip'*) gzip -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*'zstd'*) zstd -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*) ;;
esac
) >/dev/null 2>&1 || true
else
INITRD_FORMAT="application/zstd"
fi
[ -f "${RR_RAMUSER_FILE}" ] && (
cd "${RDXZ_PATH}"
xz -dc <"${RR_RAMUSER_FILE}" | cpio -idm
) >/dev/null 2>&1 || true
if [ "${STRPASSWD:-rr}" = "rr" ]; then
rm -f ${RDXZ_PATH}/etc/shadow* 2>/dev/null
else
@ -2676,16 +2638,7 @@ function changePassword() {
(
cd "${RDXZ_PATH}"
RDSIZE=$(du -sb ${RDXZ_PATH} 2>/dev/null | awk '{print $1}')
case "${INITRD_FORMAT}" in
*'x-cpio'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} >"${RR_RAMUSER_FILE}" ;;
*'x-xz'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | xz -9 -C crc32 -c - >"${RR_RAMUSER_FILE}" ;;
*'x-lz4'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | lz4 -9 -l -c - >"${RR_RAMUSER_FILE}" ;;
*'x-lzma'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | lzma -9 -c - >"${RR_RAMUSER_FILE}" ;;
*'x-bzip2'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | bzip2 -9 -c - >"${RR_RAMUSER_FILE}" ;;
*'gzip'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | gzip -9 -c - >"${RR_RAMUSER_FILE}" ;;
*'zstd'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | zstd -19 -T0 -f -c - >"${RR_RAMUSER_FILE}" ;;
*) ;;
esac
find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | xz -9 --check=crc32 >"${RR_RAMUSER_FILE}"
) 2>&1 | DIALOG --title "$(TEXT "Settings")"
else
rm -f "${RR_RAMUSER_FILE}"
@ -2735,31 +2688,17 @@ function changePorts() {
fi
# save to rrorg.conf
rm -f "/etc/rrorg.conf"
[ ! "${HTTP:-7080}" = "7080" ] && (echo "HTTP_PORT=${HTTP}" >>"/etc/rrorg.conf" && /etc/init.d/S90thttpd restart >/dev/null 2>&1)
[ ! "${DUFS:-7304}" = "7304" ] && (echo "DUFS_PORT=${DUFS}" >>"/etc/rrorg.conf" && /etc/init.d/S99dufs restart >/dev/null 2>&1)
[ ! "${TTYD:-7681}" = "7681" ] && (echo "TTYD_PORT=${TTYD}" >>"/etc/rrorg.conf" && /etc/init.d/S99ttyd restart >/dev/null 2>&1)
[ ! "${HTTP:-7080}" = "7080" ] && echo "HTTP_PORT=${HTTP}" >>"/etc/rrorg.conf" && /etc/init.d/S90thttpd restart >/dev/null 2>&1
[ ! "${DUFS:-7304}" = "7304" ] && echo "DUFS_PORT=${DUFS}" >>"/etc/rrorg.conf" && /etc/init.d/S99dufs restart >/dev/null 2>&1
[ ! "${TTYD:-7681}" = "7681" ] && echo "TTYD_PORT=${TTYD}" >>"/etc/rrorg.conf" && /etc/init.d/S99ttyd restart >/dev/null 2>&1
# save to rru
RDXZ_PATH="${TMP_PATH}/rdxz_tmp"
rm -rf "${RDXZ_PATH}"
mkdir -p "${RDXZ_PATH}"
if [ -f "${RR_RAMUSER_FILE}" ]; then
INITRD_FORMAT=$(file -b --mime-type "${RR_RAMUSER_FILE}")
(
cd "${RDXZ_PATH}"
case "${INITRD_FORMAT}" in
*'x-cpio'*) cpio -idm <"${RR_RAMUSER_FILE}" ;;
*'x-xz'*) xz -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*'x-lz4'*) lz4 -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*'x-lzma'*) lzma -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*'x-bzip2'*) bzip2 -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*'gzip'*) gzip -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*'zstd'*) zstd -dc "${RR_RAMUSER_FILE}" | cpio -idm ;;
*) ;;
esac
) >/dev/null 2>&1 || true
else
INITRD_FORMAT="application/zstd"
fi
[ -f "${RR_RAMUSER_FILE}" ] && (
cd "${RDXZ_PATH}"
xz -dc <"${RR_RAMUSER_FILE}" | cpio -idm
) >/dev/null 2>&1 || true
if [ ! -f "/etc/rrorg.conf" ]; then
rm -f "${RDXZ_PATH}/etc/rrorg.conf" 2>/dev/null
else
@ -2770,16 +2709,7 @@ function changePorts() {
(
cd "${RDXZ_PATH}"
RDSIZE=$(du -sb ${RDXZ_PATH} 2>/dev/null | awk '{print $1}')
case "${INITRD_FORMAT}" in
*'x-cpio'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} >"${RR_RAMUSER_FILE}" ;;
*'x-xz'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | xz -9 -C crc32 -c - >"${RR_RAMUSER_FILE}" ;;
*'x-lz4'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | lz4 -9 -l -c - >"${RR_RAMUSER_FILE}" ;;
*'x-lzma'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | lzma -9 -c - >"${RR_RAMUSER_FILE}" ;;
*'x-bzip2'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | bzip2 -9 -c - >"${RR_RAMUSER_FILE}" ;;
*'gzip'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | gzip -9 -c - >"${RR_RAMUSER_FILE}" ;;
*'zstd'*) find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | zstd -19 -T0 -f -c - >"${RR_RAMUSER_FILE}" ;;
*) ;;
esac
find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | xz -9 --check=crc32 >"${RR_RAMUSER_FILE}"
) 2>&1 | DIALOG --title "$(TEXT "Settings")"
else
rm -f "${RR_RAMUSER_FILE}"

View File

@ -75,21 +75,9 @@ function create() {
cp -rf "/tmp/mnt/p1" "${WORKSPACE}/mnt/p1"
cp -rf "/tmp/mnt/p2" "${WORKSPACE}/mnt/p2"
cp -rf "/tmp/mnt/p3" "${WORKSPACE}/mnt/p3"
INITRD_FILE="${WORKSPACE}/mnt/p3/initrd-rr"
INITRD_FORMAT=$(file -b --mime-type "${INITRD_FILE}")
(
cd "${WORKSPACE}/initrd"
case "${INITRD_FORMAT}" in
*'x-cpio'*) sudo cpio -idm <"${INITRD_FILE}" ;;
*'x-xz'*) xz -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*'x-lz4'*) lz4 -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*'x-lzma'*) lzma -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*'x-bzip2'*) bzip2 -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*'gzip'*) gzip -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*'zstd'*) zstd -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*) ;;
esac
xz -dc <"${WORKSPACE}/mnt/p3/initrd-rr" | cpio -idm
) 2>/dev/null
sudo sync
sudo umount "/tmp/mnt/p1"

View File

@ -244,34 +244,15 @@ function repackInitrd() {
RDXZ_PATH="rdxz_tmp"
mkdir -p "${RDXZ_PATH}"
INITRD_FORMAT=$(file -b --mime-type "${INITRD_FILE}")
(
cd "${RDXZ_PATH}"
case "${INITRD_FORMAT}" in
*'x-cpio'*) sudo cpio -idm <"${INITRD_FILE}" ;;
*'x-xz'*) xz -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*'x-lz4'*) lz4 -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*'x-lzma'*) lzma -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*'x-bzip2'*) bzip2 -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*'gzip'*) gzip -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*'zstd'*) zstd -dc "${INITRD_FILE}" | sudo cpio -idm ;;
*) ;;
esac
sudo xz -dc <"${INITRD_FILE}" | sudo cpio -idm
) || true
sudo cp -rf "${PLUGIN_PATH}/"* "${RDXZ_PATH}/"
[ -f "${OUTPUT_PATH}" ] && rm -rf "${OUTPUT_PATH}"
(
cd "${RDXZ_PATH}"
case "${INITRD_FORMAT}" in
*'x-cpio'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root >"${OUTPUT_PATH}" ;;
*'x-xz'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | xz -9 -C crc32 -c - >"${OUTPUT_PATH}" ;;
*'x-lz4'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | lz4 -9 -l -c - >"${OUTPUT_PATH}" ;;
*'x-lzma'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | lzma -9 -c - >"${OUTPUT_PATH}" ;;
*'x-bzip2'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | bzip2 -9 -c - >"${OUTPUT_PATH}" ;;
*'gzip'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | gzip -9 -c - >"${OUTPUT_PATH}" ;;
*'zstd'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | zstd -19 -T0 -f -c - >"${OUTPUT_PATH}" ;;
*) ;;
esac
sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | xz -9 --check=crc32 >"${OUTPUT_PATH}"
) || true
sudo rm -rf "${RDXZ_PATH}"
}