vana-cli 0.26.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/server-start.d.ts +10 -1
- package/dist/cli/server-start.d.ts.map +1 -1
- package/dist/cli/server-start.js +153 -5
- package/dist/cli/server-start.js.map +1 -1
- package/dist/personal-server/local/config.d.ts +5 -0
- package/dist/personal-server/local/config.d.ts.map +1 -1
- package/dist/personal-server/local/config.js +4 -2
- package/dist/personal-server/local/config.js.map +1 -1
- package/dist/personal-server/local/frpc.d.ts +59 -0
- package/dist/personal-server/local/frpc.d.ts.map +1 -0
- package/dist/personal-server/local/frpc.js +191 -0
- package/dist/personal-server/local/frpc.js.map +1 -0
- package/dist/personal-server/local/owner-binding.d.ts +22 -2
- package/dist/personal-server/local/owner-binding.d.ts.map +1 -1
- package/dist/personal-server/local/owner-binding.js +23 -14
- package/dist/personal-server/local/owner-binding.js.map +1 -1
- package/dist/personal-server/local/registration.d.ts +42 -0
- package/dist/personal-server/local/registration.d.ts.map +1 -0
- package/dist/personal-server/local/registration.js +81 -0
- package/dist/personal-server/local/registration.js.map +1 -0
- package/dist/personal-server/local/runtime-pkg/entry.mjs +138 -20
- package/dist/personal-server/local/server.d.ts +25 -0
- package/dist/personal-server/local/server.d.ts.map +1 -1
- package/dist/personal-server/local/server.js +80 -4
- package/dist/personal-server/local/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,9 @@ import type { VanaNetworkName } from "../core/network.js";
|
|
|
2
2
|
import { type ResolvedNode } from "../pdpp/host.js";
|
|
3
3
|
import { runOwnerBindingExchange } from "../personal-server/local/owner-binding.js";
|
|
4
4
|
import { type OwnerSecretStore } from "../personal-server/local/owner-secret.js";
|
|
5
|
-
import { startLocalServer, type LocalServerHandle, type RunningServer } from "../personal-server/local/server.js";
|
|
5
|
+
import { startLocalServer, type LocalServerHandle, type PublicMarker, type RunningServer } from "../personal-server/local/server.js";
|
|
6
|
+
import { type FrpcResolution } from "../personal-server/local/frpc.js";
|
|
7
|
+
import { signServerRegistration } from "../personal-server/local/registration.js";
|
|
6
8
|
import { type VanaCredentials } from "./auth.js";
|
|
7
9
|
export interface ServerStartIo {
|
|
8
10
|
/** A line for a person; silent in --json mode. */
|
|
@@ -25,6 +27,11 @@ export interface ServerStartDeps {
|
|
|
25
27
|
ensureRuntime: (node: ResolvedNode, logPath: string) => Promise<string>;
|
|
26
28
|
choosePort: (requested?: number) => Promise<number | null>;
|
|
27
29
|
start: typeof startLocalServer;
|
|
30
|
+
resolveFrpc: () => Promise<FrpcResolution>;
|
|
31
|
+
installFrpc: (logPath: string) => Promise<string>;
|
|
32
|
+
signRegistration: typeof signServerRegistration;
|
|
33
|
+
readPublicMarker: (network: VanaNetworkName) => PublicMarker | null;
|
|
34
|
+
writePublicMarker: (network: VanaNetworkName, marker: PublicMarker) => Promise<void>;
|
|
28
35
|
/** Resolves when the person asks the server to stop (Ctrl+C). */
|
|
29
36
|
waitForStop: (handle: LocalServerHandle) => Promise<"stopped" | "exited">;
|
|
30
37
|
}
|
|
@@ -38,5 +45,7 @@ export declare function runServerStart(options: {
|
|
|
38
45
|
port?: number;
|
|
39
46
|
noInput?: boolean;
|
|
40
47
|
yes?: boolean;
|
|
48
|
+
/** Register the server and open its public URL, so apps can reach it. */
|
|
49
|
+
public?: boolean;
|
|
41
50
|
}, io: ServerStartIo, deps?: ServerStartDeps): Promise<number>;
|
|
42
51
|
//# sourceMappingURL=server-start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-start.d.ts","sourceRoot":"","sources":["../../src/cli/server-start.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,uBAAuB,EAExB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,0CAA0C,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"server-start.d.ts","sourceRoot":"","sources":["../../src/cli/server-start.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/server-start.js
CHANGED
|
@@ -5,7 +5,9 @@ import { canInstallNodeFor, findCompatibleNode, installManagedNode, } from "../p
|
|
|
5
5
|
import { isRuntimeInstalled, ensureRuntime, } from "../personal-server/local/runtime.js";
|
|
6
6
|
import { runOwnerBindingExchange, } from "../personal-server/local/owner-binding.js";
|
|
7
7
|
import { defaultOwnerSecretStore, ownerSecretKey, } from "../personal-server/local/owner-secret.js";
|
|
8
|
-
import { choosePort, findRunningServers, startLocalServer, } from "../personal-server/local/server.js";
|
|
8
|
+
import { choosePort, findRunningServers, nextMessage, readPublicMarker, startLocalServer, writePublicMarker, } from "../personal-server/local/server.js";
|
|
9
|
+
import { installFrpc, resolveFrpc, } from "../personal-server/local/frpc.js";
|
|
10
|
+
import { RegistrationNeedsBrowserError, signServerRegistration, } from "../personal-server/local/registration.js";
|
|
9
11
|
import { getAccountUrl, isExpired, loadCredentials, openBrowser, saveCredentials, } from "./auth.js";
|
|
10
12
|
/** The server release needs the same Node range as the published connectors. */
|
|
11
13
|
const NODE_RANGE = ">=24.15.0 <25";
|
|
@@ -23,6 +25,11 @@ export function defaultServerStartDeps() {
|
|
|
23
25
|
ensureRuntime: (node, logPath) => ensureRuntime(node, logPath),
|
|
24
26
|
choosePort,
|
|
25
27
|
start: startLocalServer,
|
|
28
|
+
resolveFrpc: () => resolveFrpc(),
|
|
29
|
+
installFrpc: (logPath) => installFrpc(logPath),
|
|
30
|
+
signRegistration: signServerRegistration,
|
|
31
|
+
readPublicMarker,
|
|
32
|
+
writePublicMarker,
|
|
26
33
|
waitForStop: (handle) => new Promise((resolve) => {
|
|
27
34
|
// Stay subscribed until the process ends: a second Ctrl+C while the
|
|
28
35
|
// server shuts down must not kill the CLI before it cleans up.
|
|
@@ -100,13 +107,30 @@ export async function runServerStart(options, io, deps = defaultServerStartDeps(
|
|
|
100
107
|
}
|
|
101
108
|
deps.secrets.set(secretKey, binding);
|
|
102
109
|
}
|
|
103
|
-
//
|
|
110
|
+
// Public: asked for now, or registered before. A registered server must
|
|
111
|
+
// come back reachable, or apps keep finding a URL that never answers.
|
|
112
|
+
const marker = deps.readPublicMarker(options.network);
|
|
113
|
+
let frpc = null;
|
|
114
|
+
if (options.public || marker) {
|
|
115
|
+
frpc = await deps.resolveFrpc();
|
|
116
|
+
if (frpc.kind === "unavailable") {
|
|
117
|
+
if (options.public) {
|
|
118
|
+
io.say(frpc.reason);
|
|
119
|
+
io.event({ type: "server-tunnel-unavailable", reason: frpc.reason });
|
|
120
|
+
return CliExitCode.NOT_READY;
|
|
121
|
+
}
|
|
122
|
+
io.say(`This server is registered, but ${frpc.reason} It starts local only.`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// One-time installs: Node 24, the pinned server, the tunnel client.
|
|
104
126
|
let node = await deps.findNode(NODE_RANGE);
|
|
105
127
|
const runtimeReady = deps.runtimeInstalled();
|
|
106
|
-
|
|
128
|
+
const frpcNeeded = frpc?.kind === "installable";
|
|
129
|
+
if (!node || !runtimeReady || frpcNeeded) {
|
|
107
130
|
const needs = [
|
|
108
131
|
...(node ? [] : ["Node.js 24, which the server runs on"]),
|
|
109
132
|
...(runtimeReady ? [] : ["the Personal Server itself (~175 MB)"]),
|
|
133
|
+
...(frpcNeeded ? ["the tunnel client, frpc (~15 MB)"] : []),
|
|
110
134
|
];
|
|
111
135
|
if (options.noInput && !options.yes) {
|
|
112
136
|
io.say(`The first start installs ${needs.join(" and ")}. Run without --no-input, or add --yes.`);
|
|
@@ -130,6 +154,11 @@ export async function runServerStart(options, io, deps = defaultServerStartDeps(
|
|
|
130
154
|
if (!runtimeReady)
|
|
131
155
|
io.say("Installing the Personal Server (one time)...");
|
|
132
156
|
const runtimeDir = await deps.ensureRuntime(node, logPath);
|
|
157
|
+
let frpcPath = frpc?.kind === "ready" ? frpc.path : null;
|
|
158
|
+
if (frpcNeeded) {
|
|
159
|
+
io.say("Installing the tunnel client (one time)...");
|
|
160
|
+
frpcPath = await deps.installFrpc(logPath);
|
|
161
|
+
}
|
|
133
162
|
const port = await deps.choosePort(options.port);
|
|
134
163
|
if (!port) {
|
|
135
164
|
io.say(options.port
|
|
@@ -146,6 +175,7 @@ export async function runServerStart(options, io, deps = defaultServerStartDeps(
|
|
|
146
175
|
binding,
|
|
147
176
|
port,
|
|
148
177
|
logPath,
|
|
178
|
+
frpcPath,
|
|
149
179
|
});
|
|
150
180
|
}
|
|
151
181
|
catch (error) {
|
|
@@ -165,14 +195,32 @@ export async function runServerStart(options, io, deps = defaultServerStartDeps(
|
|
|
165
195
|
});
|
|
166
196
|
io.say(`Personal Server running at ${url}`);
|
|
167
197
|
io.say(`Owner ${binding.signerAddress}, network ${options.network}.`);
|
|
168
|
-
|
|
198
|
+
let registered = false;
|
|
199
|
+
let publicUrl = null;
|
|
200
|
+
if (frpcPath) {
|
|
201
|
+
const outcome = await goPublic(handle, {
|
|
202
|
+
...options,
|
|
203
|
+
accountUrl,
|
|
204
|
+
accessToken: account.session_token,
|
|
205
|
+
ownerAddress: account.address,
|
|
206
|
+
binding,
|
|
207
|
+
io,
|
|
208
|
+
deps,
|
|
209
|
+
});
|
|
210
|
+
registered = outcome.registered;
|
|
211
|
+
publicUrl = outcome.publicUrl;
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
io.say("Local only: not registered and not reachable from other devices. Add --public to change that.");
|
|
215
|
+
}
|
|
169
216
|
io.say("Collect into it with `vana connect <source>`. Press Ctrl+C to stop.");
|
|
170
217
|
io.event({
|
|
171
218
|
type: "server-ready",
|
|
172
219
|
url,
|
|
173
220
|
owner: binding.signerAddress,
|
|
174
221
|
network: options.network,
|
|
175
|
-
registered
|
|
222
|
+
registered,
|
|
223
|
+
publicUrl,
|
|
176
224
|
logPath,
|
|
177
225
|
});
|
|
178
226
|
const reason = await deps.waitForStop(handle);
|
|
@@ -186,4 +234,104 @@ export async function runServerStart(options, io, deps = defaultServerStartDeps(
|
|
|
186
234
|
io.event({ type: "server-stopped" });
|
|
187
235
|
return CliExitCode.OK;
|
|
188
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* Bring a server with a tunnel client online for apps: register it when asked
|
|
239
|
+
* and not yet registered, then report the public URL once the relay answers.
|
|
240
|
+
* Nothing here stops the server; a failure leaves it running local only.
|
|
241
|
+
*/
|
|
242
|
+
async function goPublic(handle, input) {
|
|
243
|
+
const { io, deps } = input;
|
|
244
|
+
let state;
|
|
245
|
+
try {
|
|
246
|
+
// The server checks the gateway and reserves its URL before answering.
|
|
247
|
+
state = await nextMessage(handle, ["public"], 90_000);
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
io.say(error instanceof Error ? error.message : String(error));
|
|
251
|
+
return { registered: false, publicUrl: null };
|
|
252
|
+
}
|
|
253
|
+
const publicUrl = typeof state.serverUrl === "string" ? state.serverUrl : null;
|
|
254
|
+
const serverAddress = typeof state.serverAddress === "string" ? state.serverAddress : null;
|
|
255
|
+
// Report the tunnel whenever it settles; the command keeps running.
|
|
256
|
+
const unsubscribe = handle.onMessage((message) => {
|
|
257
|
+
if (message.type !== "tunnel")
|
|
258
|
+
return;
|
|
259
|
+
unsubscribe();
|
|
260
|
+
if (message.status === "connected") {
|
|
261
|
+
io.say(`Reachable by apps at ${String(message.url)}`);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
io.say(`The public URL is not answering yet: ${String(message.warning ?? message.status)}`);
|
|
265
|
+
}
|
|
266
|
+
io.event({
|
|
267
|
+
type: "server-tunnel",
|
|
268
|
+
status: message.status,
|
|
269
|
+
url: message.url ?? null,
|
|
270
|
+
warning: message.warning ?? null,
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
if (state.registered === true) {
|
|
274
|
+
io.say(`Registered. Opening ${publicUrl ?? "the public URL"}...`);
|
|
275
|
+
return { registered: true, publicUrl };
|
|
276
|
+
}
|
|
277
|
+
if (!input.public) {
|
|
278
|
+
io.say("This server is not registered, so apps cannot find it. Run with --public to register it.");
|
|
279
|
+
return { registered: false, publicUrl: null };
|
|
280
|
+
}
|
|
281
|
+
if (!publicUrl || !serverAddress) {
|
|
282
|
+
io.say("The server did not reserve a public URL, so it stays local only.");
|
|
283
|
+
return { registered: false, publicUrl: null };
|
|
284
|
+
}
|
|
285
|
+
io.say(`Registering ${publicUrl} as your Personal Server. This is recorded on-chain and cannot be undone.`);
|
|
286
|
+
try {
|
|
287
|
+
handle.send({ type: "prepare-registration" });
|
|
288
|
+
const prepared = await nextMessage(handle, ["registration-request", "command-failed"], 30_000);
|
|
289
|
+
if (prepared.type === "command-failed") {
|
|
290
|
+
throw new Error(String(prepared.message));
|
|
291
|
+
}
|
|
292
|
+
const signed = await deps.signRegistration({
|
|
293
|
+
accountUrl: input.accountUrl,
|
|
294
|
+
accessToken: input.accessToken,
|
|
295
|
+
trustToken: input.binding.trustToken,
|
|
296
|
+
request: prepared.request,
|
|
297
|
+
allowBrowser: !input.noInput,
|
|
298
|
+
}, {
|
|
299
|
+
openBrowser: deps.openBrowser,
|
|
300
|
+
onConfirmationUrl: (url) => io.say(`Confirm the registration in your browser: ${url}`),
|
|
301
|
+
});
|
|
302
|
+
if (signed.signerAddress &&
|
|
303
|
+
signed.signerAddress.toLowerCase() !== input.ownerAddress.toLowerCase()) {
|
|
304
|
+
throw new Error(`The registration came back signed by ${signed.signerAddress}, not ${input.ownerAddress}. Nothing was submitted.`);
|
|
305
|
+
}
|
|
306
|
+
handle.send({ type: "submit-registration", signature: signed.signature });
|
|
307
|
+
const submitted = await nextMessage(handle, ["registration-submitted", "command-failed"], 60_000);
|
|
308
|
+
if (submitted.type === "command-failed") {
|
|
309
|
+
throw new Error(String(submitted.message));
|
|
310
|
+
}
|
|
311
|
+
await deps.writePublicMarker(input.network, {
|
|
312
|
+
serverAddress,
|
|
313
|
+
serverUrl: publicUrl,
|
|
314
|
+
registeredAt: new Date().toISOString(),
|
|
315
|
+
});
|
|
316
|
+
io.say(`Registered. Opening ${publicUrl}...`);
|
|
317
|
+
io.event({
|
|
318
|
+
type: "server-registered",
|
|
319
|
+
serverAddress,
|
|
320
|
+
serverUrl: publicUrl,
|
|
321
|
+
serverId: submitted.serverId ?? null,
|
|
322
|
+
signing: signed.via,
|
|
323
|
+
});
|
|
324
|
+
return { registered: true, publicUrl };
|
|
325
|
+
}
|
|
326
|
+
catch (error) {
|
|
327
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
328
|
+
io.say(`Not registered: ${message} The server keeps running, local only.`);
|
|
329
|
+
io.event({
|
|
330
|
+
type: "server-registration-failed",
|
|
331
|
+
needsBrowser: error instanceof RegistrationNeedsBrowserError,
|
|
332
|
+
message,
|
|
333
|
+
});
|
|
334
|
+
return { registered: false, publicUrl: null };
|
|
335
|
+
}
|
|
336
|
+
}
|
|
189
337
|
//# sourceMappingURL=server-start.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-start.js","sourceRoot":"","sources":["../../src/cli/server-start.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server-start.js","sourceRoot":"","sources":["../../src/cli/server-start.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,11 @@ export interface LocalServerNetwork {
|
|
|
6
6
|
gatewayUrl: string;
|
|
7
7
|
storageApiUrl: string;
|
|
8
8
|
contracts: Record<string, string>;
|
|
9
|
+
/** The relay frpc dials to give the server its public URL. */
|
|
10
|
+
tunnel: {
|
|
11
|
+
serverAddr: string;
|
|
12
|
+
serverPort: number;
|
|
13
|
+
};
|
|
9
14
|
}
|
|
10
15
|
export declare function localServerNetwork(name: VanaNetworkName): LocalServerNetwork;
|
|
11
16
|
/** The pinned server release, matching runtime-pkg/package.json. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/personal-server/local/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/personal-server/local/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,8DAA8D;IAC9D,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAiCD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,kBAAkB,CAE5E;AAED,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAEnE;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wFAAwF;AACxF,eAAO,MAAM,kBAAkB,6BAA8B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { getVanaHome } from "../../core/paths.js";
|
|
3
|
-
// Same deployment on both chains. Mirrors the `contracts`
|
|
4
|
-
// Desktop's packages/app-runtime/src/personal-server/environments.json.
|
|
3
|
+
// Same deployment on both chains. Mirrors the `contracts` and tunnel entries
|
|
4
|
+
// of Vana Desktop's packages/app-runtime/src/personal-server/environments.json.
|
|
5
5
|
const CONTRACTS = {
|
|
6
6
|
dataPortabilityEscrow: "0x07d7769081adc3a3DBe91f5E4B98E9A5a6B292e3",
|
|
7
7
|
dataPortabilityGrantees: "0x8325C0A0948483EdA023A1A2Fd895e62C5131234",
|
|
@@ -18,6 +18,7 @@ const NETWORKS = {
|
|
|
18
18
|
gatewayUrl: "https://dp-rpc.moksha.vana.org",
|
|
19
19
|
storageApiUrl: "https://storage-dev.vana.org",
|
|
20
20
|
contracts: CONTRACTS,
|
|
21
|
+
tunnel: { serverAddr: "frpc.server-dev.vana.org", serverPort: 7000 },
|
|
21
22
|
},
|
|
22
23
|
mainnet: {
|
|
23
24
|
name: "mainnet",
|
|
@@ -25,6 +26,7 @@ const NETWORKS = {
|
|
|
25
26
|
gatewayUrl: "https://dp-rpc.vana.org",
|
|
26
27
|
storageApiUrl: "https://storage.vana.org",
|
|
27
28
|
contracts: CONTRACTS,
|
|
29
|
+
tunnel: { serverAddr: "frpc.server.vana.org", serverPort: 7000 },
|
|
28
30
|
},
|
|
29
31
|
};
|
|
30
32
|
export function localServerNetwork(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/personal-server/local/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/personal-server/local/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAclD,6EAA6E;AAC7E,gFAAgF;AAChF,MAAM,SAAS,GAA2B;IACxC,qBAAqB,EAAE,4CAA4C;IACnE,uBAAuB,EAAE,4CAA4C;IACrE,0BAA0B,EAAE,4CAA4C;IACxE,qBAAqB,EAAE,4CAA4C;IACnE,mBAAmB,EAAE,4CAA4C;IACjE,YAAY,EAAE,4CAA4C;IAC1D,WAAW,EAAE,4CAA4C;CAC1D,CAAC;AAEF,MAAM,QAAQ,GAAgD;IAC5D,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,gCAAgC;QAC5C,aAAa,EAAE,8BAA8B;QAC7C,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,EAAE,UAAU,EAAE,0BAA0B,EAAE,UAAU,EAAE,IAAI,EAAE;KACrE;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,yBAAyB;QACrC,aAAa,EAAE,0BAA0B;QACzC,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,EAAE,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,IAAI,EAAE;KACjE;CACF,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,IAAqB;IACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAEhD,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAwB;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;AAC1E,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tunnel client the Personal Server runs to get its public URL. Same
|
|
3
|
+
* version the pinned server would download for itself.
|
|
4
|
+
*/
|
|
5
|
+
export declare const FRPC_VERSION = "0.67.0";
|
|
6
|
+
/** The Apple team that signs the CLI and Vana Desktop. */
|
|
7
|
+
export declare const VANA_APPLE_TEAM_ID = "G7QNBSSW44";
|
|
8
|
+
interface FrpcArtifact {
|
|
9
|
+
url: string;
|
|
10
|
+
sha256: string;
|
|
11
|
+
/** The binary's path inside the archive. */
|
|
12
|
+
entry: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Pinned downloads per platform. A Mac never gets upstream's build: it is
|
|
16
|
+
* ad-hoc signed, and endpoint security on managed Macs treats an ad-hoc
|
|
17
|
+
* binary run from the home directory as persistence. Macs download the copy
|
|
18
|
+
* the sign-frpc workflow signed and notarized with Vana's Developer ID.
|
|
19
|
+
*/
|
|
20
|
+
export declare const FRPC_ARTIFACTS: Record<string, FrpcArtifact>;
|
|
21
|
+
/** Where Vana Desktop ships its signed frpc. */
|
|
22
|
+
export declare const DESKTOP_FRPC_PATHS: string[];
|
|
23
|
+
export type FrpcResolution = {
|
|
24
|
+
kind: "ready";
|
|
25
|
+
path: string;
|
|
26
|
+
source: "env" | "managed" | "desktop";
|
|
27
|
+
} | {
|
|
28
|
+
kind: "installable";
|
|
29
|
+
} | {
|
|
30
|
+
kind: "unavailable";
|
|
31
|
+
reason: string;
|
|
32
|
+
};
|
|
33
|
+
export interface FrpcDeps {
|
|
34
|
+
env: NodeJS.ProcessEnv;
|
|
35
|
+
platform: NodeJS.Platform;
|
|
36
|
+
arch: string;
|
|
37
|
+
managedDir: string;
|
|
38
|
+
desktopPaths: string[];
|
|
39
|
+
/** True when `file` carries a valid signature from `teamId`. */
|
|
40
|
+
signedByTeam: (file: string, teamId: string) => Promise<boolean>;
|
|
41
|
+
}
|
|
42
|
+
export declare function managedFrpcDir(): string;
|
|
43
|
+
export declare function signedByTeam(file: string, teamId: string): Promise<boolean>;
|
|
44
|
+
/**
|
|
45
|
+
* Find a tunnel client this machine may run, without downloading anything.
|
|
46
|
+
* `VANA_FRPC_PATH` wins; then the CLI's own verified install; then, on a
|
|
47
|
+
* Mac, Vana Desktop's copy when it carries Vana's signature, which saves a
|
|
48
|
+
* download.
|
|
49
|
+
*/
|
|
50
|
+
export declare function resolveFrpc(overrides?: Partial<FrpcDeps>): Promise<FrpcResolution>;
|
|
51
|
+
/**
|
|
52
|
+
* Download the pinned frpc for this platform, check its sha256, and install
|
|
53
|
+
* it under ~/.vana/cli/personal-server/frpc/<version>.
|
|
54
|
+
*/
|
|
55
|
+
export declare function installFrpc(logPath: string, overrides?: Partial<FrpcDeps> & {
|
|
56
|
+
fetchImpl?: typeof fetch;
|
|
57
|
+
}): Promise<string>;
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=frpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frpc.d.ts","sourceRoot":"","sources":["../../../src/personal-server/local/frpc.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAoBD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAwBvD,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,kBAAkB,UAM9B,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gEAAgE;IAChE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAClE;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CASlB;AAqBD;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAM,GAChC,OAAO,CAAC,cAAc,CAAC,CA2CzB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC/D,OAAO,CAAC,MAAM,CAAC,CAyDjB"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import { execFile } from "node:child_process";
|
|
3
|
+
import fs from "node:fs";
|
|
4
|
+
import fsp from "node:fs/promises";
|
|
5
|
+
import os from "node:os";
|
|
6
|
+
import path from "node:path";
|
|
7
|
+
import { promisify } from "node:util";
|
|
8
|
+
import * as tar from "tar";
|
|
9
|
+
import { localServerHome } from "./config.js";
|
|
10
|
+
const execFileAsync = promisify(execFile);
|
|
11
|
+
/**
|
|
12
|
+
* The tunnel client the Personal Server runs to get its public URL. Same
|
|
13
|
+
* version the pinned server would download for itself.
|
|
14
|
+
*/
|
|
15
|
+
export const FRPC_VERSION = "0.67.0";
|
|
16
|
+
/** The Apple team that signs the CLI and Vana Desktop. */
|
|
17
|
+
export const VANA_APPLE_TEAM_ID = "G7QNBSSW44";
|
|
18
|
+
function upstream(name, ext, sha256) {
|
|
19
|
+
const base = `frp_${FRPC_VERSION}_${name}`;
|
|
20
|
+
return {
|
|
21
|
+
url: `https://github.com/fatedier/frp/releases/download/v${FRPC_VERSION}/${base}.${ext}`,
|
|
22
|
+
sha256,
|
|
23
|
+
entry: `${base}/${name.startsWith("windows") ? "frpc.exe" : "frpc"}`,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function signed(name, sha256) {
|
|
27
|
+
const base = `frp_${FRPC_VERSION}_${name}`;
|
|
28
|
+
return {
|
|
29
|
+
url: `https://github.com/vana-com/vana-cli/releases/download/frpc-v${FRPC_VERSION}/${base}.tar.gz`,
|
|
30
|
+
sha256,
|
|
31
|
+
entry: `${base}/frpc`,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Pinned downloads per platform. A Mac never gets upstream's build: it is
|
|
36
|
+
* ad-hoc signed, and endpoint security on managed Macs treats an ad-hoc
|
|
37
|
+
* binary run from the home directory as persistence. Macs download the copy
|
|
38
|
+
* the sign-frpc workflow signed and notarized with Vana's Developer ID.
|
|
39
|
+
*/
|
|
40
|
+
export const FRPC_ARTIFACTS = {
|
|
41
|
+
"darwin-arm64": signed("darwin_arm64", "e0a45a02b8be7d2e0e3221b1e1deb242b490a1e6a685beeff04bcd96cb42a9f1"),
|
|
42
|
+
"darwin-x64": signed("darwin_amd64", "106f023c440b395cf7d21283536a87156c69f26ebf40fd0084f11fc01de8f6a4"),
|
|
43
|
+
"linux-x64": upstream("linux_amd64", "tar.gz", "f8629ca7ca56b8e7e7a9903779b8d5c47c56ad1b75b99b2d7138477acc4c7105"),
|
|
44
|
+
"linux-arm64": upstream("linux_arm64", "tar.gz", "0e9683226acdcbbb2ac8d073f35ba8be2a8b1e7584684d2073f39d337ebd6de7"),
|
|
45
|
+
"win32-x64": upstream("windows_amd64", "zip", "8baf23e3fbd486f6ba0913501372c5ff0053efa88a8b8d391f3605ced43d2af5"),
|
|
46
|
+
};
|
|
47
|
+
/** Where Vana Desktop ships its signed frpc. */
|
|
48
|
+
export const DESKTOP_FRPC_PATHS = [
|
|
49
|
+
"/Applications/Vana.app/Contents/Resources/personal-server/dist/frpc",
|
|
50
|
+
path.join(os.homedir(), "Applications/Vana.app/Contents/Resources/personal-server/dist/frpc"),
|
|
51
|
+
];
|
|
52
|
+
function binaryName(platform) {
|
|
53
|
+
return platform === "win32" ? "frpc.exe" : "frpc";
|
|
54
|
+
}
|
|
55
|
+
export function managedFrpcDir() {
|
|
56
|
+
return path.join(localServerHome(), "frpc", FRPC_VERSION);
|
|
57
|
+
}
|
|
58
|
+
export async function signedByTeam(file, teamId) {
|
|
59
|
+
try {
|
|
60
|
+
await execFileAsync("codesign", ["--verify", "--strict", file]);
|
|
61
|
+
// `codesign -dv` reports on stderr.
|
|
62
|
+
const { stderr } = await execFileAsync("codesign", ["-dv", file]);
|
|
63
|
+
return new RegExp(`^TeamIdentifier=${teamId}$`, "m").test(stderr);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function defaultDeps() {
|
|
70
|
+
return {
|
|
71
|
+
env: process.env,
|
|
72
|
+
platform: process.platform,
|
|
73
|
+
arch: process.arch,
|
|
74
|
+
managedDir: managedFrpcDir(),
|
|
75
|
+
desktopPaths: DESKTOP_FRPC_PATHS,
|
|
76
|
+
signedByTeam,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function isFile(file) {
|
|
80
|
+
try {
|
|
81
|
+
return fs.statSync(file).isFile();
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Find a tunnel client this machine may run, without downloading anything.
|
|
89
|
+
* `VANA_FRPC_PATH` wins; then the CLI's own verified install; then, on a
|
|
90
|
+
* Mac, Vana Desktop's copy when it carries Vana's signature, which saves a
|
|
91
|
+
* download.
|
|
92
|
+
*/
|
|
93
|
+
export async function resolveFrpc(overrides = {}) {
|
|
94
|
+
const deps = { ...defaultDeps(), ...overrides };
|
|
95
|
+
const fromEnv = deps.env.VANA_FRPC_PATH;
|
|
96
|
+
if (fromEnv) {
|
|
97
|
+
return isFile(fromEnv)
|
|
98
|
+
? { kind: "ready", path: fromEnv, source: "env" }
|
|
99
|
+
: {
|
|
100
|
+
kind: "unavailable",
|
|
101
|
+
reason: `VANA_FRPC_PATH (${fromEnv}) is not a file.`,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
const artifact = FRPC_ARTIFACTS[`${deps.platform}-${deps.arch}`];
|
|
105
|
+
const managed = path.join(deps.managedDir, binaryName(deps.platform));
|
|
106
|
+
if (artifact && isFile(managed)) {
|
|
107
|
+
try {
|
|
108
|
+
const marker = fs
|
|
109
|
+
.readFileSync(path.join(deps.managedDir, ".installed"), "utf8")
|
|
110
|
+
.trim();
|
|
111
|
+
if (marker === artifact.sha256) {
|
|
112
|
+
return { kind: "ready", path: managed, source: "managed" };
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// No marker: reinstall.
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (deps.platform === "darwin") {
|
|
120
|
+
for (const candidate of deps.desktopPaths) {
|
|
121
|
+
if (isFile(candidate) &&
|
|
122
|
+
(await deps.signedByTeam(candidate, VANA_APPLE_TEAM_ID))) {
|
|
123
|
+
return { kind: "ready", path: candidate, source: "desktop" };
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (artifact)
|
|
128
|
+
return { kind: "installable" };
|
|
129
|
+
return {
|
|
130
|
+
kind: "unavailable",
|
|
131
|
+
reason: `No tunnel client is pinned for ${deps.platform}-${deps.arch}. Set VANA_FRPC_PATH.`,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Download the pinned frpc for this platform, check its sha256, and install
|
|
136
|
+
* it under ~/.vana/cli/personal-server/frpc/<version>.
|
|
137
|
+
*/
|
|
138
|
+
export async function installFrpc(logPath, overrides = {}) {
|
|
139
|
+
const deps = { ...defaultDeps(), ...overrides };
|
|
140
|
+
const key = `${deps.platform}-${deps.arch}`;
|
|
141
|
+
const artifact = FRPC_ARTIFACTS[key];
|
|
142
|
+
if (!artifact) {
|
|
143
|
+
throw new Error(`No tunnel client is pinned for ${key}.`);
|
|
144
|
+
}
|
|
145
|
+
await fsp.appendFile(logPath, `Downloading ${artifact.url}\n`, "utf8");
|
|
146
|
+
const response = await (overrides.fetchImpl ?? fetch)(artifact.url, {
|
|
147
|
+
headers: { "User-Agent": "vana-cli" },
|
|
148
|
+
});
|
|
149
|
+
if (!response.ok) {
|
|
150
|
+
throw new Error(`Could not download the tunnel client: ${response.status}`);
|
|
151
|
+
}
|
|
152
|
+
const archive = Buffer.from(await response.arrayBuffer());
|
|
153
|
+
const actual = crypto.createHash("sha256").update(archive).digest("hex");
|
|
154
|
+
if (actual !== artifact.sha256) {
|
|
155
|
+
throw new Error(`The tunnel client download failed its checksum (expected ${artifact.sha256}, got ${actual}).`);
|
|
156
|
+
}
|
|
157
|
+
const parent = path.dirname(deps.managedDir);
|
|
158
|
+
await fsp.mkdir(parent, { recursive: true });
|
|
159
|
+
const staging = await fsp.mkdtemp(path.join(parent, ".staging-"));
|
|
160
|
+
try {
|
|
161
|
+
const archivePath = path.join(staging, path.basename(artifact.url));
|
|
162
|
+
await fsp.writeFile(archivePath, archive);
|
|
163
|
+
if (artifact.url.endsWith(".zip")) {
|
|
164
|
+
// Windows 10+ ships a bsdtar that reads zip.
|
|
165
|
+
await execFileAsync("tar", ["-xf", archivePath, "-C", staging]);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
await tar.x({ file: archivePath, cwd: staging });
|
|
169
|
+
}
|
|
170
|
+
const installed = path.join(staging, "out");
|
|
171
|
+
await fsp.mkdir(installed);
|
|
172
|
+
const target = path.join(installed, binaryName(deps.platform));
|
|
173
|
+
await fsp.rename(path.join(staging, artifact.entry), target);
|
|
174
|
+
if (deps.platform !== "win32")
|
|
175
|
+
await fsp.chmod(target, 0o755);
|
|
176
|
+
// The hash already pins it; the signature check is what endpoint
|
|
177
|
+
// security will judge, so refuse anything it would flag.
|
|
178
|
+
if (deps.platform === "darwin" &&
|
|
179
|
+
!(await deps.signedByTeam(target, VANA_APPLE_TEAM_ID))) {
|
|
180
|
+
throw new Error("The tunnel client is not signed by Vana.");
|
|
181
|
+
}
|
|
182
|
+
await fsp.writeFile(path.join(installed, ".installed"), `${artifact.sha256}\n`);
|
|
183
|
+
await fsp.rm(deps.managedDir, { recursive: true, force: true });
|
|
184
|
+
await fsp.rename(installed, deps.managedDir);
|
|
185
|
+
return path.join(deps.managedDir, binaryName(deps.platform));
|
|
186
|
+
}
|
|
187
|
+
finally {
|
|
188
|
+
await fsp.rm(staging, { recursive: true, force: true });
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=frpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frpc.js","sourceRoot":"","sources":["../../../src/personal-server/local/frpc.ts"],"names":[],"mappings":"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"}
|