aweshare 0.6.1 → 0.6.2
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
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<a href="https://ko-fi.com/mugpeng"><img src="https://img.shields.io/badge/Ko--fi-Buy%20me%20a%20coffee-FF5E5B?style=flat-square&logo=ko-fi&logoColor=white" alt="Ko-fi"></a>
|
|
15
15
|
</p>
|
|
16
16
|
<p>
|
|
17
|
-
<a href="https://github.com/wehuman01/aweshare-source/releases"><img src="https://img.shields.io/badge/version-0.6.
|
|
17
|
+
<a href="https://github.com/wehuman01/aweshare-source/releases"><img src="https://img.shields.io/badge/version-0.6.2-7C3AED?style=flat-square" alt="Version"></a>
|
|
18
18
|
<a href="https://github.com/wehuman01/aweshare"><img src="https://img.shields.io/badge/node-%E2%89%A522-0EA5E9?style=flat-square" alt="Node"></a>
|
|
19
19
|
<a href="https://github.com/wehuman01/aweshare/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-proprietary-E34F26?style=flat-square" alt="License"></a>
|
|
20
20
|
<a href="https://www.npmjs.com/package/aweshare"><img src="https://img.shields.io/badge/npm-aweshare-7C3AED?style=flat-square" alt="npm package"></a>
|
|
@@ -14,16 +14,24 @@ export declare class AgentConnection {
|
|
|
14
14
|
private health;
|
|
15
15
|
private heartbeatTimer;
|
|
16
16
|
private probeTimer;
|
|
17
|
+
private livenessTimer;
|
|
17
18
|
private backends;
|
|
18
19
|
private registeredWaiters;
|
|
20
|
+
/** Last proof the tunnel path is alive: the hello on open, any pong since. */
|
|
21
|
+
private lastPongAt;
|
|
22
|
+
private readonly pongTimeoutMs;
|
|
23
|
+
private readonly livenessIntervalMs;
|
|
19
24
|
private readonly log;
|
|
20
25
|
constructor(opts: AgentConnectionOptions);
|
|
21
|
-
/** Swap in a freshly loaded config+secrets pair
|
|
22
|
-
*
|
|
23
|
-
* (upsert + prune), so removed aliases disappear from the
|
|
24
|
-
* in-flight requests finish against their captured
|
|
25
|
-
*
|
|
26
|
-
*
|
|
26
|
+
/** Swap in a freshly loaded config+secrets pair. On an open tunnel it
|
|
27
|
+
* re-registers without a disconnect — the hub treats a second register as
|
|
28
|
+
* latest-wins (upsert + prune), so removed aliases disappear from the
|
|
29
|
+
* catalog at once; in-flight requests finish against their captured
|
|
30
|
+
* backends. On a non-OPEN socket (still connecting, closing, or stuck
|
|
31
|
+
* half-open) it cuts the socket so the reconnect loop redials with the
|
|
32
|
+
* fresh config — previously such a reload silently did nothing and a stuck
|
|
33
|
+
* connection stayed stuck until a process restart. Config validation is
|
|
34
|
+
* the caller's job: loadAgentConfig throws before a bad file reaches us. */
|
|
27
35
|
applyConfig(next: AgentConnectionOptions): void;
|
|
28
36
|
private static resolveBackends;
|
|
29
37
|
/** In-flight jobs; completed or canceled jobs are removed. Exposed for tests. */
|
|
@@ -35,6 +43,12 @@ export declare class AgentConnection {
|
|
|
35
43
|
private runConnection;
|
|
36
44
|
private register;
|
|
37
45
|
private sendHeartbeat;
|
|
46
|
+
/** Ping/pong liveness: the hub auto-pongs our pings, so an OPEN socket whose
|
|
47
|
+
* pong has been silent past pongTimeoutMs is a dead path (sleep-wake, NAT
|
|
48
|
+
* timeout) — terminate it so the reconnect loop dials a fresh tunnel instead
|
|
49
|
+
* of waiting minutes for TCP retransmit to give up. Pings go out every
|
|
50
|
+
* pongTimeoutMs/3, so the deadline is only judged against pings we sent. */
|
|
51
|
+
private sendLivenessPing;
|
|
38
52
|
/** Minimal live probe for degraded backends; success clears the degraded state. */
|
|
39
53
|
private probeDegraded;
|
|
40
54
|
}
|
|
@@ -42,4 +56,6 @@ export interface AgentConnectionOptions {
|
|
|
42
56
|
config: AgentConfig;
|
|
43
57
|
secrets: Record<string, string>;
|
|
44
58
|
log?: Logger;
|
|
59
|
+
/** Silent-pong window before an OPEN tunnel is assumed dead (default 45s). */
|
|
60
|
+
pongTimeoutMs?: number;
|
|
45
61
|
}
|
|
@@ -7,6 +7,17 @@ const RECONNECT_BASE_MS = 1500;
|
|
|
7
7
|
const RECONNECT_MAX_MS = 15_000;
|
|
8
8
|
const HEARTBEAT_INTERVAL_MS = 15_000;
|
|
9
9
|
const DEGRADED_PROBE_INTERVAL_MS = 30_000;
|
|
10
|
+
/** ws applies no handshake timeout by default: a network that swallows the
|
|
11
|
+
* TCP/TLS/upgrade exchange (sleep-wake, Wi-Fi switch) leaves the socket in
|
|
12
|
+
* CONNECTING forever — no 'error', no 'close', and the reconnect loop parked
|
|
13
|
+
* inside runConnection() for the life of the process. */
|
|
14
|
+
const HANDSHAKE_TIMEOUT_MS = 20_000;
|
|
15
|
+
/** Grace period for the graceful close in stop() before we cut the socket. */
|
|
16
|
+
const STOP_TERMINATE_MS = 2_000;
|
|
17
|
+
/** A dead-but-OPEN tunnel never errors on its own (heartbeats buffer into the
|
|
18
|
+
* void; TCP retransmit can take many minutes to give up). The hub auto-pongs
|
|
19
|
+
* our pings, so silent pong loss past this window means the path is gone. */
|
|
20
|
+
const PONG_TIMEOUT_MS = 45_000;
|
|
10
21
|
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
11
22
|
/** ±25% jitter over the backoff so many agents reconnecting after a hub
|
|
12
23
|
* restart don't stampede it in lockstep. */
|
|
@@ -107,24 +118,41 @@ export class AgentConnection {
|
|
|
107
118
|
health = new HealthGate();
|
|
108
119
|
heartbeatTimer = null;
|
|
109
120
|
probeTimer = null;
|
|
121
|
+
livenessTimer = null;
|
|
110
122
|
backends;
|
|
111
123
|
registeredWaiters = [];
|
|
124
|
+
/** Last proof the tunnel path is alive: the hello on open, any pong since. */
|
|
125
|
+
lastPongAt = 0;
|
|
126
|
+
pongTimeoutMs;
|
|
127
|
+
livenessIntervalMs;
|
|
112
128
|
log;
|
|
113
129
|
constructor(opts) {
|
|
114
130
|
this.opts = opts;
|
|
115
131
|
this.log = opts.log ?? pino({ level: process.env.AWESHARE_LOG ?? 'info' });
|
|
116
132
|
this.backends = AgentConnection.resolveBackends(opts);
|
|
133
|
+
this.pongTimeoutMs = opts.pongTimeoutMs ?? PONG_TIMEOUT_MS;
|
|
134
|
+
this.livenessIntervalMs = Math.max(50, Math.floor(this.pongTimeoutMs / 3));
|
|
117
135
|
}
|
|
118
|
-
/** Swap in a freshly loaded config+secrets pair
|
|
119
|
-
*
|
|
120
|
-
* (upsert + prune), so removed aliases disappear from the
|
|
121
|
-
* in-flight requests finish against their captured
|
|
122
|
-
*
|
|
123
|
-
*
|
|
136
|
+
/** Swap in a freshly loaded config+secrets pair. On an open tunnel it
|
|
137
|
+
* re-registers without a disconnect — the hub treats a second register as
|
|
138
|
+
* latest-wins (upsert + prune), so removed aliases disappear from the
|
|
139
|
+
* catalog at once; in-flight requests finish against their captured
|
|
140
|
+
* backends. On a non-OPEN socket (still connecting, closing, or stuck
|
|
141
|
+
* half-open) it cuts the socket so the reconnect loop redials with the
|
|
142
|
+
* fresh config — previously such a reload silently did nothing and a stuck
|
|
143
|
+
* connection stayed stuck until a process restart. Config validation is
|
|
144
|
+
* the caller's job: loadAgentConfig throws before a bad file reaches us. */
|
|
124
145
|
applyConfig(next) {
|
|
125
146
|
this.opts = next;
|
|
126
147
|
this.backends = AgentConnection.resolveBackends(next);
|
|
127
|
-
this.
|
|
148
|
+
const ws = this.ws;
|
|
149
|
+
if (ws?.readyState === WebSocket.OPEN) {
|
|
150
|
+
this.register();
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
// ws is null while the loop sleeps between retries — the next dial reads
|
|
154
|
+
// this.opts anyway, so there is nothing to cut.
|
|
155
|
+
ws?.terminate();
|
|
128
156
|
}
|
|
129
157
|
static resolveBackends(opts) {
|
|
130
158
|
return new Map(opts.config.backends.map((b) => [
|
|
@@ -144,6 +172,7 @@ export class AgentConnection {
|
|
|
144
172
|
this.stopped = false;
|
|
145
173
|
this.heartbeatTimer = setInterval(() => this.sendHeartbeat(), HEARTBEAT_INTERVAL_MS);
|
|
146
174
|
this.probeTimer = setInterval(() => void this.probeDegraded(), DEGRADED_PROBE_INTERVAL_MS);
|
|
175
|
+
this.livenessTimer = setInterval(() => this.sendLivenessPing(), this.livenessIntervalMs);
|
|
147
176
|
while (!this.stopped) {
|
|
148
177
|
try {
|
|
149
178
|
await this.runConnection();
|
|
@@ -165,16 +194,24 @@ export class AgentConnection {
|
|
|
165
194
|
clearInterval(this.heartbeatTimer);
|
|
166
195
|
if (this.probeTimer)
|
|
167
196
|
clearInterval(this.probeTimer);
|
|
197
|
+
if (this.livenessTimer)
|
|
198
|
+
clearInterval(this.livenessTimer);
|
|
168
199
|
for (const job of this.jobs.values())
|
|
169
200
|
job.abort();
|
|
170
201
|
this.jobs.clear();
|
|
171
202
|
await new Promise((resolve) => {
|
|
172
|
-
|
|
203
|
+
const ws = this.ws;
|
|
204
|
+
if (!ws || ws.readyState === WebSocket.CLOSED) {
|
|
173
205
|
resolve(undefined);
|
|
174
206
|
return;
|
|
175
207
|
}
|
|
176
|
-
|
|
177
|
-
|
|
208
|
+
ws.once('close', () => resolve(undefined));
|
|
209
|
+
ws.close();
|
|
210
|
+
// The peer may never answer the close handshake (dead network): cut the
|
|
211
|
+
// socket instead of waiting out ws's 30s close timer. Captured by value —
|
|
212
|
+
// terminate() on the CLOSED socket is a no-op. unref'd so it never holds
|
|
213
|
+
// the event loop open by itself.
|
|
214
|
+
setTimeout(() => ws.terminate(), STOP_TERMINATE_MS).unref();
|
|
178
215
|
});
|
|
179
216
|
}
|
|
180
217
|
runConnection() {
|
|
@@ -184,9 +221,14 @@ export class AgentConnection {
|
|
|
184
221
|
const ws = new WebSocket(wsUrl, {
|
|
185
222
|
headers: { authorization: `Bearer ${config.token}`, 'user-agent': USER_AGENT },
|
|
186
223
|
maxPayload: 256 * 1024,
|
|
224
|
+
handshakeTimeout: HANDSHAKE_TIMEOUT_MS,
|
|
187
225
|
});
|
|
188
226
|
this.ws = ws;
|
|
189
227
|
let wireOk = false;
|
|
228
|
+
// any inbound pong proves the path is alive (hub auto-pongs our pings)
|
|
229
|
+
ws.on('pong', () => {
|
|
230
|
+
this.lastPongAt = Date.now();
|
|
231
|
+
});
|
|
190
232
|
ws.on('message', (data, isBinary) => {
|
|
191
233
|
try {
|
|
192
234
|
if (isBinary) {
|
|
@@ -202,6 +244,7 @@ export class AgentConnection {
|
|
|
202
244
|
return;
|
|
203
245
|
}
|
|
204
246
|
wireOk = true;
|
|
247
|
+
this.lastPongAt = Date.now();
|
|
205
248
|
this.register();
|
|
206
249
|
return;
|
|
207
250
|
}
|
|
@@ -286,6 +329,22 @@ export class AgentConnection {
|
|
|
286
329
|
return;
|
|
287
330
|
ws.send(JSON.stringify({ type: 'heartbeat', backendStatus: this.health.statusMap() }));
|
|
288
331
|
}
|
|
332
|
+
/** Ping/pong liveness: the hub auto-pongs our pings, so an OPEN socket whose
|
|
333
|
+
* pong has been silent past pongTimeoutMs is a dead path (sleep-wake, NAT
|
|
334
|
+
* timeout) — terminate it so the reconnect loop dials a fresh tunnel instead
|
|
335
|
+
* of waiting minutes for TCP retransmit to give up. Pings go out every
|
|
336
|
+
* pongTimeoutMs/3, so the deadline is only judged against pings we sent. */
|
|
337
|
+
sendLivenessPing() {
|
|
338
|
+
const ws = this.ws;
|
|
339
|
+
if (!ws || ws.readyState !== WebSocket.OPEN)
|
|
340
|
+
return;
|
|
341
|
+
if (Date.now() - this.lastPongAt > this.pongTimeoutMs) {
|
|
342
|
+
this.log.warn(`no pong from hub for ${Math.round((Date.now() - this.lastPongAt) / 1000)}s — tunnel assumed dead, redialing`);
|
|
343
|
+
ws.terminate();
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
ws.ping();
|
|
347
|
+
}
|
|
289
348
|
/** Minimal live probe for degraded backends; success clears the degraded state. */
|
|
290
349
|
async probeDegraded() {
|
|
291
350
|
for (const backend of this.backends.values()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|