openwrt_helloworld/luci-app-nikki/root/usr/share/rpcd/ucode/luci.nikki
2025-02-23 17:00:29 +08:00

53 lines
1.3 KiB
Plaintext

#!/usr/bin/ucode
'use strict';
import { popen } from 'fs';
const methods = {
version: {
call: function() {
let process;
let app = '';
if (system('command -v opkg') == 0) {
process = popen('opkg list-installed luci-app-nikki | cut -d " " -f 3');
if (process != null) {
app = trim(process.read('all'));
process.close();
}
} else if (system('command -v apk') == 0) {
process = popen('apk list -I luci-app-nikki | cut -d " " -f 1 | cut -d "-" -f 4');
if (process != null) {
app = trim(process.read('all'));
process.close();
}
}
let core = '';
process = popen('mihomo -v | grep Mihomo | cut -d " " -f 3');
if (process != null) {
core = trim(process.read('all'));
process.close();
}
return { success: true, app: app, core: core };
}
},
update_subscription: {
args: { section_id: 'section_id' },
call: function(req) {
let success = false;
if (req.args?.section_id) {
const section_id = req.args?.section_id;
success = system(['service', 'nikki', 'update_subscription', section_id]) == 0;
}
return { success: success };
}
},
debug: {
call: function() {
const success = system('/etc/nikki/scripts/debug.sh > /var/run/nikki/debug.md') == 0;
return { success: success };
}
}
};
return { 'luci.nikki': methods };