mirror of
https://github.com/RROrg/rr.git
synced 2025-12-18 18:19:49 +08:00
Compare commits
3 Commits
a71f4e89da
...
01aaca5e99
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
01aaca5e99 | ||
|
|
229c3270a4 | ||
|
|
9761d64501 |
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
@ -13,7 +13,7 @@ alias DIALOG='dialog --backtitle "$(backtitle)" --colors --aspect 50'
|
||||
# lock
|
||||
exec 304>"${WORK_PATH}/menu.lock"
|
||||
flock -n 304 || {
|
||||
DIALOG --title "$(TEXT "Error")" \
|
||||
dialog --colors --aspect 50 --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,21 +2431,45 @@ 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}"
|
||||
xz -dc <"${RR_RAMDISK_FILE}" | cpio -idm
|
||||
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
|
||||
) >/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}')
|
||||
find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | xz -9 --check=crc32 >"${RR_RAMDISK_FILE}"
|
||||
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
|
||||
) 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
|
||||
}
|
||||
|
||||
@ -2624,10 +2648,24 @@ function changePassword() {
|
||||
RDXZ_PATH="${TMP_PATH}/rdxz_tmp"
|
||||
rm -rf "${RDXZ_PATH}"
|
||||
mkdir -p "${RDXZ_PATH}"
|
||||
[ -f "${RR_RAMUSER_FILE}" ] && (
|
||||
if [ -f "${RR_RAMUSER_FILE}" ]; then
|
||||
INITRD_FORMAT=$(file -b --mime-type "${RR_RAMUSER_FILE}")
|
||||
(
|
||||
cd "${RDXZ_PATH}"
|
||||
xz -dc <"${RR_RAMUSER_FILE}" | cpio -idm
|
||||
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
|
||||
if [ "${STRPASSWD:-rr}" = "rr" ]; then
|
||||
rm -f ${RDXZ_PATH}/etc/shadow* 2>/dev/null
|
||||
else
|
||||
@ -2638,7 +2676,16 @@ function changePassword() {
|
||||
(
|
||||
cd "${RDXZ_PATH}"
|
||||
RDSIZE=$(du -sb ${RDXZ_PATH} 2>/dev/null | awk '{print $1}')
|
||||
find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | xz -9 --check=crc32 >"${RR_RAMUSER_FILE}"
|
||||
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
|
||||
) 2>&1 | DIALOG --title "$(TEXT "Settings")"
|
||||
else
|
||||
rm -f "${RR_RAMUSER_FILE}"
|
||||
@ -2688,17 +2735,31 @@ 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}"
|
||||
[ -f "${RR_RAMUSER_FILE}" ] && (
|
||||
if [ -f "${RR_RAMUSER_FILE}" ]; then
|
||||
INITRD_FORMAT=$(file -b --mime-type "${RR_RAMUSER_FILE}")
|
||||
(
|
||||
cd "${RDXZ_PATH}"
|
||||
xz -dc <"${RR_RAMUSER_FILE}" | cpio -idm
|
||||
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
|
||||
if [ ! -f "/etc/rrorg.conf" ]; then
|
||||
rm -f "${RDXZ_PATH}/etc/rrorg.conf" 2>/dev/null
|
||||
else
|
||||
@ -2709,7 +2770,16 @@ function changePorts() {
|
||||
(
|
||||
cd "${RDXZ_PATH}"
|
||||
RDSIZE=$(du -sb ${RDXZ_PATH} 2>/dev/null | awk '{print $1}')
|
||||
find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | xz -9 --check=crc32 >"${RR_RAMUSER_FILE}"
|
||||
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
|
||||
) 2>&1 | DIALOG --title "$(TEXT "Settings")"
|
||||
else
|
||||
rm -f "${RR_RAMUSER_FILE}"
|
||||
|
||||
@ -75,9 +75,21 @@ 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"
|
||||
xz -dc <"${WORKSPACE}/mnt/p3/initrd-rr" | cpio -idm
|
||||
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
|
||||
) 2>/dev/null
|
||||
sudo sync
|
||||
sudo umount "/tmp/mnt/p1"
|
||||
|
||||
@ -244,15 +244,34 @@ function repackInitrd() {
|
||||
|
||||
RDXZ_PATH="rdxz_tmp"
|
||||
mkdir -p "${RDXZ_PATH}"
|
||||
INITRD_FORMAT=$(file -b --mime-type "${INITRD_FILE}")
|
||||
(
|
||||
cd "${RDXZ_PATH}"
|
||||
sudo xz -dc <"${INITRD_FILE}" | sudo cpio -idm
|
||||
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
|
||||
) || true
|
||||
sudo cp -rf "${PLUGIN_PATH}/"* "${RDXZ_PATH}/"
|
||||
[ -f "${OUTPUT_PATH}" ] && rm -rf "${OUTPUT_PATH}"
|
||||
(
|
||||
cd "${RDXZ_PATH}"
|
||||
sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | xz -9 --check=crc32 >"${OUTPUT_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
|
||||
) || true
|
||||
sudo rm -rf "${RDXZ_PATH}"
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user