@push.rocks/smartvpn 2.3.0 → 2.3.1
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/dist_rust/smartvpn_daemon_linux_amd64_musl +0 -0
- package/dist_rust/smartvpn_daemon_linux_amd64_musl.tsrust-build.json +4 -4
- package/dist_rust/smartvpn_daemon_linux_arm64_musl +0 -0
- package/dist_rust/smartvpn_daemon_linux_arm64_musl.tsrust-build.json +4 -4
- package/dist_ts/00_commitinfo_data.js +3 -3
- package/dist_ts/smartvpn.interfaces.d.ts +1 -0
- package/package.json +3 -3
- package/readme.md +10 -2
- package/ts/00_commitinfo_data.ts +3 -3
- package/ts/smartvpn.interfaces.ts +1 -0
|
Binary file
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "d4e6f89ac9278183338ea8a83fd112ef8b7516576057234f7bab8181291089a1",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@push.rocks/smartvpn",
|
|
6
|
-
"projectVersion": "2.3.
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "2.3.1",
|
|
7
|
+
"gitCommit": "a96a22bd5ff5fe870e72c225b51f4715c1b25c40",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-09-
|
|
9
|
+
"builtAt": "2026-09-17T15:20:47.136Z",
|
|
10
10
|
"tsrustVersion": "1.13.0",
|
|
11
11
|
"binary": "smartvpn_daemon",
|
|
12
12
|
"target": "linux_amd64_musl"
|
|
Binary file
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "9c8bdf211d7bbb9425e7dcf44ead8b39b584e6fd1b18cfdddff07b51133fb16d",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@push.rocks/smartvpn",
|
|
6
|
-
"projectVersion": "2.3.
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "2.3.1",
|
|
7
|
+
"gitCommit": "a96a22bd5ff5fe870e72c225b51f4715c1b25c40",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-09-
|
|
9
|
+
"builtAt": "2026-09-17T15:20:47.476Z",
|
|
10
10
|
"tsrustVersion": "1.13.0",
|
|
11
11
|
"binary": "smartvpn_daemon",
|
|
12
12
|
"target": "linux_arm64_musl"
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* autocreated commitinfo by @push.rocks/commitinfo
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
|
-
name:
|
|
6
|
-
version:
|
|
7
|
-
description:
|
|
5
|
+
name: "@push.rocks/smartvpn",
|
|
6
|
+
version: "2.3.1",
|
|
7
|
+
description: "A VPN solution with TypeScript control plane and Rust data plane daemon"
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHlFQUF5RTtDQUN2RixDQUFBIn0=
|
|
@@ -642,6 +642,7 @@ export interface IManagedNetworkNode {
|
|
|
642
642
|
controlAddress: string;
|
|
643
643
|
controlPolicyDomain: string;
|
|
644
644
|
enabled: boolean;
|
|
645
|
+
/** Credential expiry (ISO 8601); renewing only this keeps the node's live session. */
|
|
645
646
|
expiresAt?: string;
|
|
646
647
|
workloadPrefixes: IManagedNetworkPrefix[];
|
|
647
648
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@push.rocks/smartvpn",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A VPN solution with TypeScript control plane and Rust data plane daemon",
|
|
6
6
|
"type": "module",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"@git.zone/tsbuild": "^4.4.3",
|
|
32
32
|
"@git.zone/tsrun": "^2.0.6",
|
|
33
33
|
"@git.zone/tsrust": "^1.13.0",
|
|
34
|
-
"@git.zone/tstest": "^6.
|
|
35
|
-
"@types/node": "^26.5.
|
|
34
|
+
"@git.zone/tstest": "^6.1.1",
|
|
35
|
+
"@types/node": "^26.5.1"
|
|
36
36
|
},
|
|
37
37
|
"files": [
|
|
38
38
|
"ts/**/*",
|
package/readme.md
CHANGED
|
@@ -784,8 +784,16 @@ are never routed back to the hub merely because a grant involves them.
|
|
|
784
784
|
|
|
785
785
|
Invalid preparation preserves active authority. A valid change quarantines and
|
|
786
786
|
cancels only affected node generations, joins their packet work, prepares WG
|
|
787
|
-
crypto and commits the whole snapshot atomically before acknowledging.
|
|
788
|
-
|
|
787
|
+
crypto and commits the whole snapshot atomically before acknowledging. A node is
|
|
788
|
+
affected when it is added or removed, or when its keys, control address or domain,
|
|
789
|
+
`enabled`, workload prefixes, or the grants and routes involving it change.
|
|
790
|
+
Unchanged nodes keep their sessions. A change to `expiresAt` alone does not affect
|
|
791
|
+
a node: its live native or WireGuard session stays connected and follows the
|
|
792
|
+
committed expiry in place. A later expiry keeps the session, an earlier future
|
|
793
|
+
expiry re-arms its deadline, and an expiry that has already passed ends it when
|
|
794
|
+
the snapshot commits. A session whose expiry passed is never revived, so renew
|
|
795
|
+
before expiry; after a late renewal the node can reconnect with its unchanged keys.
|
|
796
|
+
A post-drain failure leaves `state: 'failed'`, its
|
|
789
797
|
`pendingRevision` and bounded `lastError`; old affected admission stays closed.
|
|
790
798
|
Only the exact pending snapshot can retry. An IPC timeout or disconnected caller
|
|
791
799
|
does not cancel the process-owned operation. Inspect status and replay that exact
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* autocreated commitinfo by @push.rocks/commitinfo
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
|
-
name:
|
|
6
|
-
version:
|
|
7
|
-
description:
|
|
5
|
+
name: "@push.rocks/smartvpn",
|
|
6
|
+
version: "2.3.1",
|
|
7
|
+
description: "A VPN solution with TypeScript control plane and Rust data plane daemon"
|
|
8
8
|
}
|
|
@@ -553,6 +553,7 @@ export interface IManagedNetworkNode {
|
|
|
553
553
|
controlAddress: string;
|
|
554
554
|
controlPolicyDomain: string;
|
|
555
555
|
enabled: boolean;
|
|
556
|
+
/** Credential expiry (ISO 8601); renewing only this keeps the node's live session. */
|
|
556
557
|
expiresAt?: string;
|
|
557
558
|
workloadPrefixes: IManagedNetworkPrefix[];
|
|
558
559
|
}
|