diff --git a/pwnagotchi/agent.py b/pwnagotchi/agent.py index 41680df7..497c91ed 100644 --- a/pwnagotchi/agent.py +++ b/pwnagotchi/agent.py @@ -190,6 +190,7 @@ class Agent(Client, AsyncAdvertiser, AsyncTrainer): aps = [] try: s = self.session() + plugins.on("unfiltered_ap_list", self, s['wifi']['aps']) for ap in s['wifi']['aps']: if ap['hostname'] not in whitelist: if self._filter_included(ap): diff --git a/pwnagotchi/plugins/default/unfiltered_example.py b/pwnagotchi/plugins/default/unfiltered_example.py new file mode 100644 index 00000000..c883b7c0 --- /dev/null +++ b/pwnagotchi/plugins/default/unfiltered_example.py @@ -0,0 +1,22 @@ +__author__ = 'diemelcw@gmail.com' +__version__ = '1.0.0' +__name__ = 'unfiltered_example' +__license__ = 'GPL3' +__description__ = 'An example plugin for pwnagotchi that implements on_unfiltered_ap_list(agent,aps)' + +import logging + +# Will be set with the options in config.yml config['main']['plugins'][__name__] +OPTIONS = dict() + +# called when the plugin is loaded +def on_loaded(): + logging.warning("%s plugin loaded" % __name__) + +# called when AP list is ready, before whitelist filtering has occured +def on_unfiltered_ap_list(agent,aps): + logging.info("Unfiltered AP list to follow") + for ap in aps: + logging.info(ap['hostname']) + + ## Additional logic here ##