telemetry: sandbox version

pull/405/head
undefined 2 years ago
parent 84c7815ef6
commit 5bc8882738

@ -1,5 +1,6 @@
import crypto from 'crypto';
import yaml from 'js-yaml';
import * as bus from 'hydrooj/src/service/bus';
import db from 'hydrooj/src/service/db';
import {
Handler, post, Route, Types,
@ -28,6 +29,7 @@ class DataReportHandler extends Handler {
@post('payload', Types.String)
async post(domainId: string, installId: string, _payload: string) {
const payload: any = yaml.load(decrypt(_payload));
const old = await coll.findOne({ _id: installId });
await coll.updateOne({ _id: installId }, {
$set: {
version: payload.version,
@ -45,9 +47,11 @@ class DataReportHandler extends Handler {
problemCount: payload.problemCount,
discussionCount: payload.discussionCount,
recordCount: payload.recordCount,
sandbox: payload.sandbox,
},
}, { upsert: true });
this.response.body = 'success';
bus.emit('center/report', this, installId, old, payload);
this.response.body = { code: 0 };
}
}

@ -1,6 +1,6 @@
{
"name": "@hydrooj/center",
"version": "0.1.0",
"version": "0.1.1",
"main": "package.json",
"repository": "https://github.com/hydro-dev/Hydro.git",
"author": "undefined <i@undefined.moe>",

@ -1,6 +1,6 @@
{
"name": "hydrooj",
"version": "3.15.8",
"version": "3.15.9",
"bin": "bin/hydrooj.js",
"main": "src/loader",
"module": "src/loader",

@ -198,7 +198,7 @@ SystemSetting(
Setting('setting_smtp', 'smtp.from', null, 'text', 'smtp.from', 'Mail From'),
Setting('setting_smtp', 'smtp.secure', false, 'boolean', 'smtp.secure', 'SSL'),
Setting('setting_smtp', 'smtp.verify', true, 'boolean', 'smtp.verify', 'Verify register email'),
Setting('setting_server', 'server.center', 'https://hydro.undefined.moe:8443/center', 'text', 'server.center', '', FLAG_HIDDEN),
Setting('setting_server', 'server.center', 'https://hydro.ac/center', 'text', 'server.center', '', FLAG_HIDDEN),
Setting('setting_server', 'server.name', 'Hydro', 'text', 'server.name', 'Server Name'),
Setting('setting_server', 'server.displayName', 'Hydro', 'text', 'server.name', 'Server Name (Global Display)', FLAG_PRO),
Setting('setting_server', 'server.url', '/', 'text', 'server.url', 'Server BaseURL'),

@ -33,6 +33,13 @@ export async function feedback(): Promise<[string, StatusUpdate]> {
document.coll.find({ docType: document.TYPE_DISCUSSION }).count(),
record.coll.find().count(),
]);
let sandbox = '';
try {
let host = system.get('hydrojudge.sandbox_host') || 'http://localhost:5050/';
if (!host.endsWith('/')) host += '/';
const res = await superagent.get(`${host}version`);
sandbox = res.body;
} catch (e) { }
const payload = crypt(dump({
mid: mid.toString(),
version,
@ -47,6 +54,7 @@ export async function feedback(): Promise<[string, StatusUpdate]> {
memory: inf.memory,
osinfo: inf.osinfo,
cpu: inf.cpu,
sandbox,
}, {
replacer: (key, value) => {
if (typeof value === 'function') return '';

@ -791,6 +791,10 @@ const scripts: UpgradeScript[] = [
);
return true;
},
async function _64_65() {
await system.set('server.center', 'https://hydro.ac/center');
return true;
},
];
export default scripts;

Loading…
Cancel
Save