Last active
October 6, 2024 15:02
-
-
Save potoo0/4bb048050556fa6cc1f1c3a8dfefbafe to your computer and use it in GitHub Desktop.
pve-patch-v01.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 后端 pveproxy | |
| ## 去除订阅弹窗 | |
| dst1=/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js | |
| grep -q '/\*patched-v01\*/' $dst1 \ | |
| || sed -i.bak '/function(orig_cmd) {/a\/*patched-v01*/orig_cmd(); return;' $dst1 \ | |
| && echo "$dst1 patched" | |
| ## 增加温度显示, 还需要改前端, 见下面 <前端温度显示> | |
| dst2=/usr/share/perl5/PVE/API2/Nodes.pm | |
| grep -q '###patched-v01###' $dst2 \ | |
| || sed -i.bak '/$res->{cpuinfo} = PVE::ProcFSTools::read_cpuinfo();/a\###patched-v01###\n$res->{sensinfo} = `sensors -j`;' $dst2 \ | |
| && echo "$dst2 patched" | |
| ## reboot pveproxy.service | |
| systemctl restart pveproxy | |
| # 前端 pvemanagerlib | |
| ## 前端温度显示 | |
| cat << 'EOF' > /tmp/pve-sensinfo.js | |
| /*patched-v01*/ | |
| { | |
| itemId: 'sensinfo', | |
| colspan: 2, | |
| printBar: false, | |
| title: gettext('SensorInfo'), | |
| textField: 'sensinfo', | |
| renderer: function (value) { | |
| const getattr = (data, field) => field.split('.').reduce((p, c) => p ? p[c] : null, data); | |
| const unit = '°C'; | |
| const data = JSON.parse(value); | |
| const cpuPkg = getattr(data, "coretemp-isa-0000.Package id 0.temp1_input")?.toFixed(1); | |
| const cpus = [ | |
| getattr(data, "coretemp-isa-0000.Core 0.temp2_input"), | |
| getattr(data, "coretemp-isa-0000.Core 1.temp3_input"), | |
| getattr(data, "coretemp-isa-0000.Core 2.temp4_input"), | |
| getattr(data, "coretemp-isa-0000.Core 3.temp5_input"), | |
| ]; | |
| const disks = [ | |
| getattr(data, "nvme-pci-0100.Composite.temp1_input"), | |
| getattr(data, "nvme-pci-0100.Sensor 1.temp2_input"), | |
| getattr(data, "nvme-pci-0100.Sensor 2.temp3_input"), | |
| ]; | |
| return `CPU温度: ${cpuPkg}${unit} (${cpus.map(d => d?.toFixed(1) + unit).join(' | ')})<br/> | |
| 硬盘温度: ${disks.map(d => d?.toFixed(1) + unit).join(' | ')}`; | |
| }, | |
| value: '', | |
| }, | |
| EOF | |
| dst3=/usr/share/pve-manager/js/pvemanagerlib.js | |
| if ! grep -q '/\*patched-v01\*/' $dst3; then | |
| mv $dst3 $dst3.bak | |
| awk -v add="$(cat /tmp/pve-sensinfo.js)" '{gsub(/textField[^[:alnum:]_]*cpuinfo[^[:alnum:]_]*renderer: Proxmox.Utils.render_cpu_model,[^[:alnum:]_]*value:[^[:alnum:]_]*},/, "&" add)} 1' RS='\0' $dst3.bak > $dst3 | |
| echo "$dst3 patched" | |
| fi | |
| # restore | |
| # test -e $dst1.bak && mv -f $dst1.bak $dst1 | |
| # test -e $dst2.bak && mv -f $dst2.bak $dst2 | |
| # test -e $dst3.bak && mv -f $dst3.bak $dst3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment