@push.rocks/smartvpn 1.12.0 → 1.13.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.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartvpn',
6
- version: '1.12.0',
6
+ version: '1.13.0',
7
7
  description: 'A VPN solution with TypeScript control plane and Rust data plane daemon'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHlFQUF5RTtDQUN2RixDQUFBIn0=
@@ -46,6 +46,8 @@ export interface IVpnClientConfig {
46
46
  wgEndpoint?: string;
47
47
  /** WireGuard: allowed IPs (CIDR strings, e.g. ['0.0.0.0/0']) */
48
48
  wgAllowedIps?: string[];
49
+ /** Client-defined tags reported to the server after connection (informational, not for access control) */
50
+ clientDefinedClientTags?: string[];
49
51
  }
50
52
  export interface IVpnClientOptions {
51
53
  transport: TVpnTransportOptions;
@@ -233,7 +235,11 @@ export interface IClientEntry {
233
235
  priority?: number;
234
236
  /** Whether this client is enabled (default: true) */
235
237
  enabled?: boolean;
236
- /** Tags for grouping (e.g. ["engineering", "office"]) */
238
+ /** Tags assigned by the server admin — trusted, used for access control (e.g. ["engineering", "office"]) */
239
+ serverDefinedClientTags?: string[];
240
+ /** Tags reported by the connecting client — informational only, never used for access control */
241
+ clientDefinedClientTags?: string[];
242
+ /** @deprecated Use serverDefinedClientTags instead. Legacy field kept for backward compatibility. */
237
243
  tags?: string[];
238
244
  /** Optional description */
239
245
  description?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@push.rocks/smartvpn",
3
- "version": "1.12.0",
3
+ "version": "1.13.0",
4
4
  "private": false,
5
5
  "description": "A VPN solution with TypeScript control plane and Rust data plane daemon",
6
6
  "type": "module",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartvpn',
6
- version: '1.12.0',
6
+ version: '1.13.0',
7
7
  description: 'A VPN solution with TypeScript control plane and Rust data plane daemon'
8
8
  }
@@ -57,6 +57,8 @@ export interface IVpnClientConfig {
57
57
  wgEndpoint?: string;
58
58
  /** WireGuard: allowed IPs (CIDR strings, e.g. ['0.0.0.0/0']) */
59
59
  wgAllowedIps?: string[];
60
+ /** Client-defined tags reported to the server after connection (informational, not for access control) */
61
+ clientDefinedClientTags?: string[];
60
62
  }
61
63
 
62
64
  export interface IVpnClientOptions {
@@ -290,7 +292,11 @@ export interface IClientEntry {
290
292
  priority?: number;
291
293
  /** Whether this client is enabled (default: true) */
292
294
  enabled?: boolean;
293
- /** Tags for grouping (e.g. ["engineering", "office"]) */
295
+ /** Tags assigned by the server admin — trusted, used for access control (e.g. ["engineering", "office"]) */
296
+ serverDefinedClientTags?: string[];
297
+ /** Tags reported by the connecting client — informational only, never used for access control */
298
+ clientDefinedClientTags?: string[];
299
+ /** @deprecated Use serverDefinedClientTags instead. Legacy field kept for backward compatibility. */
294
300
  tags?: string[];
295
301
  /** Optional description */
296
302
  description?: string;