ipscan/contribute/plugins.markdown

33 lines
1.2 KiB
Markdown

---
title: Plugins
layout: default
---
Plugins
=======
Plugins for Angry IP Scanner are distributed as standard .jar files and are also written in Java to be cross-platform.
Please let me know if you have an interesting plugin you would like to share here.
Angry IP Scanner looks for plugin .jar files on start in:
- The same directory where ipscan binary is located (.jar or .exe)
- User-specific $HOME/.ipscan directory
For more info on how plugin loading works, see [PluginLoader.java](https://github.com/angryziber/ipscan/blob/master/src/net/azib/ipscan/core/PluginLoader.java).
Writing plugins
---------------
The plugin's jar file must have a META-INF/MANIFEST.MF entry 'IPScan-Plugins' that lists full Java class names of all plugins
container in the jar file.
A plugin is an implementation of one of the following interfaces:
- Fetcher - corresponds to a column in the result list, fetches data from scanned IP addresses
- Pinger - these guys detect whether an IP is dead or alive
- Exporter - used for exporting the scanning results
- Feeder - these guys generate IP address sequence to scan (feed the scanner)
Look at [the source code](https://github.com/angryziber/ipscan) for examples of how the core plugins are implemented.