diff --git a/docs/program-update.md b/docs/program-update.md
index 3be814206..3423f36b2 100644
--- a/docs/program-update.md
+++ b/docs/program-update.md
@@ -502,6 +502,12 @@ pageClass: routes
见 [#怪物猎人世界](/game.html#guai-wu-lie-ren-shi-jie)
+## 华硕
+
+### 固件
+
+
+
## 蒲公英应用分发
### app 更新
diff --git a/lib/v2/asus/bios.js b/lib/v2/asus/bios.js
new file mode 100644
index 000000000..bb343e551
--- /dev/null
+++ b/lib/v2/asus/bios.js
@@ -0,0 +1,38 @@
+const got = require('@/utils/got');
+const { parseDate } = require('@/utils/parse-date');
+const { art } = require('@/utils/render');
+const path = require('path');
+
+const getProductID = async (model) => {
+ const searchAPI = `https://odinapi.asus.com.cn/recent-data/apiv2/SearchSuggestion?SystemCode=asus&WebsiteCode=cn&SearchKey=${model}&SearchType=ProductsAll&RowLimit=4&sitelang=cn`;
+ const response = await got(searchAPI);
+
+ return {
+ productID: response.data.Result[0].Content[0].DataId,
+ url: response.data.Result[0].Content[0].Url,
+ };
+};
+
+module.exports = async (ctx) => {
+ const model = ctx.params.model;
+ const { productID, url } = await getProductID(model);
+ const biosAPI = `https://www.asus.com.cn/support/api/product.asmx/GetPDBIOS?website=cn&model=${model}&pdid=${productID}&sitelang=cn`;
+
+ const response = await got(biosAPI);
+ const biosList = response.data.Result.Obj[0].Files;
+
+ const items = biosList.map((item) => ({
+ title: item.Title,
+ description: art(path.join(__dirname, 'templates/bios.art'), {
+ item,
+ }),
+ pubDate: parseDate(item.ReleaseDate, 'YYYY/MM/DD'),
+ link: url,
+ }));
+
+ ctx.state.data = {
+ title: `${model} BIOS`,
+ link: url,
+ item: items,
+ };
+};
diff --git a/lib/v2/asus/maintainer.js b/lib/v2/asus/maintainer.js
new file mode 100644
index 000000000..45440b15a
--- /dev/null
+++ b/lib/v2/asus/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/bios/:model': ['Fatpandac'],
+};
diff --git a/lib/v2/asus/radar.js b/lib/v2/asus/radar.js
new file mode 100644
index 000000000..636df00ac
--- /dev/null
+++ b/lib/v2/asus/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'asus.com.cn': {
+ _name: 'Asus 华硕',
+ '.': [
+ {
+ title: '固件',
+ docs: 'https://docs.rsshub.app/program-update.html#hua-shuo',
+ source: ['/'],
+ target: '/bios/:model',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/asus/router.js b/lib/v2/asus/router.js
new file mode 100644
index 000000000..e95103000
--- /dev/null
+++ b/lib/v2/asus/router.js
@@ -0,0 +1,3 @@
+module.exports = function (router) {
+ router.get('/bios/:model', require('./bios'));
+};
diff --git a/lib/v2/asus/templates/bios.art b/lib/v2/asus/templates/bios.art
new file mode 100644
index 000000000..08bcee2ea
--- /dev/null
+++ b/lib/v2/asus/templates/bios.art
@@ -0,0 +1,6 @@
+
更新信息:
+{{@ item.Description}}
+版本: {{item.Version}}
+大小: {{item.FileSize}}
+更新日期: {{item.ReleaseDate}}
+下载链接: 中国下载 | 全球下载