Plugins¶
A Klyrek plugin is a Python class with one method:
from klyrek_core.plugins import Plugin, register_plugin
@register_plugin
class GraphQLFinder(Plugin):
name = "graphql"
category = "tech-fingerprint"
def run(self, response):
if "/graphql" in str(response.url):
return "graphql-api"
Plugin is an abstract base class with two class variables (name, category) and one abstract method (run). @register_plugin adds the class to Klyrek's plugin registry so the pipeline can discover and invoke it alongside the built-in packages.
There's no separate plugin SDK to learn beyond this — if you can write a function that takes an httpx.Response and returns something, you can write a plugin. Ship it privately for a client-specific fingerprint, or contribute it back for a signature that's broadly useful.
See klyrek-core for the full Plugin/register_plugin reference.