mirror of
https://github.com/RROrg/rr.git
synced 2025-08-25 05:57:34 +08:00
Compare commits
2 Commits
a3d6e0e570
...
4a3339de15
Author | SHA1 | Date | |
---|---|---|---|
|
4a3339de15 | ||
|
f53d019c04 |
BIN
docs/addons.xlsx
BIN
docs/addons.xlsx
Binary file not shown.
104
docs/models.json
104
docs/models.json
@ -5,7 +5,14 @@
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"DS1019+",
|
||||
"DS620slim",
|
||||
"DS218+",
|
||||
"DS418play",
|
||||
"DS718+",
|
||||
"DS918+"
|
||||
]
|
||||
},
|
||||
"broadwell": {
|
||||
"productvers": {
|
||||
@ -13,7 +20,17 @@
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"FS3400",
|
||||
"RS3618xs",
|
||||
"DS3617xs",
|
||||
"DS3617xsII",
|
||||
"FS2017",
|
||||
"RS18017xs+",
|
||||
"RS3617RPxs",
|
||||
"RS3617xs+",
|
||||
"RS4017xs+"
|
||||
]
|
||||
},
|
||||
"broadwellnk": {
|
||||
"productvers": {
|
||||
@ -21,7 +38,19 @@
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"DS1621xs+",
|
||||
"DS3622xs+",
|
||||
"FS3600",
|
||||
"RS1619xs+",
|
||||
"RS3621RPxs",
|
||||
"RS3621xs+",
|
||||
"RS4021xs+",
|
||||
"SA3400",
|
||||
"SA3600",
|
||||
"DS3018xs",
|
||||
"FS1018"
|
||||
]
|
||||
},
|
||||
"broadwellnkv2": {
|
||||
"productvers": {
|
||||
@ -29,7 +58,11 @@
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"FS3410",
|
||||
"SA3410",
|
||||
"SA3610"
|
||||
]
|
||||
},
|
||||
"broadwellntbap": {
|
||||
"productvers": {
|
||||
@ -37,7 +70,10 @@
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"SA3200D",
|
||||
"SA3400D"
|
||||
]
|
||||
},
|
||||
"denverton": {
|
||||
"productvers": {
|
||||
@ -45,7 +81,19 @@
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"DS1819+",
|
||||
"DS2419+",
|
||||
"DS2419+II",
|
||||
"DVA3219",
|
||||
"DVA3221",
|
||||
"RS820+",
|
||||
"RS820RP+",
|
||||
"DS1618+",
|
||||
"RS2418+",
|
||||
"RS2418RP+",
|
||||
"RS2818RP+"
|
||||
]
|
||||
},
|
||||
"geminilake": {
|
||||
"productvers": {
|
||||
@ -53,7 +101,16 @@
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"DS1520+",
|
||||
"DS220+",
|
||||
"DS224+",
|
||||
"DS420+",
|
||||
"DS423+",
|
||||
"DS720+",
|
||||
"DS920+",
|
||||
"DVA1622"
|
||||
]
|
||||
},
|
||||
"purley": {
|
||||
"productvers": {
|
||||
@ -61,7 +118,10 @@
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"FS6400",
|
||||
"HD6500"
|
||||
]
|
||||
},
|
||||
"r1000": {
|
||||
"productvers": {
|
||||
@ -69,7 +129,12 @@
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"DS1522+",
|
||||
"DS723+",
|
||||
"DS923+",
|
||||
"RS422+"
|
||||
]
|
||||
},
|
||||
"v1000": {
|
||||
"productvers": {
|
||||
@ -77,13 +142,30 @@
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"DS1621+",
|
||||
"DS1821+",
|
||||
"DS1823xs+",
|
||||
"DS2422+",
|
||||
"FS2500",
|
||||
"RS1221+",
|
||||
"RS1221RP+",
|
||||
"RS2421+",
|
||||
"RS2421RP+",
|
||||
"RS2423+",
|
||||
"RS2423RP+",
|
||||
"RS2821RP+",
|
||||
"RS822+",
|
||||
"RS822RP+"
|
||||
]
|
||||
},
|
||||
"epyc7002": {
|
||||
"productvers": {
|
||||
"7.1": "7.1-5.10.55",
|
||||
"7.2": "7.2-5.10.55"
|
||||
},
|
||||
"models": []
|
||||
"models": [
|
||||
"SA6400"
|
||||
]
|
||||
}
|
||||
}
|
BIN
docs/models.xlsx
BIN
docs/models.xlsx
Binary file not shown.
Binary file not shown.
2085
docs/pats.json
2085
docs/pats.json
File diff suppressed because it is too large
Load Diff
BIN
docs/pats.xlsx
BIN
docs/pats.xlsx
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
import os, sys, glob, json, yaml, click, shutil, tarfile, kmodule, requests, urllib3
|
||||
import os, re, sys, glob, json, yaml, click, shutil, tarfile, kmodule, requests, urllib3
|
||||
from requests.adapters import HTTPAdapter
|
||||
from requests.packages.urllib3.util.retry import Retry # type: ignore
|
||||
from openpyxl import Workbook
|
||||
@ -44,24 +44,28 @@ def getmodels(workpath, jsonpath, xlsxpath):
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
try:
|
||||
req = session.get("https://autoupdate.synology.com/os/v2", timeout=10, verify=False)
|
||||
url = "http://update7.synology.com/autoupdate/genRSS.php?include_beta=1"
|
||||
#url = "https://update7.synology.com/autoupdate/genRSS.php?include_beta=1"
|
||||
|
||||
req = session.get(url, timeout=10, verify=False)
|
||||
req.encoding = "utf-8"
|
||||
data = json.loads(req.text)
|
||||
p = re.compile(r"<mUnique>(.*?)</mUnique>.*?<mLink>(.*?)</mLink>", re.MULTILINE | re.DOTALL)
|
||||
|
||||
data = p.findall(req.text)
|
||||
except Exception as e:
|
||||
click.echo(f"Error: {e}")
|
||||
return
|
||||
|
||||
for item in data["channel"]["item"]:
|
||||
if not item["title"].startswith("DSM"):
|
||||
for item in data:
|
||||
if not "DSM" in item[1]:
|
||||
continue
|
||||
for model in item["model"]:
|
||||
arch = model["mUnique"].split("_")[1].lower()
|
||||
name = model["mLink"].split("/")[-1].split("_")[1].replace("%2B", "+")
|
||||
if arch not in models:
|
||||
continue
|
||||
if name in (A for B in models for A in models[B]["models"]):
|
||||
continue
|
||||
models[arch]["models"].append(name)
|
||||
arch = item[0].split("_")[1]
|
||||
name = item[1].split("/")[-1].split("_")[1].replace("%2B", "+")
|
||||
if arch not in models:
|
||||
continue
|
||||
if name in (A for B in models for A in models[B]["models"]):
|
||||
continue
|
||||
models[arch]["models"].append(name)
|
||||
|
||||
if jsonpath:
|
||||
with open(jsonpath, "w") as f:
|
||||
@ -99,25 +103,28 @@ def getpats(workpath, jsonpath, xlsxpath):
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
try:
|
||||
req = session.get("https://autoupdate.synology.com/os/v2", timeout=10, verify=False)
|
||||
url = "http://update7.synology.com/autoupdate/genRSS.php?include_beta=1"
|
||||
#url = "https://update7.synology.com/autoupdate/genRSS.php?include_beta=1"
|
||||
|
||||
req = session.get(url, timeout=10, verify=False)
|
||||
req.encoding = "utf-8"
|
||||
data = json.loads(req.text)
|
||||
p = re.compile(r"<mUnique>(.*?)</mUnique>.*?<mLink>(.*?)</mLink>", re.MULTILINE | re.DOTALL)
|
||||
data = p.findall(req.text)
|
||||
except Exception as e:
|
||||
click.echo(f"Error: {e}")
|
||||
return
|
||||
|
||||
models = []
|
||||
for item in data["channel"]["item"]:
|
||||
if not item["title"].startswith("DSM"):
|
||||
for item in data:
|
||||
if not "DSM" in item[1]:
|
||||
continue
|
||||
for model in item["model"]:
|
||||
arch = model["mUnique"].split("_")[1].lower()
|
||||
name = model["mLink"].split("/")[-1].split("_")[1].replace("%2B", "+")
|
||||
if arch not in platforms:
|
||||
continue
|
||||
if name in models:
|
||||
continue
|
||||
models.append(name)
|
||||
arch = item[0].split("_")[1]
|
||||
name = item[1].split("/")[-1].split("_")[1].replace("%2B", "+")
|
||||
if arch not in platforms:
|
||||
continue
|
||||
if name in models:
|
||||
continue
|
||||
models.append(name)
|
||||
|
||||
pats = {}
|
||||
for M in models:
|
||||
|
Loading…
x
Reference in New Issue
Block a user