### Install PyLookyloo via pip Source: https://pylookyloo.readthedocs.io Use this command to install the PyLookyloo package from PyPi. ```bash pip install pylookyloo ``` -------------------------------- ### Run Lookyloo CLI Source: https://pylookyloo.readthedocs.io Access the Lookyloo command-line interface to enqueue URLs or search captures. ```bash $ lookyloo -h usage: lookyloo [-h] [--url URL] [--query QUERY] [--listing] [--redirects REDIRECTS] [--search-url SEARCH_URL] [--search-hostname SEARCH_HOSTNAME] Enqueue a URL on Lookyloo. optional arguments: -h, --help show this help message and exit --url URL URL of the instance (defaults to https://lookyloo.circl.lu/, the public instance). --query QUERY URL to enqueue. The response is the permanent URL where you can see the result of the capture. --listing Should the report be publicly listed. --redirects REDIRECTS Get redirects for a given capture (parameter is a capture UUID). --search-url SEARCH_URL Get most recent captures containing that URL. --search-hostname SEARCH_HOSTNAME Get most recent captures containing that hostname. ``` -------------------------------- ### PyLookyloo CLI Usage Source: https://pylookyloo.readthedocs.io Command-line interface for enqueuing URLs and searching captures with PyLookyloo. ```APIDOC ## PyLookyloo CLI Usage ### Description This section details the command-line interface for PyLookyloo, allowing users to enqueue URLs for analysis and search for existing captures. ### Method CLI Command ### Endpoint N/A (Command-line tool) ### Parameters #### Command-line Arguments - **-h, --help** (flag) - show this help message and exit - **--url** (string) - Optional - URL of the Lookyloo instance (defaults to https://lookyloo.circl.lu/). - **--query** (string) - Optional - URL to enqueue for capture. The response will be the permanent URL to the capture results. - **--listing** (flag) - Optional - Should the report be publicly listed. - **--redirects** (string) - Optional - Get redirects for a given capture (parameter is a capture UUID). - **--search-url** (string) - Optional - Get most recent captures containing that URL. - **--search-hostname** (string) - Optional - Get most recent captures containing that hostname. ### Request Example ```bash lookyloo --query "https://example.com" lookyloo --search-url "example.com" ``` ### Response #### Success Response - **Permanent URL** (string) - The URL where the capture results can be viewed. - **Capture UUID** (string) - Unique identifier for the capture. #### Response Example ```json { "url": "https://lookyloo.circl.lu/tree/a1b2c3d4-e5f6-7890-1234-567890abcdef" } ``` ``` -------------------------------- ### Lookyloo Library API Reference Source: https://pylookyloo.readthedocs.io Methods available in the Lookyloo Python library for programmatic interaction. ```APIDOC ## Lookyloo Library API ### Description This section lists the methods available in the `Lookyloo` class for programmatic use within Python applications. ### Methods - **Lookyloo.compare_captures()**: Compares two captures. - **Lookyloo.enqueue(url, listing=False, **kwargs)**: Enqueues a URL for capture. - **Lookyloo.get_apikey()**: Retrieves the API key. - **Lookyloo.get_capture_stats(capture_uuid)**: Gets statistics for a specific capture. - **Lookyloo.get_categories_captures(category)**: Retrieves captures belonging to a specific category. - **Lookyloo.get_comparables()**: Gets a list of captures that can be compared. - **Lookyloo.get_complete_capture(capture_uuid)**: Retrieves all data for a complete capture. - **Lookyloo.get_cookies(capture_uuid)**: Retrieves cookies from a capture. - **Lookyloo.get_data(capture_uuid)**: Retrieves general data from a capture. - **Lookyloo.get_favicon_occurrences(favicon_hash)**: Finds captures containing a specific favicon hash. - **Lookyloo.get_favicons()**: Retrieves a list of all favicons found. - **Lookyloo.get_hash_occurrences(file_hash)**: Finds captures containing a specific file hash. - **Lookyloo.get_hashes()**: Retrieves a list of all file hashes found. - **Lookyloo.get_hostname_occurrences(hostname)**: Finds captures containing a specific hostname. - **Lookyloo.get_hostnames()**: Retrieves a list of all hostnames found. - **Lookyloo.get_html(capture_uuid)**: Retrieves the HTML content of a capture. - **Lookyloo.get_info(capture_uuid)**: Retrieves general information about a capture. - **Lookyloo.get_ip_occurrences(ip_address)**: Finds captures containing a specific IP address. - **Lookyloo.get_ips()**: Retrieves a list of all IP addresses found. - **Lookyloo.get_modules_responses(capture_uuid)**: Retrieves the responses from all modules for a capture. - **Lookyloo.get_recent_captures(limit=10)**: Retrieves the most recent captures. - **Lookyloo.get_redirects(capture_uuid)**: Retrieves redirect information for a capture. - **Lookyloo.get_remote_lacuses()**: Retrieves information about remote LAcUS instances. - **Lookyloo.get_screenshot(capture_uuid)**: Retrieves the screenshot of a capture. - **Lookyloo.get_stats()**: Retrieves overall statistics. - **Lookyloo.get_status()**: Retrieves the status of the Lookyloo instance. - **Lookyloo.get_storage()**: Retrieves storage information. - **Lookyloo.get_takedown_information(capture_uuid)**: Retrieves takedown information for a capture. - **Lookyloo.get_url_occurrences(url)**: Finds captures containing a specific URL. - **Lookyloo.get_urls()**: Retrieves a list of all URLs found. - **Lookyloo.get_user_config()**: Retrieves user configuration. - **Lookyloo.hide_capture(capture_uuid)**: Hides a capture. - **Lookyloo.init_apikey(apikey)**: Initializes the API key. - **Lookyloo.is_up**: Checks if the Lookyloo instance is up. - **Lookyloo.misp_export(capture_uuid)**: Exports a capture to MISP format. - **Lookyloo.misp_push(capture_uuid)**: Pushes a capture to MISP. - **Lookyloo.push_from_lacus(capture_uuid)**: Pushes a capture from LAcUS. - **Lookyloo.rebuild_capture(capture_uuid)**: Rebuilds a capture. - **Lookyloo.remove_capture(capture_uuid)**: Removes a capture. - **Lookyloo.send_mail(capture_uuid, recipient, subject, body)**: Sends an email related to a capture. - **Lookyloo.submit(capture_uuid)**: Submits a capture for analysis. - **Lookyloo.trigger_modules(capture_uuid)**: Triggers modules for a capture. - **Lookyloo.upload_capture(file_path)**: Uploads a capture from a file. ### Parameters - **capture_uuid** (string) - Required - The unique identifier of the capture. - **url** (string) - Required - The URL to enqueue. - **listing** (boolean) - Optional - Whether to publicly list the capture. - **category** (string) - Required - The category to filter captures by. - **favicon_hash** (string) - Required - The hash of the favicon. - **file_hash** (string) - Required - The hash of the file. - **hostname** (string) - Required - The hostname to search for. - **ip_address** (string) - Required - The IP address to search for. - **limit** (integer) - Optional - The number of recent captures to retrieve. - **recipient** (string) - Required - The email recipient. - **subject** (string) - Required - The email subject. - **body** (string) - Required - The email body. - **file_path** (string) - Required - The path to the capture file to upload. ### Request Example ```python from pylookyloo import Lookyloo lookyloo = Lookyloo(url="https://lookyloo.circl.lu/") # Enqueue a URL result = lookyloo.enqueue("https://example.com") print(result) # Get recent captures recent_captures = lookyloo.get_recent_captures(limit=5) print(recent_captures) ``` ### Response #### Success Response - **Method-specific** - The return type varies depending on the method called. Refer to the specific method documentation for details. #### Response Example ```json { "status": "success", "data": "..." } ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.