def initialize_Bazaar(port):
        gpg_which = which('gpg')
        if gpg_which == None:
            print "You do not have gpg installed. Please install gpg using \'sudo apt-get install gpg\' or some alternative."
            exit()
        else:
            ##
            #  Generate the gpg key in the identity directory,
            #  export the armored key, create a GUID
            #

            gpg = BazaarInit.gen_keys(gpg_which)
            pub_key_armor = gpg.export_keys(gpg.list_keys()[0]['keyid'])
            priv_key_armor = gpg.export_keys(gpg.list_keys()[0]['keyid'], secret=True)
            guid = BazaarInit.create_GUID(str(gpg.sign(pub_key_armor, binary=True)))

            ##
            #  Create Node object
            #
            node = OBNode(guid, port)

            ##
            # Create Identity module
            #
            id_mod = Identity(guid, pub_key_armor, priv_key_armor, gpg)

            ##
            # Dump state of id and node objects for future retrieval.
            #
            id_mod.save()
            node.saveState()
예제 #2
0
    def __init__(self):
        self.config = config
        self.identity = Identity()
        self.ipfs = IPFSNode()
        self.scandb = ScanDB(
            self.ipfs,
            self.identity,
            self.config['main']['username'],
            index_path='scandb/index_dag',
            data_path='scandb/data_blocks',
            write_buffer_path='/data/filestore/scandb/buffer.json',
            heads_file_path='/data/filestore/scandb/dag_heads.json',
            genesis_nodes=self.config['scandb']['genesis_nodes'],
            logger_name='SCANDB',
            log_level=self.config['scandb']['log_level'],
        )

        self.status = {}
        self.scanner = PortScanner()
        self.scan_queue = queue.Queue()

        self.logger = get_logger('MAIN', self.config['main']['log_level'])

        self.consumer_queue = queue.Queue()
        self.producer_queue = queue.Queue()

        self.status = {
            'scandb': {
                'index_dag': {
                    'sync': True
                },
                'data_blocks': {
                    'sync': True,
                    'total': 0,
                    'pending': 0
                }
            },
            'port_scanner': {
                'mode': 'scan',  # banner_grab or analysis
                'data': {}
            },
            'ipfs': {
                'pubsub_peers': 0,
                'swarm_peers': 0
            }
        }
예제 #3
0
def identity():
    from identity import Identity
    return Identity("*****@*****.**", [
        "rsa",
        "-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDAZQNip0GPxFZsyxcgIgyvuPTHsruu66DBsESG5/Pfbcye3g4W\nwfg+dBP3IfUnLB4QXGzK42BAd57fCBXOtalSOkFoze/C2q74gYFBMvIPbEfef8yQ\n83uoNkYAFBVp6yNlT51IQ2mY19KpqoyxMZftxwdtImthE5UG1knZE64sIwIDAQAB\nAoGAIGjjyRqj0LQiWvFbU+5odLGTipBxTWYkDnzDDnbEfj7g2WJOvUavqtWjB16R\nDahA6ECpkwP6kuGTwb567fdsLkLApwwqAtpjcu96lJpbRC1nq1zZjwNB+ywssqfV\nV3R2/rgIEE6hsWS1wBHufJeqBZtlkeUp/VEx/uopyuR/WgECQQDJOaFSutj1q1dt\nNO23Q6w3Ie4uMQ59rWeRxXA5+KjDZCxrizzo/Bew5ZysJzHB2n8QQ15WJ7gTSjwJ\nMQdl/7SJAkEA9MQG/6JivkhUNh45xMYqnMHuutyIeGE17QndSfknU+8CX9UBLjsL\nw1QU+llJ3iYfMPEDaydn0HJ8+iinyyAISwJAe7Z2vEorwT5KTdXQoG92nZ66tKNs\naVAG8NQWH04FU7tuo9/C3uq+Ff/UxvKB4NDYdcM1aHqa7SEir/P4vHjtIQJAFKc9\n1/BB2MCNqoteYIZALj4HAOl+8nlxbXD5pTZK5UAzuRZmJRqCYZcEtiM2onIhC6Yq\nna4Tink+pnUrw24OhQJBAIjujQS5qwOf2p5yOqU3UYsBv7PS8IitmYFARTlcYh1G\nrmcIPHRtkxIwNuFxy3ZRRPEDGFa82id5QHUJT8sJbqY=\n-----END RSA PRIVATE KEY-----"
    ], ['local', None, 'mitzi'])
예제 #4
0
            with open(self.heads_file_path, 'r') as f:
                data = json.load(f)
                self.sync_index_dag(data, pin=True)
        except FileNotFoundError:
            pass

        if self.sync_data_blocks:
            self.start_data_blocks_sync()
        Thread(target=self.sync_index_dag_loop).start()
        Thread(target=self.send_pings).start()
        Thread(target=self.generate_nodes).start()

        for msg in self.ipfs.run():
            self.process_pubsub_msg(msg)


if __name__ == '__main__':
    from config import config
    from ipfs import IPFSNode
    from identity import Identity
    db = DAGDB(IPFSNode(),
               Identity(),
               config['main']['username'],
               index_path='scandb/index_dag',
               data_path='scandb/data_blocks',
               write_buffer_path='/data/filestore/scandb/buffer.json',
               heads_file_path='/data/filestore/scandb/dag_heads.json',
               genesis_nodes=config['scandb']['genesis_nodes'],
               log_level='DEBUG')
    db.run()
예제 #5
0
from flask import Flask, request, render_template
from werkzeug.datastructures import CombinedMultiDict
from werkzeug.utils import secure_filename

from config import Config
from identity import Identity
from identity_form import IdentityForm

import requests

app = Flask(__name__)
app.config[
    "SECRET_KEY"] = "ADn4fgcR1o89tpKRnfuIVRmQUHBsBkRKMpcC8EqAkNkilnDZ42HlNj"
# app.config['UPLOAD_FOLDER'] = "/tmp"
identitier = Identity()


@app.route("/page")
def page():
    return render_template('page.html')


@app.route("/identity", methods=['GET', 'POST'])
def identity():
    form = IdentityForm(CombinedMultiDict([request.form, request.files]))

    if Config.secret is not None and Config.secret != form.secret:
        return {'errno': 1003, 'errmsg': 'secret error.'}

    file_type = form.file_type.data
예제 #6
0
'''

# Set configuration for labelled dataset
labelled_options = SetOptions(
    'Datasets/Kaggle/titanic/train.csv',
    'Results/Kaggle/titanic/plots/train',
    'Parquets/Kaggle/titanic/train', {
        'train': 0.5,
        'test': 0.3,
        'ver': 0.2
    }, [
        'PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
        'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'
    ],
    Identity(
        1, 'Labelled training, testing and verification sets for Titanic data',
        'titanic-labelled'),
    shuffle=False,
    random_state=1,
    persist=False)

# Set configuration for unlabelled dataset
unlabelled_options = SetOptions(
    'Datasets/Kaggle/titanic/test.csv',
    'Results/Kaggle/titanic/plots/test',
    'Parquets/Kaggle/titanic/test', {'data': 1.0}, [
        'PassengerId', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp', 'Parch',
        'Ticket', 'Fare', 'Cabin', 'Embarked'
    ],
    Identity(2, 'Unlabelled test data for Titanic data', 'titanic-unlabelled'),
    shuffle=False,