feat: establish NekoNest Cloud control and relay

This commit is contained in:
2026-08-12 23:25:43 +08:00
commit f27606b709
222 changed files with 71456 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
#!/usr/bin/env node
import {
ReleaseVerificationError,
formatCloudReleaseEnvironment,
verifyDaemonRelease,
} from "../release/verify-daemon-release-core.mjs";
function usage() {
return "用法: npm run release:verify -- vX.Y.Z [--json]";
}
async function main() {
const args = process.argv.slice(2);
const json = args.includes("--json");
const positional = args.filter((arg) => arg !== "--json");
if (positional.length !== 1 || args.some((arg) => arg.startsWith("--") && arg !== "--json")) {
console.error(usage());
process.exitCode = 2;
return;
}
try {
const verified = await verifyDaemonRelease({
tag: positional[0],
token: process.env.GITHUB_TOKEN?.trim() || undefined,
});
if (json) {
console.log(JSON.stringify(verified, null, 2));
return;
}
console.log(`已核验 ${verified.tag}${verified.assets.length} 个 daemon 资产与 checksums.txt 全部一致。`);
console.log("\n将以下公开值配置到 Cloud;本工具不会自动写入环境:\n");
console.log(formatCloudReleaseEnvironment(verified));
} catch (error) {
if (error instanceof ReleaseVerificationError) {
console.error(`核验失败 [${error.code}]${error.message}`);
} else {
console.error("核验失败 [unexpected_error]:发生未预期错误");
}
process.exitCode = 1;
}
}
await main();