def save_linkedin_account(linkedin_account=None): if not linkedin_account.get('canarytoken'): raise Exception('Cannot save an LinkedIn account without a canarydrop') key = KEY_LINKEDIN_ACCOUNT + linkedin_account['username'] db.hmset(key, linkedin_account) db.sadd(KEY_LINKEDIN_ACCOUNTS, key) return key
def save_bitcoin_account(bitcoin_account=None): if not bitcoin_account.get('canarytoken'): raise Exception('Cannot save an Bitcoin account without a canarydrop') key = KEY_BITCOIN_ACCOUNT + bitcoin_account['address'] db.hmset(key, bitcoin_account) db.sadd(KEY_BITCOIN_ACCOUNTS, key) return key
def save_bitcoin_account(bitcoin_account=None): if not bitcoin_account.get('canarytoken'): raise Exception('Cannot save an Bitcoin account without a canarydrop') key = KEY_BITCOIN_ACCOUNT+bitcoin_account['address'] db.hmset(key, bitcoin_account) db.sadd(KEY_BITCOIN_ACCOUNTS, key) return key
def save_linkedin_account(linkedin_account=None): if not linkedin_account.get('canarytoken'): raise Exception('Cannot save an LinkedIn account without a canarydrop') key = KEY_LINKEDIN_ACCOUNT+linkedin_account['username'] db.hmset(key, linkedin_account) db.sadd(KEY_LINKEDIN_ACCOUNTS, key) return key
def save_clonedsite_token(clonedsite_token): if not clonedsite_token.get('canarytoken'): raise Exception('Cannot save an imgur token without a canarydrop') key = KEY_CLONEDSITE_TOKEN+clonedsite_token['clonedsite']+':'+\ clonedsite_token['canarytoken'] db.hmset(key, clonedsite_token) db.sadd(KEY_CLONEDSITE_TOKENS, key) return key
def save_imgur_token(imgur_token): if not imgur_token.get('canarytoken'): raise Exception('Cannot save an imgur token without a canarydrop') if not imgur_token.get('count', None): imgur_token['count'] = get_imgur_count(imgur_id=imgur_token['id']) key = KEY_IMGUR_TOKEN + imgur_token['id'] db.hmset(key, imgur_token) db.sadd(KEY_IMGUR_TOKENS, key) return key
def save_imgur_token(imgur_token): if not imgur_token.get('canarytoken'): raise Exception('Cannot save an imgur token without a canarydrop') if not imgur_token.get('count', None): imgur_token['count'] = get_imgur_count(imgur_id=imgur_token['id']) key = KEY_IMGUR_TOKEN+imgur_token['id'] db.hmset(key, imgur_token) db.sadd(KEY_IMGUR_TOKENS, key) return key
def add_canary_page(page=None): if not page: raise ValueError return db.sadd(KEY_CANARY_PAGES, page)
def add_canary_path_element(path_element=None): if not path_element: raise ValueError return db.sadd(KEY_CANARY_PATH_ELEMENTS, path_element)
def add_email_token_idx(email, canarytoken): return db.sadd(KEY_EMAIL_IDX+email, canarytoken)
def add_canary_nxdomain(domain=None): if not domain: raise ValueError return db.sadd(KEY_CANARY_NXDOMAINS, domain)
def update_tor_exit_nodes(contents): if "ExitAddress" in contents: db.delete(KEY_TOR_EXIT_NODES) for line in contents.splitlines(): if 'ExitAddress' in line: db.sadd(KEY_TOR_EXIT_NODES, simplejson.dumps(line.split(' ')[1]))
def add_webhook_token_idx(webhook, canarytoken): return db.sadd(KEY_WEBHOOK_IDX+webhook, canarytoken)