mirror of
https://github.com/ail-project/ail-framework.git
synced 2024-11-23 06:37:15 +00:00
1379ef705a
AIL is a modular framework to analyse potential information leak from unstructured data source like pastes from Past ebin or similar services. AIL framework is flexible and can be extended to support other functionalities to mine sen sitive information
66 lines
1.7 KiB
Python
Executable file
66 lines
1.7 KiB
Python
Executable file
#!/usr/bin/env python2
|
|
# -*-coding:UTF-8 -*
|
|
"""
|
|
The ZMQ_Pub_Global Module
|
|
=========================
|
|
|
|
This module is consuming the Redis-list created by the script ./Dir.py.
|
|
This module is as the same level of the ZMQ tree than the Module ZMQ_Feed
|
|
|
|
Whereas the ZMQ_Feed is poping the list created in redis by ZMQ_Feed_Q which is
|
|
listening a stream, ZMQ_Pub_Global is poping the list created in redis by ./Dir.py.
|
|
|
|
Thanks to this Module there is now two way to Feed the ZMQ tree:
|
|
*By a continuous stream ..seealso:: ZMQ_Feed Module
|
|
*Manually with this module and ./Dir.py script.
|
|
|
|
Requirements
|
|
------------
|
|
|
|
*Need running Redis instances. (Redis)
|
|
|
|
"""
|
|
import redis, zmq, ConfigParser, time
|
|
from packages import Paste as P
|
|
from packages import ZMQ_PubSub
|
|
from pubsublogger import publisher
|
|
|
|
configfile = './packages/config.cfg'
|
|
|
|
def main():
|
|
"""Main Function"""
|
|
|
|
# CONFIG #
|
|
cfg = ConfigParser.ConfigParser()
|
|
cfg.read('./packages/config.cfg')
|
|
|
|
# REDIS #
|
|
r_serv = redis.StrictRedis(
|
|
host = cfg.get("Redis_Queues", "host"),
|
|
port = cfg.getint("Redis_Queues", "port"),
|
|
db = cfg.getint("Redis_Queues", "db"))
|
|
|
|
# LOGGING #
|
|
publisher.channel = "Global"
|
|
|
|
# ZMQ #
|
|
PubGlob = ZMQ_PubSub.ZMQPub(configfile, "PubSub_Global", "global")
|
|
|
|
# FONCTIONS #
|
|
publisher.info("Starting to publish.")
|
|
|
|
while True:
|
|
filename = r_serv.lpop("filelist")
|
|
|
|
if filename != None:
|
|
|
|
msg = cfg.get("PubSub_Global", "channel")+" "+filename
|
|
PubGlob.send_message(msg)
|
|
publisher.debug("{0} Published".format(msg))
|
|
else:
|
|
time.sleep(10)
|
|
publisher.debug("Nothing to publish")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|