Commit Graph

58 Commits

Author SHA1 Message Date
jkunz 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
jkunz 7bd94884f4 update 2025-06-29 18:47:44 +00:00
philkunz 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
philkunz 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
philkunz 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
philkunz 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
philkunz 40db395591 feat(integration): components now play nicer with each other 2025-05-30 05:30:06 +00:00
philkunz b11fea7334 feat(socket-handler): implement direct socket passing for DNS and email services
- Add socket-handler mode eliminating internal port binding for improved performance
- Add `dnsDomain` config option for automatic DNS-over-HTTPS (DoH) setup
- Add `useSocketHandler` flag to email config for direct socket processing
- Update SmartProxy route generation to support socket-handler actions
- Integrate smartdns with manual HTTPS mode for DoH without port binding
- Add automatic route creation for DNS paths when dnsDomain is configured
- Update documentation with socket-handler configuration and benefits
- Improve resource efficiency by eliminating internal port forwarding
2025-05-29 16:26:19 +00:00
philkunz e1a7b3e8f7 Complete email router implementation and documentation
- Cleaned up interface definitions to only include implemented features
- Updated readme.md with comprehensive route-based configuration examples
- Added common email routing patterns and troubleshooting guide
- Removed legacy DomainRouter and IDomainRule interfaces
- Updated all imports and exports to use new EmailRouter system
- Verified build and core functionality tests pass

The match/action pattern implementation is now complete and production-ready.
2025-05-28 14:12:50 +00:00
philkunz 2e75961d1c feat: implement comprehensive route-based email routing system
Replace legacy domain-rule based routing with flexible route-based system that supports:
- Multi-criteria matching (recipients, senders, IPs, authentication)
- Four action types (forward, process, deliver, reject)
- Moved DKIM signing to delivery phase for signature validity
- Connection pooling for efficient email forwarding
- Pattern caching for improved performance

This provides more granular control over email routing with priority-based matching and comprehensive test coverage.
2025-05-28 13:23:45 +00:00
philkunz 88099e120a feat: implement route-based email routing system
- Add core interfaces (IEmailRoute, IEmailMatch, IEmailAction, IEmailContext)
- Create EmailRouter class with comprehensive matching capabilities
- Support for recipient/sender patterns, IP/CIDR matching, auth checks
- Add content matching (headers, size, subject, attachments)
- Implement pattern caching for performance
- Update plan with completed steps
2025-05-28 12:07:37 +00:00
philkunz 77ff948404 update 2025-05-28 11:39:54 +00:00
philkunz 8d59d617f1 fix(interfaces): Remove legacy interfaces 2025-05-27 21:03:17 +00:00
philkunz 2aeb52bf13 fix(structure): Unify structure even further 2025-05-27 18:00:14 +00:00
philkunz 243a45d24c feat(structure): Use unified Email class 2025-05-27 15:38:34 +00:00
philkunz cfea44742a update 2025-05-27 15:06:44 +00:00
philkunz 073c8378c7 update 2025-05-27 14:06:22 +00:00
philkunz c3b14c0f58 update 2025-05-27 10:39:29 +00:00
philkunz 5a45d6cd45 update 2025-05-26 04:09:29 +00:00
philkunz 5b33623c2d update 2025-05-25 11:18:12 +00:00
philkunz f2e9ff0a51 update 2025-05-24 01:00:30 +00:00
philkunz 7d28d23bbd update 2025-05-23 08:52:02 +00:00
philkunz 53f5e30b23 update 2025-05-23 08:17:34 +00:00
philkunz 7344bf0f70 update 2025-05-23 01:00:37 +00:00
philkunz 4905595cbb update 2025-05-23 00:06:07 +00:00
philkunz f058b2d1e7 update 2025-05-22 23:09:41 +00:00
philkunz 6fcc3feb73 update 2025-05-22 23:02:51 +00:00
philkunz 50350bd78d update 2025-05-22 23:02:37 +00:00
philkunz f065a9c952 update 2025-05-22 18:38:04 +00:00
philkunz ca53816b41 BREAKING_CHANGE(structure): rebrand as dcrouter 2025-05-22 13:03:09 +00:00
philkunz ac419e7b79 update 2025-05-22 10:18:02 +00:00
philkunz 7c0f9b4e44 update 2025-05-22 09:39:31 +00:00
philkunz d584f3584c update 2025-05-22 09:22:55 +00:00
philkunz a4353b10bb update 2025-05-22 00:38:04 +00:00
philkunz b2f25c49b6 update 2025-05-22 00:11:33 +00:00
philkunz d3255a7e14 update 2025-05-21 23:37:29 +00:00
philkunz 2564d0874b update 2025-05-21 21:29:04 +00:00
philkunz ca111f4783 update 2025-05-21 19:08:50 +00:00
philkunz b6dd281a54 update 2025-05-21 18:52:04 +00:00
philkunz 645790d0c2 update 2025-05-21 17:33:16 +00:00
philkunz 535b055664 update 2025-05-21 17:05:42 +00:00
philkunz 2eeb731669 update 2025-05-21 16:17:17 +00:00
philkunz c3ae995372 update 2025-05-21 14:45:17 +00:00
philkunz 15e7a3032c update 2025-05-21 14:38:58 +00:00
philkunz 10ab09894b update 2025-05-21 14:28:33 +00:00
philkunz 38811dbf23 update 2025-05-21 13:42:12 +00:00
philkunz 3f220996ee update 2025-05-21 12:52:24 +00:00
philkunz b0a0078ad0 update 2025-05-21 10:38:22 +00:00
philkunz ecb913843c update 2025-05-21 10:00:06 +00:00
philkunz 162795802f update 2025-05-21 02:17:18 +00:00