Skip to content

remove global singletons #5239

@tarunKoyalwar

Description

@tarunKoyalwar

Nuclei version:

<= latest

Current Behavior:

Nuclei currently uses global singletons in multiple places which are initialized in protocolstate and protocolinit , the main purpose is to reuse protocol clients like httpclientpool, networkclientpool etc and use a single dialer for all tasks , while this is acceptable in cli but is considered as anti-pattern for library usage , since multiple instances can't be created and results in collison or reinitialization

we should remove this global singleton behaviour, this way it is reused and available everywhere and multiple nuclei instances could be created with seperate configs

Known Features/Logic that depend on singleton behaviour

  • global fastdialer usage
  • clientpools for each protocol
  • direct access of fastdialer in javascript libraries/modules

Expected Behavior:

  • no global singletons

Anything else:

Metadata

Metadata

Assignees

Labels

Type: BugInconsistencies or issues which will cause an issue or problem for users or implementors.

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions