From 68e29600466a640463d68ba0da9da29e7e08e591 Mon Sep 17 00:00:00 2001 From: jinghui <3970260761@qq.com> Date: Fri, 6 Nov 2026 16:04:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20fnos-resmon=20v1.2.0=20=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E7=9B=91=E8=A7=86=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ICON.PNG | Bin 0 -> 1134 bytes ICON_256.PNG | Bin 0 -> 4429 bytes app/.DS_Store | Bin 0 -> 6148 bytes app/docker/docker-compose.yaml | 16 +++ app/public/index.html | 187 +++++++++++++++++++++++++++++++++ app/ui/.DS_Store | Bin 0 -> 6148 bytes app/ui/config | 13 +++ app/ui/images/.DS_Store | Bin 0 -> 6148 bytes app/ui/images/icon_256.png | Bin 0 -> 4429 bytes app/ui/images/icon_64.png | Bin 0 -> 1134 bytes cmd/.DS_Store | Bin 0 -> 6148 bytes cmd/config_callback | 5 + cmd/config_init | 5 + cmd/install_callback | 5 + cmd/install_init | 5 + cmd/main | 42 ++++++++ cmd/uninstall_callback | 5 + cmd/uninstall_init | 5 + cmd/upgrade_callback | 5 + cmd/upgrade_init | 5 + config/.DS_Store | Bin 0 -> 6148 bytes config/privilege | 5 + config/resource | 1 + fnos-resmon.fpk | Bin 0 -> 14385 bytes manifest | 7 ++ 25 files changed, 311 insertions(+) create mode 100644 ICON.PNG create mode 100644 ICON_256.PNG create mode 100644 app/.DS_Store create mode 100644 app/docker/docker-compose.yaml create mode 100644 app/public/index.html create mode 100644 app/ui/.DS_Store create mode 100644 app/ui/config create mode 100644 app/ui/images/.DS_Store create mode 100644 app/ui/images/icon_256.png create mode 100644 app/ui/images/icon_64.png create mode 100644 cmd/.DS_Store create mode 100644 cmd/config_callback create mode 100644 cmd/config_init create mode 100644 cmd/install_callback create mode 100644 cmd/install_init create mode 100644 cmd/main create mode 100644 cmd/uninstall_callback create mode 100644 cmd/uninstall_init create mode 100644 cmd/upgrade_callback create mode 100644 cmd/upgrade_init create mode 100644 config/.DS_Store create mode 100644 config/privilege create mode 100644 config/resource create mode 100644 fnos-resmon.fpk create mode 100644 manifest diff --git a/ICON.PNG b/ICON.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c221ba643cded70c4cc1dff1f9de38d8a5512bbb GIT binary patch literal 1134 zcmV-!1d;oRP){ zB3LL&KwDGT*ceT15!(o2u(7y8P@51@3n7Icu`s2%LKFnaVWUlMGymP&%ii85x3jk& zbG!LLxUUU2??3Ooc{6)YAS4@`R!Kcf$_BpbmkWu&~y!@E!wrF+3#d zVg6BcyFeLURz}~pfEzH!;I1gco;D;NC?RTHt_y}UE`d3#fm!r1%D{!D5cOR??}W21 z8hERomXQx?mc)3FH%R{*%J@poj3@SlZv3_?{twzbAcr&Wr^6Fk0x;&4@n4W%<6S7i zDK{syLVyVm`8S?$Rhx5P*dEYy{S6cdiWG+C@-CXOzlq{erx!?UVG_lp zMBAkl7(+p!?NZhF6%-WO&LmhyaVb-P$UD5h|IzQ1BqCD%tOWRn%vt{lEUzOnkp!Ue z)sMijA!N?TQQ*l3VD&p9p)J47p&bovIW2BS&Bi^a75F zW79=Tfc0NHu4aP!y9^$59yvDM#H=O2^0%GmCM3Whs-Ltj*ArmXvtMK)GzG8G^imxn zFN4gy3vZA)9D{c9d{J5U$m67fsCgjQL(YQA>b{ zk=ns5>puj(()+5+&49$r>|(@q6O{9j7fPZN&g`Aw%F(nTu=cwsp3 zkNDl(zZ6j*4loG@4+SUQutXN1Z4g}s;13a#h+GHcg;+cwP8d$!l6xn!Sij5w$;-g#_8_o&eAA;;!v=p#aR$ebWaJGj)bQ4aKDVS* z3j2%PpUU#acj5AYB{3xVyLq(?ETLeqsfxDm|6HCg_(UbcM<@ui)oq*EZ<%r5wR3^Q zIPzT=xJ^^79>TW0fE@~3m_j~9pz%}w-ogFG$)KxkPf&4^hr~!5nlWDs`aD$gG`4VG z2wX@1P*;X8VE_w}o2UKQ?ek85(FGxKGB54(+mr=hit$C*ZU6uP07*qoM6N<$f&?e} A4*&oF literal 0 HcmV?d00001 diff --git a/ICON_256.PNG b/ICON_256.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d5c1bd45fd46feafd08f17e909c2c08bbeb61b48 GIT binary patch literal 4429 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 literal 0 HcmV?d00001 diff --git a/app/.DS_Store b/app/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..982a645c83272fc8438d18d115d359716408a734 GIT binary patch literal 6148 zcmeHK%}T>S5T30?3WD_LagUyqzCl{z#cN+c+K7q`36|dTI^I3_20n(qfbZb<&1|)4 z0^US)26n&M`PoT6$WB&7!faDaM8+aA!XO4JJwkJ@YmkEJ47$g)Jgjae^JP`mJsbT- z6QBK13aMl%_tJg-r+t4}<@sV&EnsKv`uOZ++Knl`jj3;Uc_RNZkd556`Fnoc+IQ=o zzP?}9=UP{D%Id4$zOP;9jdfg{0cXG&a0dQ21L)b5(UGCg&VV!E416-c^C4movxJSI z9vztU3IH6!tO8yCWr2|fV3x2kgar~T6=RXm8E^*v7z1IL&+{2xD)rXR>#^5Hj4KQZ s;~FXu=-P^b+KRE@IdY;-^GE9NX9*ia?n1k!1N}!p3GvAp_yGn!0HCKrfB*mh literal 0 HcmV?d00001 diff --git a/app/docker/docker-compose.yaml b/app/docker/docker-compose.yaml new file mode 100644 index 0000000..78ff56d --- /dev/null +++ b/app/docker/docker-compose.yaml @@ -0,0 +1,16 @@ +services: + fnos-resmon: + image: 192.168.68.19:3200/jinghui/fnos-resmon:latest + container_name: fnos-resmon + network_mode: host + pid: host + restart: unless-stopped + environment: + - PORT=7031 + - PROCFS_PATH=/host/proc + privileged: true + volumes: + - /proc:/host/proc:rw + - /sys:/host/sys:ro + - /etc/passwd:/host/etc/passwd:ro + - /:/host:ro diff --git a/app/public/index.html b/app/public/index.html new file mode 100644 index 0000000..f4e2c81 --- /dev/null +++ b/app/public/index.html @@ -0,0 +1,187 @@ + + + + + +飞牛资源管理器 + + + +
+
CPU
+
内存
+
磁盘
+
网络
+
+
+ + + + +
+
+ + +
+
+ + + diff --git a/app/ui/.DS_Store b/app/ui/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0b271e160fa14ac010e0a12ff67a2b8a1966b7fe GIT binary patch literal 6148 zcmeHKOG*Pl5UtW618(BZW#2$@gEovO$OSY;qL5(%l9ijeNe+;Wx9|cU$X8vZIL?5( zAo2>jUv>Rv=D~D#iHOd3tC`4DL@EqJHDyH1JnA}$;0aJmjR$$&tY?e+w%Lvp`imxe z_cM8tM($)SgZJO>e)^lXu9us3343+%a(Hj9-mZr+t6yWbkKcKEMF|QSAOmE843L4N zFn}}Lq&j!xOa{mR8Tewr_J@RFm;*bc8;Dd8qJ5slRujmEl)@NRKi8GBWE%|2Ko$~`f_UL{|$bb(I&s2!W9`H z1OJQxoz#nZj*p77b?|w1)+UTw3=@m%Oo2e}T>`MMedMw@-JeWHTn_9Ut%})8I*=EE MLI@`^a0CWE00llRj{pDw literal 0 HcmV?d00001 diff --git a/app/ui/config b/app/ui/config new file mode 100644 index 0000000..c83710c --- /dev/null +++ b/app/ui/config @@ -0,0 +1,13 @@ +{ + ".url": { + "fnos-resmon.Application": { + "title": "飞牛资源管理器", + "icon": "images/icon_{0}.png", + "type": "url", + "protocol": "http", + "port": "7031", + "url": "/", + "allUsers": false + } + } +} diff --git a/app/ui/images/.DS_Store b/app/ui/images/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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 literal 0 HcmV?d00001 diff --git a/app/ui/images/icon_64.png b/app/ui/images/icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..c221ba643cded70c4cc1dff1f9de38d8a5512bbb GIT binary patch literal 1134 zcmV-!1d;oRP){ zB3LL&KwDGT*ceT15!(o2u(7y8P@51@3n7Icu`s2%LKFnaVWUlMGymP&%ii85x3jk& zbG!LLxUUU2??3Ooc{6)YAS4@`R!Kcf$_BpbmkWu&~y!@E!wrF+3#d zVg6BcyFeLURz}~pfEzH!;I1gco;D;NC?RTHt_y}UE`d3#fm!r1%D{!D5cOR??}W21 z8hERomXQx?mc)3FH%R{*%J@poj3@SlZv3_?{twzbAcr&Wr^6Fk0x;&4@n4W%<6S7i zDK{syLVyVm`8S?$Rhx5P*dEYy{S6cdiWG+C@-CXOzlq{erx!?UVG_lp zMBAkl7(+p!?NZhF6%-WO&LmhyaVb-P$UD5h|IzQ1BqCD%tOWRn%vt{lEUzOnkp!Ue z)sMijA!N?TQQ*l3VD&p9p)J47p&bovIW2BS&Bi^a75F zW79=Tfc0NHu4aP!y9^$59yvDM#H=O2^0%GmCM3Whs-Ltj*ArmXvtMK)GzG8G^imxn zFN4gy3vZA)9D{c9d{J5U$m67fsCgjQL(YQA>b{ zk=ns5>puj(()+5+&49$r>|(@q6O{9j7fPZN&g`Aw%F(nTu=cwsp3 zkNDl(zZ6j*4loG@4+SUQutXN1Z4g}s;13a#h+GHcg;+cwP8d$!l6xn!Sij5w$;-g#_8_o&eAA;;!v=p#aR$ebWaJGj)bQ4aKDVS* z3j2%PpUU#acj5AYB{3xVyLq(?ETLeqsfxDm|6HCg_(UbcM<@ui)oq*EZ<%r5wR3^Q zIPzT=xJ^^79>TW0fE@~3m_j~9pz%}w-ogFG$)KxkPf&4^hr~!5nlWDs`aD$gG`4VG z2wX@1P*;X8VE_w}o2UKQ?ek85(FGxKGB54(+mr=hit$C*ZU6uP07*qoM6N<$f&?e} A4*&oF literal 0 HcmV?d00001 diff --git a/cmd/.DS_Store b/cmd/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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 literal 0 HcmV?d00001 diff --git a/manifest b/manifest new file mode 100644 index 0000000..db7e309 --- /dev/null +++ b/manifest @@ -0,0 +1,7 @@ +appname: fnos-resmon +version: 1.2.0 +display_name: 飞牛资源管理器 +desc: 飞牛 NAS 资源监视器(CPU/内存/磁盘/网络四页签,读取宿主真实数据) +arch: x86_64 +source: docker +maintainer: jinghui