mirror of
https://github.com/RROrg/rr.git
synced 2025-09-07 12:27:04 +08:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
2c7c35b4a7 | ||
|
cdd30e0e5e | ||
|
34fb3e1968 | ||
|
1b191a4e2b | ||
|
c1fe7f7bfe | ||
|
c850e8be28 | ||
|
9c11315756 | ||
|
f2a34edeff | ||
|
3320be7a16 | ||
|
efd1d3d291 | ||
|
bd5e688f7e | ||
|
f90478e426 | ||
|
ac588eff6c |
4
.github/workflows/issues.yml
vendored
4
.github/workflows/issues.yml
vendored
@ -29,7 +29,9 @@ jobs:
|
||||
# -*- coding: utf-8 -*-
|
||||
import json, subprocess
|
||||
def set_output(name, value):
|
||||
subprocess.call(["echo '{}={}' >> $GITHUB_ENV".format(name, value)], shell=True)
|
||||
subprocess.call(f'echo "{name}<<EOF" >> $GITHUB_ENV', shell=True)
|
||||
subprocess.call(f'echo "{value}" >> $GITHUB_ENV', shell=True)
|
||||
subprocess.call(f'echo "EOF" >> $GITHUB_ENV', shell=True)
|
||||
|
||||
issuetitle = ${{ toJSON(github.event.issue.title) }}
|
||||
issuebody = ${{ toJSON(github.event.issue.body) }}
|
||||
|
BIN
docs/addons.xlsx
BIN
docs/addons.xlsx
Binary file not shown.
BIN
docs/models.xlsx
BIN
docs/models.xlsx
Binary file not shown.
Binary file not shown.
138
docs/pats.json
138
docs/pats.json
@ -1,4 +1,40 @@
|
||||
{
|
||||
"DS1525+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1525%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS1825+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1825%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS225+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS225%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS425+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS425%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS725+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS725%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS925+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS925%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"HD6500": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_HD6500_72806.pat",
|
||||
@ -17,6 +53,12 @@
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"RS2825RP+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_RS2825RP%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS1019+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1019%2B_72806.pat",
|
||||
@ -87,12 +129,6 @@
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS1525+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1525%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS1621+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1621%2B_72806.pat",
|
||||
@ -215,12 +251,6 @@
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS1825+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1825%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS220+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS220%2B_72806.pat",
|
||||
@ -257,12 +287,6 @@
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS225+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS225%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS2419+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS2419%2B_72806.pat",
|
||||
@ -411,12 +435,6 @@
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS425+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS425%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS620slim": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS620slim_72806.pat",
|
||||
@ -487,12 +505,6 @@
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS725+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS725%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS920+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS920%2B_72806.pat",
|
||||
@ -537,12 +549,6 @@
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DS925+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS925%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DVA1622": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DVA1622_72806.pat",
|
||||
@ -587,58 +593,8 @@
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DVA3221": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DVA3221_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
},
|
||||
"7.0.1-42218-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
},
|
||||
"7.2.1-69057-1": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.1/69057-1/DSM_DVA3221_69057.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
},
|
||||
"7.2.0-64570-1": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2/64570-1/DSM_DVA3221_64570.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
},
|
||||
"7.1.1-42962-1": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.1.1/42962-1/DSM_DVA3221_42962.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
},
|
||||
"7.1.0-42661-1": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.1/42661-1/DSM_DVA3221_42661.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"FS2500": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_FS2500_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
},
|
||||
"7.2.1-69057-1": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.1/69057-1/DSM_FS2500_69057.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
},
|
||||
"7.2.0-64570-1": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2/64570-1/DSM_FS2500_64570.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
},
|
||||
"7.1.1-42962-1": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.1.1/42962-1/DSM_FS2500_42962.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
},
|
||||
"7.1.0-42661-1": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.1/42661-1/DSM_FS2500_42661.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
},
|
||||
"7.0.1-42218-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DVA3221": {},
|
||||
"FS2500": {},
|
||||
"FS3400": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_FS3400_72806.pat",
|
||||
@ -927,12 +883,6 @@
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"RS2825RP+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_RS2825RP%2B_72806.pat",
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"RS3618xs": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_RS3618xs_72806.pat",
|
||||
|
BIN
docs/pats.xlsx
BIN
docs/pats.xlsx
Binary file not shown.
@ -8,7 +8,7 @@
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
|
||||
RR_VERSION="25.8.1"
|
||||
RR_VERSION="25.9.1"
|
||||
RR_RELEASE=""
|
||||
RR_TITLE="RR v${RR_VERSION}"
|
||||
|
||||
|
@ -86,6 +86,7 @@ if [ -z "$(readConfigMap "addons" "${USER_CONFIG_FILE}")" ]; then
|
||||
initConfigKey "addons.acpid" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "addons.trivial" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "addons.vmtools" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "addons.monitor" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "addons.mountloader" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "addons.powersched" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "addons.reboottoloader" "" "${USER_CONFIG_FILE}"
|
||||
@ -132,13 +133,14 @@ BUSLIST="usb sata sas scsi nvme mmc ide virtio vmbus xen"
|
||||
if [ "${BUS}" = "usb" ]; then
|
||||
VID="0x$(udevadm info --query property --name "${LOADER_DISK}" 2>/dev/null | grep "ID_VENDOR_ID" | cut -d= -f2)"
|
||||
PID="0x$(udevadm info --query property --name "${LOADER_DISK}" 2>/dev/null | grep "ID_MODEL_ID" | cut -d= -f2)"
|
||||
[ "${VID}" = "0x" ] || [ "${PID}" = "0x" ] && die "$(TEXT "The loader disk does not support the current USB Portable Hard Disk.")"
|
||||
TYPE="flashdisk"
|
||||
elif ! echo "${BUSLIST}" | grep -wq "${BUS}"; then
|
||||
if [ "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
||||
echo "LOCALBUILD MODE"
|
||||
TYPE="PC"
|
||||
else
|
||||
die "$(printf "$(TEXT "The boot disk does not support the current %s, only %s DoM is supported.")" "${BUS}" "${BUSLIST// /\/}")"
|
||||
die "$(printf "$(TEXT "The loader disk does not support the current %s, only %s DoM is supported.")" "${BUS}" "${BUSLIST// /\/}")"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
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
@ -1225,7 +1225,7 @@ function synoinfoMenu() {
|
||||
# Extract linux and ramdisk files from the DSM .pat
|
||||
function getSynoExtractor() {
|
||||
rm -f "${LOG_FILE}"
|
||||
mirrors=("global.synologydownload.com" "global.download.synology.com" "cndl.synology.cn")
|
||||
mirrors=("global.download.synology.com" "global.synologydownload.com" "cndl.synology.cn")
|
||||
fastest=$(_get_fastest "${mirrors[@]}")
|
||||
if [ $? -ne 0 ]; then
|
||||
echo -e "$(TEXT "The current network status is unknown, using the default mirror.")"
|
||||
@ -1240,7 +1240,7 @@ function getSynoExtractor() {
|
||||
|
||||
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}")
|
||||
STATUS=$(curl -kL --http1.1 --connect-timeout 10 -w "%{http_code}" "${OLDPAT_URL}" -o "${OLDPAT_PATH}")
|
||||
RET=$?
|
||||
if [ ${RET} -ne 0 ] || [ ${STATUS:-0} -ne 200 ]; then
|
||||
rm -f "${OLDPAT_PATH}"
|
||||
@ -1368,7 +1368,7 @@ function extractDsmFiles() {
|
||||
CLEARCACHE=0
|
||||
fi
|
||||
mkdir -p "${PART3_PATH}/dl"
|
||||
mirrors=("global.synologydownload.com" "global.download.synology.com" "cndl.synology.cn")
|
||||
mirrors=("global.download.synology.com" "global.synologydownload.com" "cndl.synology.cn")
|
||||
fastest=$(_get_fastest "${mirrors[@]}")
|
||||
if [ $? -ne 0 ]; then
|
||||
echo -e "$(TEXT "The current network status is unknown, using the default mirror.")"
|
||||
@ -1382,13 +1382,13 @@ function extractDsmFiles() {
|
||||
# Check disk space left
|
||||
SPACELEFT=$(df --block-size=1 "${PART3_PATH}" 2>/dev/null | awk 'NR==2 {print $4}')
|
||||
# Discover remote file size
|
||||
FILESIZE=$(curl -skLI --connect-timeout 10 "${PATURL}" | grep -i Content-Length | tail -n 1 | tr -d '\r\n' | awk '{print $2}')
|
||||
FILESIZE=$(curl -skLI --http1.1 --connect-timeout 10 "${PATURL}" | grep -i Content-Length | tail -n 1 | tr -d '\r\n' | awk '{print $2}')
|
||||
if [ ${FILESIZE:-0} -ge ${SPACELEFT:-0} ]; then
|
||||
# No disk space to download, change it to RAMDISK
|
||||
PAT_PATH="${TMP_PATH}/${PAT_FILE}"
|
||||
fi
|
||||
touch "${PAT_PATH}.downloading"
|
||||
STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${PATURL}" -o "${PAT_PATH}")
|
||||
STATUS=$(curl -kL --http1.1 --connect-timeout 10 -w "%{http_code}" "${PATURL}" -o "${PAT_PATH}")
|
||||
RET=$?
|
||||
rm -f "${PAT_PATH}.downloading"
|
||||
if [ ${RET} -ne 0 ] || [ ${STATUS:-0} -ne 200 ]; then
|
||||
@ -1930,6 +1930,16 @@ function resetDSMPassword() {
|
||||
sed -i "/^${USER}:/ s/^\(${USER}:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\)[^:]*:/\1:/" "${TMP_PATH}/mdX/etc/shadow"
|
||||
sed -i "s|status=on|status=off|g" "${TMP_PATH}/mdX/usr/syno/etc/packages/SecureSignIn/preference/${USER}/method.config" 2>/dev/null
|
||||
sed -i "s|list=*$|list=|; s|type=*$|type=none|" "${TMP_PATH}/mdX/usr/syno/etc/packages/SecureSignIn/secure_signin.conf" 2>/dev/null
|
||||
|
||||
mkdir -p "${TMP_PATH}/mdX/usr/rr/once.d"
|
||||
{
|
||||
echo "#!/usr/bin/env bash"
|
||||
echo "synowebapi -s --exec api=SYNO.Core.OTP.EnforcePolicy method=set version=1 enable_otp_enforcement=false otp_enforce_option='\"none\"'"
|
||||
echo "synowebapi -s --exec api=SYNO.SecureSignIn.AMFA.Policy method=set version=1 type='\"none\"'"
|
||||
echo "synowebapi -s --exec api=SYNO.Core.SmartBlock method=set version=1 enabled=false untrust_try=5 untrust_minute=1 untrust_lock=30 trust_try=10 trust_minute=1 trust_lock=30"
|
||||
echo "synowebapi -s --exec api=SYNO.SecureSignIn.Method.Admin method=reset version=1 account='\"${USER}\"' keep_amfa_settings=true"
|
||||
} >"${TMP_PATH}/mdX/usr/rr/once.d/addNewDSMUser.sh"
|
||||
|
||||
sync
|
||||
echo "true" >"${TMP_PATH}/isOk"
|
||||
umount "${TMP_PATH}/mdX"
|
||||
|
@ -19,6 +19,8 @@ N acpi_call.ko
|
||||
N check_signature.ko
|
||||
N rfkill.ko
|
||||
N rfkill-gpio.ko
|
||||
N scsi_debug.ko
|
||||
N drivetemp.ko
|
||||
|
||||
# sensors
|
||||
N coretemp.ko
|
||||
|
@ -1 +1 @@
|
||||
25.8.1
|
||||
25.9.1
|
||||
|
@ -49,8 +49,6 @@ else
|
||||
font=${prefix}/fonts/unicode.pf2
|
||||
fi
|
||||
|
||||
terminal_output console
|
||||
|
||||
if loadfont ${font}; then
|
||||
set gfxmode=auto
|
||||
load_video
|
||||
@ -58,9 +56,10 @@ if loadfont ${font}; then
|
||||
set locale_dir=$prefix/locale
|
||||
set lang=en_US
|
||||
insmod gettext
|
||||
terminal_output --append gfxterm
|
||||
fi
|
||||
|
||||
terminal_output gfxterm
|
||||
|
||||
if serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1; then
|
||||
terminal_input --append serial
|
||||
terminal_output --append serial
|
||||
|
23
guide.md
23
guide.md
@ -340,7 +340,7 @@
|
||||
# API
|
||||
# 获取系统信息
|
||||
synowebapi --exec api=SYNO.Core.System method=info version=3
|
||||
synowebapi --exec api=SYNO.Core.System method=info version=3 type="firmware"
|
||||
synowebapi --exec api=SYNO.Core.System method=info version=3 type='"firmware"'
|
||||
# 获取设备信息
|
||||
synowebapi --exec api=SYNO.Core.System.Utilization method=get version=1
|
||||
# 关机
|
||||
@ -352,7 +352,26 @@
|
||||
synowebapi --exec api=SYNO.Core.Web.DSM method=set version=2 enable_https_redirect=false
|
||||
# 开启 telnet/ssh
|
||||
synowebapi --exec api=SYNO.Core.Terminal method=set version=3 enable_telnet=true enable_ssh=true ssh_port=22 forbid_console=false
|
||||
|
||||
|
||||
# 强制以下用户启用双重验证
|
||||
synowebapi --exec api=SYNO.Core.OTP.EnforcePolicy method=set version=1 enable_otp_enforcement=true otp_enforce_option='"none"' # 开 管理员群组用户
|
||||
synowebapi --exec api=SYNO.Core.OTP.EnforcePolicy method=set version=1 enable_otp_enforcement=true otp_enforce_option='"user"' # 开 所有用户
|
||||
synowebapi --exec api=SYNO.Core.OTP.EnforcePolicy method=custom_set version=1 type='"local_user"' settings='[{"id":"1026","is_enforced":true}]'
|
||||
synowebapi --exec api=SYNO.Core.OTP.EnforcePolicy method=set version=1 enable_otp_enforcement=true otp_enforce_option='"custom"' # 开 指定用户或群组
|
||||
synowebapi --exec api=SYNO.Core.OTP.EnforcePolicy method=set version=1 enable_otp_enforcement=false otp_enforce_option='"none"' # 关
|
||||
|
||||
# 为管理员群组的用户启用自适应多重验证
|
||||
synowebapi --exec api=SYNO.SecureSignIn.AMFA.Policy method=set version=1 type='"admin"' # 开
|
||||
synowebapi --exec api=SYNO.SecureSignIn.AMFA.Policy method=set version=1 type='"none"' # 关
|
||||
|
||||
# 启用帐户保护
|
||||
synowebapi --exec api=SYNO.Core.SmartBlock method=set version=1 enabled=true untrust_try=5 untrust_minute=1 untrust_lock=30 trust_try=10 trust_minute=1 trust_lock=30 # 开
|
||||
synowebapi --exec api=SYNO.Core.SmartBlock method=set version=1 enabled=false untrust_try=5 untrust_minute=1 untrust_lock=30 trust_try=10 trust_minute=1 trust_lock=30 # 关
|
||||
|
||||
# 禁用双重验证 (admin 用户)
|
||||
synowebapi --exec api=SYNO.SecureSignIn.Method.Admin method=reset version=1 account='"admin"' keep_amfa_settings=true
|
||||
|
||||
|
||||
# Get MD5
|
||||
certutil -hashfile xxx.pat MD5 # windows
|
||||
md5sum xxx.pat # linux/mac
|
||||
|
Loading…
x
Reference in New Issue
Block a user