Compare commits

..

No commits in common. "main" and "25.6.3" have entirely different histories.
main ... 25.6.3

39 changed files with 4247 additions and 5476 deletions

View File

@ -29,9 +29,7 @@ jobs:
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import json, subprocess import json, subprocess
def set_output(name, value): def set_output(name, value):
subprocess.call(f'echo "{name}<<EOF" >> $GITHUB_ENV', shell=True) subprocess.call(["echo '{}={}' >> $GITHUB_ENV".format(name, value)], 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) }} issuetitle = ${{ toJSON(github.event.issue.title) }}
issuebody = ${{ toJSON(github.event.issue.body) }} issuebody = ${{ toJSON(github.event.issue.body) }}
@ -45,7 +43,6 @@ jobs:
language= '' language= ''
sn = '' sn = ''
macs = '' macs = ''
tips = ''
model = '' model = ''
version = '' version = ''
kernel = '' kernel = ''
@ -61,7 +58,6 @@ jobs:
language = jsonbody.get('language', '') language = jsonbody.get('language', '')
sn = jsonbody.get('sn', '') sn = jsonbody.get('sn', '')
macs = jsonbody.get('macs', '') macs = jsonbody.get('macs', '')
tips = jsonbody.get('tips', '')
model = jsonbody.get('model', '') model = jsonbody.get('model', '')
version = jsonbody.get('version', '') version = jsonbody.get('version', '')
kernel = jsonbody.get('kernel', '') kernel = jsonbody.get('kernel', '')
@ -83,7 +79,6 @@ jobs:
set_output("language", language) set_output("language", language)
set_output("sn", sn) set_output("sn", sn)
set_output("macs", macs) set_output("macs", macs)
set_output("tips", tips)
set_output("model", model) set_output("model", model)
set_output("version", version) set_output("version", version)
set_output("kernel", kernel) set_output("kernel", kernel)
@ -253,7 +248,7 @@ jobs:
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml" USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
writeConfigKey "sn" "${{ env.sn }}" "${USER_CONFIG_FILE}" writeConfigKey "sn" "${{ env.sn }}" "${USER_CONFIG_FILE}"
fi fi
if [ -n "${{ env.macs }}" ]; then if [ -n "${{ env.macs }}" ]; then
echo "set macs: ${{ env.macs }}" echo "set macs: ${{ env.macs }}"
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml" USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
@ -262,11 +257,6 @@ jobs:
writeConfigKey "mac2" "${MACS[1]}" "${USER_CONFIG_FILE}" writeConfigKey "mac2" "${MACS[1]}" "${USER_CONFIG_FILE}"
fi 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 if [ -n "${{ env.addons }}" ]; then
echo "set addons: ${{ env.addons }}" echo "set addons: ${{ env.addons }}"
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml" USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
@ -425,6 +415,14 @@ jobs:
---- ----
emoji: hooray 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 - name: Update Comment Fail
if: env.iscustom == 'true' && failure() if: env.iscustom == 'true' && failure()
uses: actions-cool/issues-helper@v3 uses: actions-cool/issues-helper@v3
@ -439,11 +437,3 @@ jobs:
> ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} > ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
---- ----
emoji: confused 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 }}

View File

@ -1 +1 @@
25.9.2 25.6.3

View File

@ -142,21 +142,21 @@
"cpuinfo": { "cpuinfo": {
"system": false, "system": false,
"description": { "description": {
"en_US": "Display CPU/GPU/Temperature information in the control panel. (Option -s shows static information)", "en_US": "Only make the control panel display the correct CPU information. (By default is automatically obtained, Or customized through parameters, e.g.: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ar_SA": "عرض معلومات وحدة المعالجة المركزية / وحدة معالجة الرسومات / درجة الحرارة في لوحة التحكم. (خيار -s يظهر معلومات ثابتة)", "ar_SA": "فقط جعل لوحة التحكم تعرض معلومات الـ CPU الصحيحة. (بشكل افتراضي يتم الحصول عليها تلقائيًا, أو تخصيصها من خلال المعلمات, على سبيل المثال: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"de_DE": "Zeigt CPU/GPU/Temperaturinformationen im Bedienfeld an. (Option -s zeigt statische Informationen)", "de_DE": "Nur die CPU-Informationen anzeigen, die richtig sind. (Standardmäßig werden diese automatisch ermittelt, oder sie können über die Parameter angepasst werden, z. B.: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"es_ES": "Mostrar información de CPU/GPU/Temperatura en el panel de control. (L'option -s affiche des informations statiques))", "es_ES": "Hacer que el panel de control muestre la información correcta de la CPU. (Por defecto se obtiene automáticamente, o se personaliza a través de parámetros, por ejemplo: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"fr_FR": "Afficher les informations CPU/GPU/Température dans le panneau de configuration. (L'option -s affiche des informations statiques)))", "fr_FR": "Faites en sorte que le panneau de contrôle affiche les informations correctes du processeur. (Par défaut, elles sont obtenues automatiquement, ou personnalisées via des paramètres, par exemple: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ja_JP": "コントロールパネルにCPU/GPU/温度情報を表示します。 (パラメータ -s は静的な情報を表示します)", "ja_JP": "コントロールパネルに正しいCPU情報のみを表示します. (デフォルトでは自動的に取得されます. またはパラメータを使用してカスタマイズできます. 例: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ko_KR": "제어판에 CPU/GPU/온도 정보를 표시합니다. (옵션 -s는 정적 정보를 표시합니다)", "ko_KR": "컨트롤 패널이 올바른 CPU 정보만 표시되도록합니다. (기본적으로 자동으로 가져오거나 매개 변수를 통해 사용자 정의 할 수 있습니다. 예: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ru_RU": "Показать информацию о процессоре/GPU/температуре в панели управления. (Опция -s показывает статическую информацию)", "ru_RU": "Только панель управления отображает правильную информацию о процессоре. (По умолчанию она автоматически получается, или настраивается через параметры, например: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"th_TH": "แสดงข้อมูล CPU/GPU/อุณหภูมิในแผงควบคุม. (ตัวเลือก -s แสดงข้อมูลที่ไม่เปลี่ยนแปลง)", "th_TH": "ทำให้หน้าจอควบคุมแสดงข้อมูล CPU ที่ถูกต้องเท่านั้น (โดยค่าเริ่มต้นจะได้รับโดยอัตโนมัติ หรือปรับแต่งผ่านพารามิเตอร์ เช่น: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"tr_TR": "Kontrol panelinde CPU/GPU/Sıcaklık bilgilerini görüntüler. (Seçenek -s statik bilgileri gösterir)", "tr_TR": "Yalnızca kontrol panelinin doğru CPU bilgilerini göstermesini sağlayın. (Varsayılan olarak otomatik olarak alınır veya parametreler aracılığıyla özelleştirilir, örneğin: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"uk_UA": "Показати інформацію про процесор/GPU/температуру в панелі керування. (Опция -s показывает статическую информацию)", "uk_UA": "Тільки зробіть панель керування відображення правильної інформації про процесор. (За замовчуванням вона автоматично отримується, або налаштовується через параметри, наприклад: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"vi_VN": "Hiển thị thông tin CPU/GPU/Nhiệt độ trong bảng điều khiển. (Tùy chọn -s hiển thị thông tin tĩnh)", "vi_VN": "Chỉ khiến bảng điều khiển hiển thị thông tin CPU chính xác. (Mặc định được tự động lấy, hoặc tùy chỉnh thông qua các tham số, ví dụ: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"zh_CN": "只让控制面板显示正确的CPU/GPU/温度等信息. (参数 -s 显示静态信息)", "zh_CN": "只让控制面板显示正确的CPU信息. (默认是自动获取的, 或通过参数自定义, 例如: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"zh_HK": "只讓控制面板顯示正確的CPU/GPU/溫度等信息. (参数 -s 顯示靜態信息)", "zh_HK": "只讓控制面板顯示正確的CPU信息. (默認是自動獲取的, 或通過參數自定義, 例如: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"zh_TW": "只讓控制面板顯示正確的CPU/GPU/温度等信息. (参数 -s 顯示靜態信息)" "zh_TW": "只讓控制面板顯示正確的CPU信息. (默認是自動獲取的, 或通過參數自定義, 例如: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)"
} }
}, },
"dbgutils": { "dbgutils": {
@ -359,26 +359,6 @@
"zh_TW": "雜項功能. (一些必要的修改的集合.)" "zh_TW": "雜項功能. (一些必要的修改的集合.)"
} }
}, },
"monitor": {
"system": false,
"description": {
"en_US": "Monitor Power Management (Only supports graphics card drivers).",
"ar_SA": "إدارة الطاقة للمراقبة(يدعم فقط برامج تشغيل بطاقة الرسومات).",
"de_DE": "Überwachung der Energieverwaltung (nur unterstützt Graphikkartendrivers).",
"es_ES": "Monitoreo de la gestión de energía (solo admite controladores de tarjeta gráfica).",
"fr_FR": "Surveillance de la gestion de l'alimentation (seulement les pilotes de carte graphique sont pris en charge).",
"ja_JP": "電源管理の監視 (グラフィックスカードドライバーのみサポート)。",
"ko_KR": "모니터 전원 관리 (그래픽 카드 드라이버만 지원)。",
"ru_RU": "Мониторинг управления питанием (только поддерживает драйверы графических карт).",
"th_TH": "การตรวจสอบการบริหารจัดการพลังงาน (แค่สนับสนุนไดรเวอร์การทำงานของการ์ดราฟิก).",
"tr_TR": "Monitör Güç Yönetimi (grafik kart sürücüsü destekliyor).",
"uk_UA": "Моніторинг управління живленням (тільки підтримує драйвери графічних карток).",
"vi_VN": "Quản lý nguồn điện (chỉ hỗ trợ các driver của card đồ họa).",
"zh_CN": "显示器电源管理 (仅支持显卡已驱动的环境)。",
"zh_HK": "顯示器電源管理 (僅支持显卡已驅動的环境)。",
"zh_TW": "顯示器電源管理 (僅支持显卡已驅動的环境)。"
}
},
"mountloader": { "mountloader": {
"system": false, "system": false,
"description": { "description": {

Binary file not shown.

View File

@ -29,23 +29,6 @@
.textarea-style { .textarea-style {
width: 100%; 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> </style>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js"></script> <script src="https://polyfill.io/v3/polyfill.min.js"></script>
@ -107,11 +90,9 @@
if (debug) { if (debug) {
$('#sn_item').show(); $('#sn_item').show();
$('#macs_item').show(); $('#macs_item').show();
$('#tips_item').show();
} else { } else {
$('#sn_item').hide(); $('#sn_item').hide();
$('#macs_item').hide(); $('#macs_item').hide();
$('#tips_item').hide();
} }
setModels(); setModels();
}); });
@ -281,7 +262,7 @@
var body = {}; var body = {};
var _parameters = ["title", "format", "size", "template", "language", "model", "version", "kernel", "addons", "modules"]; var _parameters = ["title", "format", "size", "template", "language", "model", "version", "kernel", "addons", "modules"];
if (debug) { if (debug) {
_parameters.push("sn", "macs", "tips"); _parameters.push("sn", "macs");
} }
for (var key in _parameters) { for (var key in _parameters) {
var name = _parameters[key]; var name = _parameters[key];
@ -328,22 +309,29 @@
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
</pre> </pre>
<div class="shields" id="labels"> <div class="image" id="products" style="height: 50px; margin-left: 200px;">
<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">
<img src="https://www.synology.cn/img/products/detail/SA6400/heading.png" width="20%"> <img src="https://www.synology.cn/img/products/detail/SA6400/heading.png" width="20%">
</div> </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 mt-1 mb-2" id="title_item">
<div class="form-group-header"> <div class="form-group-header">
<label class="color-fg-default text-mono f6">Title: (Please do not delete the "custom " in the title of <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> <input class="form-control input-contrast input-sm" type="text" id="macs" name="inputs[macs]" value=""></input>
</div> </div>
</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 mt-1 mb-2" id="model_item">
<div class="form-group-header"> <div class="form-group-header">
<label class="color-fg-default text-mono f6">Model:</label> <label class="color-fg-default text-mono f6">Model:</label>

View File

@ -174,7 +174,6 @@
"7.2": "7.2-5.10.55" "7.2": "7.2-5.10.55"
}, },
"models": [ "models": [
"DS225+",
"DS425+" "DS425+"
] ]
}, },

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -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": { "HD6500": {
"7.2.2-72806-0": { "7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_HD6500_72806.pat", "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_HD6500_72806.pat",
@ -53,12 +17,6 @@
"sum": "00000000000000000000000000000000" "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+": { "DS1019+": {
"7.2.2-72806-0": { "7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1019%2B_72806.pat", "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1019%2B_72806.pat",
@ -129,6 +87,12 @@
"sum": "00000000000000000000000000000000" "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+": { "DS1621+": {
"7.2.2-72806-0": { "7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1621%2B_72806.pat", "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1621%2B_72806.pat",
@ -251,6 +215,12 @@
"sum": "00000000000000000000000000000000" "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+": { "DS220+": {
"7.2.2-72806-0": { "7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS220%2B_72806.pat", "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS220%2B_72806.pat",
@ -435,6 +405,12 @@
"sum": "00000000000000000000000000000000" "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": { "DS620slim": {
"7.2.2-72806-0": { "7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS620slim_72806.pat", "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS620slim_72806.pat",
@ -505,6 +481,12 @@
"sum": "00000000000000000000000000000000" "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+": { "DS920+": {
"7.2.2-72806-0": { "7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS920%2B_72806.pat", "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS920%2B_72806.pat",
@ -549,6 +531,12 @@
"sum": "00000000000000000000000000000000" "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": { "DVA1622": {
"7.2.2-72806-0": { "7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DVA1622_72806.pat", "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DVA1622_72806.pat",
@ -933,6 +921,12 @@
"sum": "00000000000000000000000000000000" "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": { "RS3618xs": {
"7.2.2-72806-0": { "7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_RS3618xs_72806.pat", "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_RS3618xs_72806.pat",

Binary file not shown.

View File

@ -433,7 +433,6 @@ else
_bootwait || exit 0 _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 ...")" printf "\033[1;37m%s\033[0m\n" "$(TEXT "Loading DSM kernel ...")"
DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")" DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")"

Binary file not shown.

View File

@ -8,7 +8,7 @@
# shellcheck disable=SC2034 # shellcheck disable=SC2034
RR_VERSION="25.9.2" RR_VERSION="25.6.3"
RR_RELEASE="" RR_RELEASE=""
RR_TITLE="RR v${RR_VERSION}" RR_TITLE="RR v${RR_VERSION}"
@ -38,7 +38,6 @@ RR_RAMUSER_FILE="${PART3_PATH}/initrd-rru"
MC_RAMDISK_FILE="${PART3_PATH}/microcode.img" MC_RAMDISK_FILE="${PART3_PATH}/microcode.img"
MOD_ZIMAGE_FILE="${PART3_PATH}/zImage-dsm" MOD_ZIMAGE_FILE="${PART3_PATH}/zImage-dsm"
MOD_RDGZ_FILE="${PART3_PATH}/initrd-dsm" MOD_RDGZ_FILE="${PART3_PATH}/initrd-dsm"
ADD_TIPS_FILE="${PART3_PATH}/AddTips"
CKS_PATH="${PART3_PATH}/cks" CKS_PATH="${PART3_PATH}/cks"
LKMS_PATH="${PART3_PATH}/lkms" LKMS_PATH="${PART3_PATH}/lkms"

View File

@ -303,11 +303,11 @@ function getBus() {
function getIP() { function getIP() {
local IP="" local IP=""
if [ -n "${1}" ] && [ -d "/sys/class/net/${1}" ]; then if [ -n "${1}" ] && [ -d "/sys/class/net/${1}" ]; then
IP=$(ip addr show "${1}" scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -d'/' -f1 | head -1) IP=$(ip route show dev "${1}" 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p' | head -1)
[ -z "${IP}" ] && IP=$(ip route show dev "${1}" 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p' | head -1) [ -z "${IP}" ] && IP=$(ip addr show "${1}" scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -d'/' -f1 | head -1)
else else
IP=$(ip addr show scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -d'/' -f1 | head -1) IP=$(ip route show 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p' | head -1)
[ -z "${IP}" ] && IP=$(ip route show 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p' | head -1) [ -z "${IP}" ] && IP=$(ip addr show scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -d'/' -f1 | head -1)
fi fi
echo "${IP}" echo "${IP}"
return 0 return 0

View File

@ -86,7 +86,6 @@ if [ -z "$(readConfigMap "addons" "${USER_CONFIG_FILE}")" ]; then
initConfigKey "addons.acpid" "" "${USER_CONFIG_FILE}" initConfigKey "addons.acpid" "" "${USER_CONFIG_FILE}"
initConfigKey "addons.trivial" "" "${USER_CONFIG_FILE}" initConfigKey "addons.trivial" "" "${USER_CONFIG_FILE}"
initConfigKey "addons.vmtools" "" "${USER_CONFIG_FILE}" initConfigKey "addons.vmtools" "" "${USER_CONFIG_FILE}"
initConfigKey "addons.monitor" "" "${USER_CONFIG_FILE}"
initConfigKey "addons.mountloader" "" "${USER_CONFIG_FILE}" initConfigKey "addons.mountloader" "" "${USER_CONFIG_FILE}"
initConfigKey "addons.powersched" "" "${USER_CONFIG_FILE}" initConfigKey "addons.powersched" "" "${USER_CONFIG_FILE}"
initConfigKey "addons.reboottoloader" "" "${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 if [ "${BUS}" = "usb" ]; then
VID="0x$(udevadm info --query property --name "${LOADER_DISK}" 2>/dev/null | grep "ID_VENDOR_ID" | cut -d= -f2)" 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)" 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" TYPE="flashdisk"
elif ! echo "${BUSLIST}" | grep -wq "${BUS}"; then elif ! echo "${BUSLIST}" | grep -wq "${BUS}"; then
if [ "LOCALBUILD" = "${LOADER_DISK}" ]; then if [ "LOCALBUILD" = "${LOADER_DISK}" ]; then
echo "LOCALBUILD MODE" echo "LOCALBUILD MODE"
TYPE="PC" TYPE="PC"
else 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
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;32minit.sh\033[0m to re get init info\n")"
printf "$(TEXT "Call \033[1;32mmenu.sh\033[0m to configure loader\n")" printf "$(TEXT "Call \033[1;32mmenu.sh\033[0m to configure loader\n")"
printf "\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 "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 "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}" 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

View File

@ -326,7 +326,7 @@ function productversMenu() {
fi fi
if [ -z "${1}" ]; then if [ -z "${1}" ]; then
MSG="" MSG=""
MSG+="$(TEXT "Please confirm or modify the URL and md5sum to you need (32 '0's will skip the md5 check).")" MSG+="$(TEXT "Please confirm or modify the URL and md5sum to you need.")"
if [ ! "${selver}" = "${urlver}" ]; then if [ ! "${selver}" = "${urlver}" ]; then
MSG+="$(printf "$(TEXT "Note: There is no version %s and automatically returns to version %s.")" "${selver}" "${urlver}")" MSG+="$(printf "$(TEXT "Note: There is no version %s and automatically returns to version %s.")" "${selver}" "${urlver}")"
selver=${urlver} selver=${urlver}
@ -1225,7 +1225,7 @@ function synoinfoMenu() {
# Extract linux and ramdisk files from the DSM .pat # Extract linux and ramdisk files from the DSM .pat
function getSynoExtractor() { function getSynoExtractor() {
rm -f "${LOG_FILE}" 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[@]}") fastest=$(_get_fastest "${mirrors[@]}")
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo -e "$(TEXT "The current network status is unknown, using the default mirror.")" 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...")" echo "$(TEXT "Downloading old pat to extract synology .pat extractor...")"
rm -f "${OLDPAT_PATH}" 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=$? RET=$?
if [ ${RET} -ne 0 ] || [ ${STATUS:-0} -ne 200 ]; then if [ ${RET} -ne 0 ] || [ ${STATUS:-0} -ne 200 ]; then
rm -f "${OLDPAT_PATH}" rm -f "${OLDPAT_PATH}"
@ -1368,7 +1368,7 @@ function extractDsmFiles() {
CLEARCACHE=0 CLEARCACHE=0
fi fi
mkdir -p "${PART3_PATH}/dl" 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[@]}") fastest=$(_get_fastest "${mirrors[@]}")
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo -e "$(TEXT "The current network status is unknown, using the default mirror.")" echo -e "$(TEXT "The current network status is unknown, using the default mirror.")"
@ -1382,13 +1382,13 @@ function extractDsmFiles() {
# Check disk space left # Check disk space left
SPACELEFT=$(df --block-size=1 "${PART3_PATH}" 2>/dev/null | awk 'NR==2 {print $4}') SPACELEFT=$(df --block-size=1 "${PART3_PATH}" 2>/dev/null | awk 'NR==2 {print $4}')
# Discover remote file size # 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 if [ ${FILESIZE:-0} -ge ${SPACELEFT:-0} ]; then
# No disk space to download, change it to RAMDISK # No disk space to download, change it to RAMDISK
PAT_PATH="${TMP_PATH}/${PAT_FILE}" PAT_PATH="${TMP_PATH}/${PAT_FILE}"
fi fi
touch "${PAT_PATH}.downloading" 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=$? RET=$?
rm -f "${PAT_PATH}.downloading" rm -f "${PAT_PATH}.downloading"
if [ ${RET} -ne 0 ] || [ ${STATUS:-0} -ne 200 ]; then 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 "/^${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|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 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 sync
echo "true" >"${TMP_PATH}/isOk" echo "true" >"${TMP_PATH}/isOk"
umount "${TMP_PATH}/mdX" umount "${TMP_PATH}/mdX"
@ -2138,7 +2128,7 @@ function initDSMNetwork {
for F in ${TMP_PATH}/mdX/etc/sysconfig/network-scripts/ifcfg-* ${TMP_PATH}/mdX/etc.defaults/sysconfig/network-scripts/ifcfg-*; do for F in ${TMP_PATH}/mdX/etc/sysconfig/network-scripts/ifcfg-* ${TMP_PATH}/mdX/etc.defaults/sysconfig/network-scripts/ifcfg-*; do
[ ! -e "${F}" ] && continue [ ! -e "${F}" ] && continue
echo "${F}" | grep -Eq "\-lo$|\-tun$|\-eth99$" && continue echo "${F}" | grep -Eq "\-lo$|\-tun$|\-eth99$" && continue
sed -i "s|^BOOTPROTO=.*|BOOTPROTO=dhcp|; s|^ONBOOT=.*|ONBOOT=yes|; s|^IPV6INIT=.*|IPV6INIT=auto_dhcp|; /^IPADDR/d; /NETMASK/d; /GATEWAY/d; /DNS1/d; /DNS2/d" "${F}" sed -i "s|^BOOTPROTO=.*|BOOTPROTO=dhcp|; s|^ONBOOT=.*|ONBOOT=yes|; s|^IPV6INIT=.*|IPV6INIT=dhcp|; /^IPADDR/d; /NETMASK/d; /GATEWAY/d; /DNS1/d; /DNS2/d" "${F}"
done done
sed -i 's/_mtu=".*"$/_mtu="1500"/g' ${TMP_PATH}/mdX/etc/synoinfo.conf ${TMP_PATH}/mdX/etc.defaults/synoinfo.conf sed -i 's/_mtu=".*"$/_mtu="1500"/g' ${TMP_PATH}/mdX/etc/synoinfo.conf ${TMP_PATH}/mdX/etc.defaults/synoinfo.conf
# systemctl restart rc-network.service # systemctl restart rc-network.service

View File

@ -19,8 +19,6 @@ N acpi_call.ko
N check_signature.ko N check_signature.ko
N rfkill.ko N rfkill.ko
N rfkill-gpio.ko N rfkill-gpio.ko
N scsi_debug.ko
N drivetemp.ko
# sensors # sensors
N coretemp.ko N coretemp.ko

View File

@ -229,7 +229,7 @@ done
# Network card configuration file # Network card configuration file
for N in $(seq 0 7); do for N in $(seq 0 7); do
echo -e "DEVICE=eth${N}\nBOOTPROTO=dhcp\nONBOOT=yes\nIPV6INIT=auto_dhcp\nIPV6_ACCEPT_RA=1" >"${RAMDISK_PATH}/etc/sysconfig/network-scripts/ifcfg-eth${N}" echo -e "DEVICE=eth${N}\nBOOTPROTO=dhcp\nONBOOT=yes\nIPV6INIT=dhcp\nIPV6_ACCEPT_RA=1" >"${RAMDISK_PATH}/etc/sysconfig/network-scripts/ifcfg-eth${N}"
done done
# issues/313 # issues/313

View File

@ -72,13 +72,6 @@
- "TRR" - "TRR"
suffix: "alpha" suffix: "alpha"
macpre: 9009d0 macpre: 9009d0
"DS1525+":
prefix:
- "2540"
middle:
- "YJR"
suffix: "alpha"
macpre: 9009d0
"DS1621+": "DS1621+":
prefix: prefix:
- "2080" - "2080"

View File

@ -1 +1 @@
25.9.2 25.6.3

View File

@ -72,11 +72,13 @@ set menu_color_highlight=black/cyan
insmod png insmod png
background_image ${prefix}/logo.png background_image ${prefix}/logo.png
function gfxmode {
set gfxpayload="${linux_gfx_mode}"
}
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" 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 search --set=root --label "RR3"
insmod lvm
search --set=root --label "RR3" --no-floppy
if [ -e /initrd-rru ]; then set RRU=/initrd-rru; fi if [ -e /initrd-rru ]; then set RRU=/initrd-rru; fi
if [ -e /microcode.img ]; then set MCI=/microcode.img; fi if [ -e /microcode.img ]; then set MCI=/microcode.img; fi
@ -87,7 +89,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
load_env --skip-sig --file=${prefix}/rsysenv load_env --skip-sig --file=${prefix}/rsysenv
fi fi
menuentry 'Boot DSM kernel directly' ${menuentry_id_option} direct { menuentry 'Boot DSM kernel directly' ${menuentry_id_option} direct {
set gfxpayload="${linux_gfx_mode}" gfxmode
echo "RRVersion: ${rr_version}" echo "RRVersion: ${rr_version}"
echo "${rr_booting}" echo "${rr_booting}"
echo -n "Boot Time: "; date echo -n "Boot Time: "; date
@ -112,7 +114,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
} }
fi fi
menuentry 'Boot DSM' ${menuentry_id_option} boot { menuentry 'Boot DSM' ${menuentry_id_option} boot {
set gfxpayload="${linux_gfx_mode}" gfxmode
echo "Loading kernel..." echo "Loading kernel..."
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline}
echo "Loading initramfs..." echo "Loading initramfs..."
@ -120,7 +122,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
echo "Booting..." echo "Booting..."
} }
menuentry 'Boot Recovery' ${menuentry_id_option} recovery { menuentry 'Boot Recovery' ${menuentry_id_option} recovery {
set gfxpayload="${linux_gfx_mode}" gfxmode
echo "Loading kernel..." echo "Loading kernel..."
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} recovery linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} recovery
echo "Loading initramfs..." echo "Loading initramfs..."
@ -128,7 +130,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
echo "Booting..." echo "Booting..."
} }
menuentry 'Force re-install DSM' ${menuentry_id_option} junior { menuentry 'Force re-install DSM' ${menuentry_id_option} junior {
set gfxpayload="${linux_gfx_mode}" gfxmode
echo "Loading kernel..." echo "Loading kernel..."
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} force_junior linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} force_junior
echo "Loading initramfs..." echo "Loading initramfs..."
@ -138,7 +140,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
fi fi
menuentry 'Configure loader' ${menuentry_id_option} config { menuentry 'Configure loader' ${menuentry_id_option} config {
set gfxpayload="${linux_gfx_mode}" gfxmode
echo "Loading kernel..." echo "Loading kernel..."
linux /bzImage-rr earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 ${RR_CMDLINE} ${rr_cmdline} IWANTTOCHANGETHECONFIG linux /bzImage-rr earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 ${RR_CMDLINE} ${rr_cmdline} IWANTTOCHANGETHECONFIG
echo "Loading initramfs..." echo "Loading initramfs..."
@ -147,7 +149,7 @@ menuentry 'Configure loader' ${menuentry_id_option} config {
} }
menuentry 'Configure loader (verbose)' ${menuentry_id_option} verbose { menuentry 'Configure loader (verbose)' ${menuentry_id_option} verbose {
set gfxpayload="${linux_gfx_mode}" gfxmode
echo "Loading kernel..." echo "Loading kernel..."
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} earlycon=tty2 console=tty2 IWANTTOCHANGETHECONFIG linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} earlycon=tty2 console=tty2 IWANTTOCHANGETHECONFIG
echo "Loading initramfs..." echo "Loading initramfs..."

View File

@ -186,14 +186,9 @@
lsblk # 查看磁盘设备 lsblk # 查看磁盘设备
lspci -Qnnk # 查看 PCI 设备 lspci -Qnnk # 查看 PCI 设备
# 网卡 # 驱动相关
ls -ld /sys/class/net/*/device/driver # 查看已加载网卡和对应驱动 ls -ld /sys/class/net/*/device/driver # 查看已加载网卡和对应驱动
cat /sys/class/net/*/address # 查看已加载网卡的 MAC 地址 cat /sys/class/net/*/address # 查看已加载网卡的 MAC 地址
ethtool -i eth0 # 查看网卡驱动信息
ethtool -s eth0 wol g # 配置网卡进入低功耗模式
ethtool -s eth0 autoneg on # 开启网卡自动协商
ethtool -s eth0 speed 1000 # 设置网卡速度为 1000 Mbps
ethtool -s eth0 duplex full # 设置网卡全双工
# 串口 # 串口
cat /proc/tty/drivers # 查看串口属性 cat /proc/tty/drivers # 查看串口属性
@ -340,7 +335,7 @@
# API # API
# 获取系统信息 # 获取系统信息
synowebapi --exec api=SYNO.Core.System method=info version=3 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 synowebapi --exec api=SYNO.Core.System.Utilization method=get version=1
# 关机 # 关机
@ -352,26 +347,7 @@
synowebapi --exec api=SYNO.Core.Web.DSM method=set version=2 enable_https_redirect=false synowebapi --exec api=SYNO.Core.Web.DSM method=set version=2 enable_https_redirect=false
# 开启 telnet/ssh # 开启 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.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 # Get MD5
certutil -hashfile xxx.pat MD5 # windows certutil -hashfile xxx.pat MD5 # windows
md5sum xxx.pat # linux/mac md5sum xxx.pat # linux/mac