mirror of
https://github.com/RROrg/rr.git
synced 2025-09-07 12:27:04 +08:00
Compare commits
No commits in common. "main" and "25.8.0" have entirely different histories.
28
.github/workflows/issues.yml
vendored
28
.github/workflows/issues.yml
vendored
@ -29,9 +29,7 @@ jobs:
|
||||
# -*- coding: utf-8 -*-
|
||||
import json, subprocess
|
||||
def set_output(name, value):
|
||||
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)
|
||||
subprocess.call(["echo '{}={}' >> $GITHUB_ENV".format(name, value)], shell=True)
|
||||
|
||||
issuetitle = ${{ toJSON(github.event.issue.title) }}
|
||||
issuebody = ${{ toJSON(github.event.issue.body) }}
|
||||
@ -45,7 +43,6 @@ jobs:
|
||||
language= ''
|
||||
sn = ''
|
||||
macs = ''
|
||||
tips = ''
|
||||
model = ''
|
||||
version = ''
|
||||
kernel = ''
|
||||
@ -61,7 +58,6 @@ jobs:
|
||||
language = jsonbody.get('language', '')
|
||||
sn = jsonbody.get('sn', '')
|
||||
macs = jsonbody.get('macs', '')
|
||||
tips = jsonbody.get('tips', '')
|
||||
model = jsonbody.get('model', '')
|
||||
version = jsonbody.get('version', '')
|
||||
kernel = jsonbody.get('kernel', '')
|
||||
@ -83,7 +79,6 @@ jobs:
|
||||
set_output("language", language)
|
||||
set_output("sn", sn)
|
||||
set_output("macs", macs)
|
||||
set_output("tips", tips)
|
||||
set_output("model", model)
|
||||
set_output("version", version)
|
||||
set_output("kernel", kernel)
|
||||
@ -262,11 +257,6 @@ jobs:
|
||||
writeConfigKey "mac2" "${MACS[1]}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
|
||||
if [ -n "${{ env.tips }}" ]; then
|
||||
echo "set tips: ${{ env.tips }}"
|
||||
echo -e "${{ env.tips }}" | sudo tee rr/ws/mnt/p3/AddTips
|
||||
fi
|
||||
|
||||
if [ -n "${{ env.addons }}" ]; then
|
||||
echo "set addons: ${{ env.addons }}"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
@ -425,6 +415,14 @@ jobs:
|
||||
----
|
||||
emoji: hooray
|
||||
|
||||
- name: Close Issues
|
||||
if: env.iscustom == 'true' && success()
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: 'close-issue'
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
|
||||
- name: Update Comment Fail
|
||||
if: env.iscustom == 'true' && failure()
|
||||
uses: actions-cool/issues-helper@v3
|
||||
@ -439,11 +437,3 @@ jobs:
|
||||
> ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
----
|
||||
emoji: confused
|
||||
|
||||
- name: Close Issues
|
||||
if: env.iscustom == 'true'
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: 'close-issue'
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
|
BIN
docs/addons.xlsx
BIN
docs/addons.xlsx
Binary file not shown.
@ -29,23 +29,6 @@
|
||||
.textarea-style {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#logo {
|
||||
text-align: center;
|
||||
margin: 20px auto !important;
|
||||
}
|
||||
|
||||
#labels {
|
||||
text-align: center;
|
||||
margin: 20px auto !important;
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
#products {
|
||||
text-align: center;
|
||||
margin: 20px auto !important;
|
||||
height: auto !important;
|
||||
}
|
||||
</style>
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
|
||||
<script src="https://polyfill.io/v3/polyfill.min.js"></script>
|
||||
@ -107,11 +90,9 @@
|
||||
if (debug) {
|
||||
$('#sn_item').show();
|
||||
$('#macs_item').show();
|
||||
$('#tips_item').show();
|
||||
} else {
|
||||
$('#sn_item').hide();
|
||||
$('#macs_item').hide();
|
||||
$('#tips_item').hide();
|
||||
}
|
||||
setModels();
|
||||
});
|
||||
@ -281,7 +262,7 @@
|
||||
var body = {};
|
||||
var _parameters = ["title", "format", "size", "template", "language", "model", "version", "kernel", "addons", "modules"];
|
||||
if (debug) {
|
||||
_parameters.push("sn", "macs", "tips");
|
||||
_parameters.push("sn", "macs");
|
||||
}
|
||||
for (var key in _parameters) {
|
||||
var name = _parameters[key];
|
||||
@ -328,22 +309,29 @@
|
||||
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
|
||||
|
||||
</pre>
|
||||
<div class="shields" id="labels">
|
||||
<a id="titleA" href="https://github.com/RROrg/rr">
|
||||
<img alt="GitHub Release"
|
||||
src="https://img.shields.io/github/v/release/rrorg/rr?include_prereleases&style=flat-square&label=current">
|
||||
</a>
|
||||
<a id="titleA" href="https://github.com/RROrg/rr">
|
||||
<img alt="GitHub Issues"
|
||||
src="https://img.shields.io/github/issues-closed-raw/rrorg/rr/custom?style=flat-square&label=custom">
|
||||
</a>
|
||||
<a id="titleB" href="./changelogs.html">
|
||||
<img alt="GitHub Release" src="https://img.shields.io/badge/Changelogs-8A2BE2&style=flat">
|
||||
</a>
|
||||
</div>
|
||||
<div class="image" id="products">
|
||||
<div class="image" id="products" style="height: 50px; margin-left: 200px;">
|
||||
<img src="https://www.synology.cn/img/products/detail/SA6400/heading.png" width="20%">
|
||||
</div>
|
||||
<div class="flex-auto min-width-0 width-fit mr-3">
|
||||
<div class="d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
|
||||
<a id="titleA" href="https://github.com/RROrg/rr">
|
||||
<img alt="GitHub Release"
|
||||
src="https://img.shields.io/github/v/release/rrorg/rr?include_prereleases&style=flat-square&label=current">
|
||||
<img alt="GitHub Issues"
|
||||
src="https://img.shields.io/github/issues-closed-raw/rrorg/rr/custom?style=flat-square&label=custom">
|
||||
</a>
|
||||
</div>
|
||||
<div class="d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
|
||||
<a id="titleB" href="./changelogs.html">
|
||||
<img alt="GitHub Release" src="https://img.shields.io/badge/Changelogs-8A2BE2&style=flat">
|
||||
</a>
|
||||
</div>
|
||||
<div class="btn-link tabnav-tab preview-tab js-preview-tab flex-1 flex-md-auto width-full">
|
||||
<marquee id="content" direction="up" height="36" scrollamount="1" onMouseOut="this.start()"
|
||||
onMouseOver="this.stop()">
|
||||
</marquee>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="title_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Title: (Please do not delete the "custom " in the title of
|
||||
@ -434,14 +422,6 @@
|
||||
<input class="form-control input-contrast input-sm" type="text" id="macs" name="inputs[macs]" value=""></input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="tips_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Tips:</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<input class="form-control input-contrast input-sm" type="text" id="tips" name="inputs[tips]" value=""></input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="model_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Model:</label>
|
||||
|
BIN
docs/models.xlsx
BIN
docs/models.xlsx
Binary file not shown.
@ -13520,10 +13520,6 @@
|
||||
"description": "DME1737 sensors",
|
||||
"depends": "hwmon-vid"
|
||||
},
|
||||
"drivetemp": {
|
||||
"description": "Hard drive temperature monitor (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"drm": {
|
||||
"description": "DRM shared core routines",
|
||||
"depends": "dmabuf,drm_mipi_dsi,i915-compat,drm_panel_orientation_quirks"
|
||||
@ -15170,10 +15166,6 @@
|
||||
"description": "DME1737 sensors",
|
||||
"depends": "hwmon-vid"
|
||||
},
|
||||
"drivetemp": {
|
||||
"description": "Hard drive temperature monitor (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"drm": {
|
||||
"description": "DRM shared core routines",
|
||||
"depends": "dmabuf,drm_mipi_dsi,i915-compat,drm_panel_orientation_quirks"
|
||||
@ -19133,10 +19125,6 @@
|
||||
"description": "DME1737 sensors",
|
||||
"depends": "hwmon-vid"
|
||||
},
|
||||
"drivetemp": {
|
||||
"description": "Hard drive temperature monitor (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"drm": {
|
||||
"description": "DRM panel infrastructure",
|
||||
"depends": "dmabuf,drm_panel_orientation_quirks"
|
||||
@ -25167,10 +25155,6 @@
|
||||
"description": "DME1737 sensors",
|
||||
"depends": "hwmon-vid"
|
||||
},
|
||||
"drivetemp": {
|
||||
"description": "Hard drive temperature monitor (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"drm": {
|
||||
"description": "DRM shared core routines",
|
||||
"depends": "dmabuf,drm_mipi_dsi,i915-compat,drm_panel_orientation_quirks"
|
||||
@ -29077,10 +29061,6 @@
|
||||
"description": "DME1737 sensors",
|
||||
"depends": "hwmon-vid"
|
||||
},
|
||||
"drivetemp": {
|
||||
"description": "Hard drive temperature monitor (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"drm": {
|
||||
"description": "DRM shared core routines",
|
||||
"depends": "dmabuf,drm_mipi_dsi,i915-compat,drm_panel_orientation_quirks"
|
||||
|
Binary file not shown.
138
docs/pats.json
138
docs/pats.json
@ -1,40 +1,4 @@
|
||||
{
|
||||
"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",
|
||||
@ -53,12 +17,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"
|
||||
}
|
||||
},
|
||||
"DS1019+": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1019%2B_72806.pat",
|
||||
@ -129,6 +87,12 @@
|
||||
"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",
|
||||
@ -251,6 +215,12 @@
|
||||
"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",
|
||||
@ -287,6 +257,12 @@
|
||||
"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",
|
||||
@ -435,6 +411,12 @@
|
||||
"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",
|
||||
@ -505,6 +487,12 @@
|
||||
"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",
|
||||
@ -549,6 +537,12 @@
|
||||
"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",
|
||||
@ -593,8 +587,58 @@
|
||||
"sum": "00000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"DVA3221": {},
|
||||
"FS2500": {},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"FS3400": {
|
||||
"7.2.2-72806-0": {
|
||||
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_FS3400_72806.pat",
|
||||
@ -883,6 +927,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"
|
||||
}
|
||||
},
|
||||
"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.
@ -433,7 +433,6 @@ else
|
||||
|
||||
_bootwait || exit 0
|
||||
|
||||
[ -n "$(cat "${ADD_TIPS_FILE}" 2>/dev/null)" ] && printf "$(TEXT "%s\n")" "$(cat "${ADD_TIPS_FILE}" 2>/dev/null)"
|
||||
printf "\033[1;37m%s\033[0m\n" "$(TEXT "Loading DSM kernel ...")"
|
||||
|
||||
DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")"
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
|
||||
RR_VERSION="25.9.1"
|
||||
RR_VERSION="25.8.0"
|
||||
RR_RELEASE=""
|
||||
RR_TITLE="RR v${RR_VERSION}"
|
||||
|
||||
@ -38,7 +38,6 @@ RR_RAMUSER_FILE="${PART3_PATH}/initrd-rru"
|
||||
MC_RAMDISK_FILE="${PART3_PATH}/microcode.img"
|
||||
MOD_ZIMAGE_FILE="${PART3_PATH}/zImage-dsm"
|
||||
MOD_RDGZ_FILE="${PART3_PATH}/initrd-dsm"
|
||||
ADD_TIPS_FILE="${PART3_PATH}/AddTips"
|
||||
|
||||
CKS_PATH="${PART3_PATH}/cks"
|
||||
LKMS_PATH="${PART3_PATH}/lkms"
|
||||
|
@ -86,7 +86,6 @@ 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}"
|
||||
@ -133,14 +132,13 @@ 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 loader disk does not support the current %s, only %s DoM is supported.")" "${BUS}" "${BUSLIST// /\/}")"
|
||||
die "$(printf "$(TEXT "The boot disk does not support the current %s, only %s DoM is supported.")" "${BUS}" "${BUSLIST// /\/}")"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -241,7 +239,6 @@ printf "\n"
|
||||
printf "$(TEXT "Call \033[1;32minit.sh\033[0m to re get init info\n")"
|
||||
printf "$(TEXT "Call \033[1;32mmenu.sh\033[0m to configure loader\n")"
|
||||
printf "\n"
|
||||
[ -n "$(cat "${ADD_TIPS_FILE}" 2>/dev/null)" ] && printf "$(TEXT "%s\n")" "$(cat "${ADD_TIPS_FILE}" 2>/dev/null)"
|
||||
printf "$(TEXT "User config is on \033[1;32m%s\033[0m\n")" "${USER_CONFIG_FILE}"
|
||||
printf "$(TEXT "HTTP: \033[1;34mhttp://%s:%d\033[0m\n")" "rr" "${HTTP:-7080}"
|
||||
printf "$(TEXT "DUFS: \033[1;34mhttp://%s:%d\033[0m\n")" "rr" "${DUFS:-7304}"
|
||||
|
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.download.synology.com" "global.synologydownload.com" "cndl.synology.cn")
|
||||
mirrors=("global.synologydownload.com" "global.download.synology.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 --http1.1 --connect-timeout 10 -w "%{http_code}" "${OLDPAT_URL}" -o "${OLDPAT_PATH}")
|
||||
STATUS=$(curl -kL --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.download.synology.com" "global.synologydownload.com" "cndl.synology.cn")
|
||||
mirrors=("global.synologydownload.com" "global.download.synology.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 --http1.1 --connect-timeout 10 "${PATURL}" | grep -i Content-Length | tail -n 1 | tr -d '\r\n' | awk '{print $2}')
|
||||
FILESIZE=$(curl -skLI --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 --http1.1 --connect-timeout 10 -w "%{http_code}" "${PATURL}" -o "${PAT_PATH}")
|
||||
STATUS=$(curl -kL --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,16 +1930,6 @@ 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,8 +19,6 @@ 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.9.1
|
||||
25.8.0
|
||||
|
@ -49,6 +49,8 @@ else
|
||||
font=${prefix}/fonts/unicode.pf2
|
||||
fi
|
||||
|
||||
terminal_output console
|
||||
|
||||
if loadfont ${font}; then
|
||||
set gfxmode=auto
|
||||
load_video
|
||||
@ -56,10 +58,9 @@ 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
|
||||
@ -74,9 +75,7 @@ background_image ${prefix}/logo.png
|
||||
|
||||
set RR_CMDLINE="earlyprintk earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 root=/dev/ram rootwait intremap=off amd_iommu_intr=legacy net.ifnames=0 panic=5 split_lock_detect=off pcie_aspm=off intel_pstate=disable amd_pstate=disable nox2apic nomodeset nowatchdog"
|
||||
|
||||
insmod part_gpt
|
||||
insmod lvm
|
||||
search --set=root --label "RR3" --no-floppy
|
||||
search --set=root --label "RR3"
|
||||
if [ -e /initrd-rru ]; then set RRU=/initrd-rru; fi
|
||||
if [ -e /microcode.img ]; then set MCI=/microcode.img; fi
|
||||
|
||||
|
21
guide.md
21
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
|
||||
# 关机
|
||||
@ -353,25 +353,6 @@
|
||||
# 开启 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