feat(security): implement IP reputation checker and security logger

- Added IPReputationChecker class for checking and caching IP reputation scores.
- Introduced IReputationResult interface and ReputationThreshold enum for reputation scoring.
- Implemented DNSBL checks and IP information retrieval within the IP reputation checker.
- Created SecurityLogger class for logging security events with various log levels and event types.
- Defined ISecurityEvent interface for structured logging of security events.
- Updated index.ts to export new classes and types for security module.
This commit is contained in:
2025-10-28 20:27:00 +00:00
parent 17f5661636
commit c7b3206140
9 changed files with 4054 additions and 16 deletions

View File

@@ -31,11 +31,47 @@
"mailer": "./bin/mailer-wrapper.js"
},
"scripts": {
"postinstall": "node scripts/install-binary.js",
"prepublishOnly": "echo 'Publishing MAILER binaries to npm...'",
"test": "echo 'Tests are run with Deno: deno task test'",
"test": "bun --bun test",
"build": "echo 'no build needed'"
},
"devDependencies": {
"@git.zone/tstest": "^2.3.1",
"@types/node": "^24.0.10",
"@types/mailparser": "^3.4.6",
"bun-types": "^1.3.0"
},
"dependencies": {
"@api.global/typedrequest": "^3.0.19",
"@api.global/typedserver": "^3.0.74",
"@api.global/typedsocket": "^3.0.0",
"@apiclient.xyz/cloudflare": "^6.4.1",
"@push.rocks/projectinfo": "^5.0.1",
"@push.rocks/qenv": "^6.1.0",
"@push.rocks/smartacme": "^8.0.0",
"@push.rocks/smartdata": "^5.15.1",
"@push.rocks/smartdns": "^7.5.0",
"@push.rocks/smartfile": "^11.2.5",
"@push.rocks/smartguard": "^3.1.0",
"@push.rocks/smartjwt": "^2.2.1",
"@push.rocks/smartlog": "^3.1.8",
"@push.rocks/smartmail": "^2.1.0",
"@push.rocks/smartmetrics": "^2.0.10",
"@push.rocks/smartnetwork": "^4.0.2",
"@push.rocks/smartpath": "^5.0.5",
"@push.rocks/smartpromise": "^4.0.3",
"@push.rocks/smartproxy": "^19.6.15",
"@push.rocks/smartrequest": "^2.1.0",
"@push.rocks/smartrule": "^2.0.1",
"@push.rocks/smartrx": "^3.0.10",
"@push.rocks/smartunique": "^3.0.9",
"@serve.zone/interfaces": "^5.0.4",
"@tsclass/tsclass": "^9.2.0",
"ip": "^2.0.1",
"lru-cache": "^11.1.0",
"mailauth": "^4.8.6",
"mailparser": "^3.7.4",
"uuid": "^11.1.0"
},
"files": [
"bin/",
"scripts/install-binary.js",