Commit Graph

143 Commits

Author SHA1 Message Date
28a38252da feat(certs): persist ACME certificates in StorageManager, add storage-backed cert manager, default storage to filesystem, and improve certificate status reporting 2026-02-14 14:27:58 +00:00
6532c7ff22 fix(deps): bump @push.rocks/smartproxy dependency to ^25.2.2 2026-02-14 12:49:57 +00:00
09d66e4528 fix(dcrouter): bump patch for release pipeline consistency - no code changes 2026-02-14 12:33:04 +00:00
3078fa9d7b feat(dashboard): use SmartProxy server-side throughput history and per-IP bandwidth in network view 2026-02-14 12:31:44 +00:00
d73266eeb8 fix(deps): bump @push.rocks/smartproxy to ^25.2.0 2026-02-14 11:26:58 +00:00
383e0adc23 fix(dependencies): bump @push.rocks/smartproxy to ^25.1.0 2026-02-14 09:25:59 +00:00
2638990667 fix(dcrouter): improve domain pattern matching to support routing-glob and wildcard patterns and use matching logic when resolving routes 2026-02-13 23:16:25 +00:00
b033d80927 fix(network,dcrouter): Always register SmartProxy certificate event handlers and include total bytes + improved connection metrics in network stats/UI 2026-02-13 22:03:23 +00:00
8e722f5ab6 feat(certificates): include certificate source/issuer and Rust-side status checks; pass eventComms into certProvisionFunction and record expiry information 2026-02-13 21:37:52 +00:00
c5e2c262b7 feat(certificates): add certificate overview and reprovisioning in ops UI and API; track SmartProxy certificate events 2026-02-13 17:05:33 +00:00
8be1e87bdc feat(monitoring): add throughput metrics and expose them in ops UI 2026-02-13 14:19:19 +00:00
ca112c3e42 feat(acme): Integrate SmartAcme DNS-01 handling and add certificate provisioning for SmartProxy 2026-02-13 12:12:01 +00:00
ee550e6f25 fix(deps): bump @push.rocks/smartdns to ^7.8.1 and @push.rocks/smartmta to ^5.2.2 2026-02-13 00:02:09 +00:00
3c5b26d1c1 fix(deps): bump @push.rocks/smartproxy to ^23.1.4 2026-02-12 22:51:55 +00:00
8dd9770339 fix(dcrouter): remove legacy handling of emailConfig.routes that added domain-based routes 2026-02-12 16:27:28 +00:00
a309145829 fix(cache): use user-writable ~/.serve.zone/dcrouter for TsmDB and centralize data path logic 2026-02-12 14:20:42 +00:00
2d6dbc552e fix(packaging): add files whitelist to package.json and remove Playwright-generated screenshots 2026-02-12 13:41:32 +00:00
87c039a63f fix(docs): update documentation and packaging configuration: document smartmta/smartdns integrations, adjust API method names, and add release registry info 2026-02-12 10:15:26 +00:00
735464e8e6 fix(deps/tests): bump two dependencies and disable cache in tests 2026-02-11 17:24:17 +00:00
530ebbf3e4 BREAKING CHANGE(mta): migrate internal MTA to @push.rocks/smartmta and remove legacy mail/deliverability implementation 2026-02-11 16:32:49 +00:00
e375adb80a fix(smartproxy): upgrade @push.rocks/smartproxy to ^23.1.0 and adapt code/tests for its async getStatistics() API 2026-02-10 14:41:19 +00:00
41fe7a8a47 feat(cache): add persistent smartdata-backed cache with LocalTsmDb, cache cleaner, and DcRouter integration 2026-02-10 11:22:15 +00:00
9e0e77737b BREAKING CHANGE(config): convert configuration management to read-only; remove updateConfiguration endpoint and client-side editing 2026-02-03 23:26:51 +00:00
ae34314f54 feat(web): determine initial UI view from URL and wire selected view to appdash; add interface and web README files; bump various dependencies 2026-02-02 22:21:55 +00:00
1a108fa8b7 BREAKING CHANGE(deps): upgrade major dependencies, migrate action.target to action.targets (array), adapt to SmartRequest API changes, and add RADIUS server support 2026-02-02 00:36:19 +00:00
c2d3ace0dd feat(radius): add RADIUS server with MAC authentication (MAB), VLAN assignment, accounting and OpsServer API handlers 2026-02-01 19:21:37 +00:00
b90650c660 fix(tests): update tests and test helpers to current email/DNS APIs, use non-privileged ports, and improve robustness and resilience 2026-02-01 18:10:30 +00:00
d54831765b fix(mail): migrate filesystem helpers to fsUtils, update DKIM and mail APIs, harden SMTP client, and bump dependencies 2026-02-01 14:17:54 +00:00
ee561c0823 update 2025-07-03 01:50:46 +00:00
2f46b3c9f3 update 2025-07-02 11:33:50 +00:00
7bd94884f4 update 2025-06-29 18:47:44 +00:00
d24e51117d fix(metrics): fix metrics 2025-06-22 23:40:02 +00:00
92fde9d0d7 feat: Implement network metrics integration and UI updates for real-time data display 2025-06-20 10:56:53 +00:00
8ce6c88d58 feat: Integrate SmartMetrics for enhanced CPU and memory monitoring in UI 2025-06-12 11:22:18 +00:00
02dd3c77b5 fix: update @push.rocks/smartproxy to version 19.6.1 and improve socket management in ConnectionManager
feat: enhance MetricsManager with reset interval and top domains tracking
2025-06-09 17:18:50 +00:00
93995d5031 Implement Metrics Manager and Integrate Metrics Collection
- Removed the existing readme.opsserver.md file as it is no longer needed.
- Added a new MetricsManager class to handle metrics collection using @push.rocks/smartmetrics.
- Integrated MetricsManager into the DcRouter and OpsServer classes.
- Updated StatsHandler and SecurityHandler to retrieve metrics from MetricsManager.
- Implemented methods for tracking email, DNS, and security metrics.
- Added connection tracking capabilities to the MetricsManager.
- Created a new readme.metrics.md file outlining the metrics implementation plan.
- Adjusted plugins.ts to include smartmetrics.
- Added a new monitoring directory with classes for metrics management.
- Created readme.module-adjustments.md to document necessary adjustments for SmartProxy and SmartDNS.
2025-06-09 16:03:27 +00:00
5faca8c1b6 feat(auth): implement JWT-based authentication with admin access controls 2025-06-08 07:19:31 +00:00
61778bdba8 feat(ops-server): implement TypedRouter integration and modular handler classes 2025-06-08 07:04:35 +00:00
6ee1d6e917 feat(ops-dashboard): implement OpsServer and dashboard component with initial rendering 2025-06-01 19:46:10 +00:00
fe817dde00 feat(logging): add professional startup logging to DcRouter
- Add logStartupSummary() method with clean ASCII art header
- Display service status for SmartProxy, Email, DNS, and Storage
- Show detailed configuration info for each service
- Replace verbose console logs with structured startup summary
2025-05-31 15:58:56 +00:00
272973702e feat(dns): implement DKIM record serving and proactive key generation
- Add loadDkimRecords() method to read DKIM records from JSON files
- Integrate DKIM records into DNS server during startup
- Add initializeDkimForEmailDomains() for proactive DKIM key generation
- Ensure DKIM records are available immediately after server startup
- Update documentation with DKIM implementation status

DKIM records are now automatically loaded from .nogit/data/dns/*.dkimrecord.json
and served via DNS. Keys are generated for all configured email domains at startup.
2025-05-31 12:53:29 +00:00
c776dab2c0 fix(nameservers): fix ip records 2025-05-30 20:11:44 +00:00
74692c4aa5 fix(dns): Fixed Soa records 2025-05-30 19:54:48 +00:00
71183b35c0 fix(dns): register separate handlers for each DNS record to serve multiple records
The previous implementation grouped records by domain and only returned the first
matching record. This prevented serving multiple NS records for a domain, which
caused GoDaddy to reject the nameservers.

Changes:
- Modified registerDnsRecords to register a separate handler for each record
- This works around smartdns limitation where it breaks after first handler match
- Now all NS records are properly served in DNS responses
- Added readme.smartdns.md documenting the underlying issue in smartdns module

The root cause is in smartdns DnsServer which breaks after finding the first
matching handler, preventing multiple records of the same type from being served.
2025-05-30 16:44:10 +00:00
ae73de19b2 fix(dns): update DnsManager to use new DNS configuration properties
The DnsManager was still checking for the old dnsDomain property that was
replaced by dnsNsDomains and dnsScopes in the DNS Architecture Improvements.

Changes:
- Replace dnsDomain checks with dnsNsDomains and dnsScopes validation
- Add check to ensure email domain is included in dnsScopes array
- Update NS delegation check to work with multiple nameservers
- Update error messages to guide users to the new configuration format
2025-05-30 16:26:31 +00:00
739eeb63aa update 2025-05-30 15:04:12 +00:00
eb26a62a87 fix(config): Update dns config interface within DcRouter 2025-05-30 10:34:50 +00:00
37e1ecefd2 refactor(dns): extend DnsValidator to DnsManager with DNS record creation
- Rename DnsValidator to DnsManager to better reflect its expanded responsibilities
- Move DNS record creation logic from UnifiedEmailServer to DnsManager
- Add ensureDnsRecords() method that handles both validation and creation
- Consolidate internal DNS record creation (MX, SPF, DMARC) in one place
- Keep DKIM key generation in UnifiedEmailServer but move DNS registration to DnsManager
- Update all imports and tests to use DnsManager instead of DnsValidator
- Improve code organization and discoverability of DNS functionality
2025-05-30 08:52:07 +00:00
53b64025f3 feat(storage): implement StorageManager with filesystem support and component integration
- Add StorageManager with filesystem, custom, and memory backends
- Update DKIMCreator and BounceManager to use StorageManager
- Remove component-level storage warnings (handled by StorageManager)
- Fix list() method for filesystem backend
- Add comprehensive storage and integration tests
- Implement DNS mode switching tests
- Complete Phase 4 testing tasks from plan
2025-05-30 07:00:59 +00:00
40db395591 feat(integration): components now play nicer with each other 2025-05-30 05:30:06 +00:00