@serve.zone/dcrouter 13.0.11 → 13.1.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.
Files changed (43) hide show
  1. package/dist_serve/bundle.js +2801 -2735
  2. package/dist_ts/00_commitinfo_data.js +2 -2
  3. package/dist_ts/classes.dcrouter.js +18 -10
  4. package/dist_ts/config/classes.route-config-manager.d.ts +6 -1
  5. package/dist_ts/config/classes.route-config-manager.js +4 -4
  6. package/dist_ts/config/classes.target-profile-manager.d.ts +20 -7
  7. package/dist_ts/config/classes.target-profile-manager.js +68 -29
  8. package/dist_ts/db/documents/classes.vpn-client.doc.d.ts +0 -1
  9. package/dist_ts/db/documents/classes.vpn-client.doc.js +2 -8
  10. package/dist_ts/opsserver/handlers/certificate.handler.d.ts +16 -2
  11. package/dist_ts/opsserver/handlers/certificate.handler.js +46 -16
  12. package/dist_ts/opsserver/handlers/vpn.handler.js +1 -5
  13. package/dist_ts/vpn/classes.vpn-manager.d.ts +2 -4
  14. package/dist_ts/vpn/classes.vpn-manager.js +9 -27
  15. package/dist_ts_interfaces/data/target-profile.d.ts +1 -1
  16. package/dist_ts_interfaces/data/vpn.d.ts +0 -1
  17. package/dist_ts_interfaces/requests/vpn.d.ts +0 -2
  18. package/dist_ts_migrations/index.d.ts +28 -0
  19. package/dist_ts_migrations/index.js +44 -0
  20. package/dist_ts_web/00_commitinfo_data.js +2 -2
  21. package/dist_ts_web/appstate.d.ts +2 -4
  22. package/dist_ts_web/appstate.js +1 -3
  23. package/dist_ts_web/elements/ops-view-security.d.ts +3 -0
  24. package/dist_ts_web/elements/ops-view-security.js +75 -170
  25. package/dist_ts_web/elements/ops-view-targetprofiles.js +8 -8
  26. package/dist_ts_web/elements/ops-view-vpn.js +8 -18
  27. package/package.json +9 -8
  28. package/ts/00_commitinfo_data.ts +1 -1
  29. package/ts/classes.dcrouter.ts +19 -9
  30. package/ts/config/classes.route-config-manager.ts +7 -4
  31. package/ts/config/classes.target-profile-manager.ts +80 -28
  32. package/ts/db/documents/classes.vpn-client.doc.ts +0 -3
  33. package/ts/opsserver/handlers/certificate.handler.ts +44 -15
  34. package/ts/opsserver/handlers/vpn.handler.ts +0 -4
  35. package/ts/tspublish.json +1 -1
  36. package/ts/vpn/classes.vpn-manager.ts +8 -26
  37. package/ts_apiclient/tspublish.json +1 -1
  38. package/ts_web/00_commitinfo_data.ts +1 -1
  39. package/ts_web/appstate.ts +6 -6
  40. package/ts_web/elements/ops-view-security.ts +78 -168
  41. package/ts_web/elements/ops-view-targetprofiles.ts +9 -9
  42. package/ts_web/elements/ops-view-vpn.ts +9 -16
  43. package/ts_web/tspublish.json +1 -1
@@ -28,7 +28,7 @@ function setupFormVisibility(formEl: any) {
28
28
  const staticIpGroup = contentEl.querySelector('.staticIpGroup') as HTMLElement;
29
29
  const vlanIdGroup = contentEl.querySelector('.vlanIdGroup') as HTMLElement;
30
30
  const aclGroup = contentEl.querySelector('.aclGroup') as HTMLElement;
31
- if (hostIpGroup) hostIpGroup.style.display = data.forceDestinationSmartproxy ? 'none' : show;
31
+ if (hostIpGroup) hostIpGroup.style.display = show; // always show (forceTarget is always on)
32
32
  if (hostIpDetails) hostIpDetails.style.display = data.useHostIp ? show : 'none';
33
33
  if (staticIpGroup) staticIpGroup.style.display = data.useDhcp ? 'none' : show;
34
34
  if (vlanIdGroup) vlanIdGroup.style.display = data.forceVlan ? show : 'none';
@@ -317,9 +317,7 @@ export class OpsViewVpn extends DeesElement {
317
317
  statusHtml = html`<span class="statusBadge enabled" style="background: ${cssManager.bdTheme('#eff6ff', '#172554')}; color: ${cssManager.bdTheme('#1e40af', '#60a5fa')};">offline</span>`;
318
318
  }
319
319
  let routingHtml;
320
- if (client.forceDestinationSmartproxy !== false) {
321
- routingHtml = html`<span class="statusBadge enabled">SmartProxy</span>`;
322
- } else if (client.useHostIp) {
320
+ if (client.useHostIp) {
323
321
  routingHtml = html`<span class="statusBadge" style="background: ${cssManager.bdTheme('#f3e8ff', '#3b0764')}; color: ${cssManager.bdTheme('#7c3aed', '#c084fc')};">Host IP</span>`;
324
322
  } else {
325
323
  routingHtml = html`<span class="statusBadge" style="background: ${cssManager.bdTheme('#eff6ff', '#172554')}; color: ${cssManager.bdTheme('#1e40af', '#60a5fa')};">Direct</span>`;
@@ -355,8 +353,7 @@ export class OpsViewVpn extends DeesElement {
355
353
  <dees-input-text .key=${'clientId'} .label=${'Client ID'} .required=${true}></dees-input-text>
356
354
  <dees-input-text .key=${'description'} .label=${'Description'}></dees-input-text>
357
355
  <dees-input-list .key=${'targetProfileNames'} .label=${'Target Profiles'} .placeholder=${'Type to search profiles...'} .candidates=${profileCandidates} .allowFreeform=${false}></dees-input-list>
358
- <dees-input-checkbox .key=${'forceDestinationSmartproxy'} .label=${'Force traffic through SmartProxy'} .value=${true}></dees-input-checkbox>
359
- <div class="hostIpGroup" style="display: none; flex-direction: column; gap: 16px;">
356
+ <div class="hostIpGroup" style="display: flex; flex-direction: column; gap: 16px;">
360
357
  <dees-input-checkbox .key=${'useHostIp'} .label=${'Get Host IP'} .value=${false}></dees-input-checkbox>
361
358
  <div class="hostIpDetails" style="display: none; flex-direction: column; gap: 16px;">
362
359
  <dees-input-checkbox .key=${'useDhcp'} .label=${'Get IP through DHCP'} .value=${false}></dees-input-checkbox>
@@ -395,8 +392,7 @@ export class OpsViewVpn extends DeesElement {
395
392
  );
396
393
 
397
394
  // Apply conditional logic based on checkbox states
398
- const forceSmartproxy = data.forceDestinationSmartproxy ?? true;
399
- const useHostIp = !forceSmartproxy && (data.useHostIp ?? false);
395
+ const useHostIp = data.useHostIp ?? false;
400
396
  const useDhcp = useHostIp && (data.useDhcp ?? false);
401
397
  const staticIp = useHostIp && !useDhcp && data.staticIp ? data.staticIp : undefined;
402
398
  const forceVlan = useHostIp && (data.forceVlan ?? false);
@@ -414,7 +410,7 @@ export class OpsViewVpn extends DeesElement {
414
410
  clientId: data.clientId,
415
411
  description: data.description || undefined,
416
412
  targetProfileIds,
417
- forceDestinationSmartproxy: forceSmartproxy,
413
+
418
414
  useHostIp: useHostIp || undefined,
419
415
  useDhcp: useDhcp || undefined,
420
416
  staticIp,
@@ -487,7 +483,7 @@ export class OpsViewVpn extends DeesElement {
487
483
  ` : ''}
488
484
  <div class="infoItem"><span class="infoLabel">Description</span><span class="infoValue">${client.description || '-'}</span></div>
489
485
  <div class="infoItem"><span class="infoLabel">Target Profiles</span><span class="infoValue">${this.resolveProfileIdsToNames(client.targetProfileIds)?.join(', ') || '-'}</span></div>
490
- <div class="infoItem"><span class="infoLabel">Routing</span><span class="infoValue">${client.forceDestinationSmartproxy !== false ? 'SmartProxy' : client.useHostIp ? 'Host IP' : 'Direct'}</span></div>
486
+ <div class="infoItem"><span class="infoLabel">Routing</span><span class="infoValue">${client.useHostIp ? 'Host IP' : 'SmartProxy'}</span></div>
491
487
  ${client.useHostIp ? html`
492
488
  <div class="infoItem"><span class="infoLabel">Host IP</span><span class="infoValue">${client.useDhcp ? 'DHCP' : client.staticIp ? `Static: ${client.staticIp}` : 'Not configured'}</span></div>
493
489
  <div class="infoItem"><span class="infoLabel">VLAN</span><span class="infoValue">${client.forceVlan && client.vlanId != null ? `VLAN ${client.vlanId}` : 'No VLAN'}</span></div>
@@ -652,7 +648,6 @@ export class OpsViewVpn extends DeesElement {
652
648
  const currentDescription = client.description ?? '';
653
649
  const currentTargetProfileNames = this.resolveProfileIdsToNames(client.targetProfileIds) || [];
654
650
  const profileCandidates = this.getTargetProfileCandidates();
655
- const currentForceSmartproxy = client.forceDestinationSmartproxy ?? true;
656
651
  const currentUseHostIp = client.useHostIp ?? false;
657
652
  const currentUseDhcp = client.useDhcp ?? false;
658
653
  const currentStaticIp = client.staticIp ?? '';
@@ -668,8 +663,7 @@ export class OpsViewVpn extends DeesElement {
668
663
  <dees-form>
669
664
  <dees-input-text .key=${'description'} .label=${'Description'} .value=${currentDescription}></dees-input-text>
670
665
  <dees-input-list .key=${'targetProfileNames'} .label=${'Target Profiles'} .placeholder=${'Type to search profiles...'} .candidates=${profileCandidates} .allowFreeform=${false} .value=${currentTargetProfileNames}></dees-input-list>
671
- <dees-input-checkbox .key=${'forceDestinationSmartproxy'} .label=${'Force traffic through SmartProxy'} .value=${currentForceSmartproxy}></dees-input-checkbox>
672
- <div class="hostIpGroup" style="display: ${currentForceSmartproxy ? 'none' : 'flex'}; flex-direction: column; gap: 16px;">
666
+ <div class="hostIpGroup" style="display: flex; flex-direction: column; gap: 16px;">
673
667
  <dees-input-checkbox .key=${'useHostIp'} .label=${'Get Host IP'} .value=${currentUseHostIp}></dees-input-checkbox>
674
668
  <div class="hostIpDetails" style="display: ${currentUseHostIp ? 'flex' : 'none'}; flex-direction: column; gap: 16px;">
675
669
  <dees-input-checkbox .key=${'useDhcp'} .label=${'Get IP through DHCP'} .value=${currentUseDhcp}></dees-input-checkbox>
@@ -703,8 +697,7 @@ export class OpsViewVpn extends DeesElement {
703
697
  );
704
698
 
705
699
  // Apply conditional logic based on checkbox states
706
- const forceSmartproxy = data.forceDestinationSmartproxy ?? true;
707
- const useHostIp = !forceSmartproxy && (data.useHostIp ?? false);
700
+ const useHostIp = data.useHostIp ?? false;
708
701
  const useDhcp = useHostIp && (data.useDhcp ?? false);
709
702
  const staticIp = useHostIp && !useDhcp && data.staticIp ? data.staticIp : undefined;
710
703
  const forceVlan = useHostIp && (data.forceVlan ?? false);
@@ -722,7 +715,7 @@ export class OpsViewVpn extends DeesElement {
722
715
  clientId: client.clientId,
723
716
  description: data.description || undefined,
724
717
  targetProfileIds,
725
- forceDestinationSmartproxy: forceSmartproxy,
718
+
726
719
  useHostIp: useHostIp || undefined,
727
720
  useDhcp: useDhcp || undefined,
728
721
  staticIp,
@@ -1,3 +1,3 @@
1
1
  {
2
- "order": 3
2
+ "order": 4
3
3
  }