{"id":22799816,"url":"https://github.com/chocapikk/leakpy","last_synced_at":"2025-07-29T01:33:32.440Z","repository":{"id":189726526,"uuid":"680196315","full_name":"Chocapikk/LeakPy","owner":"Chocapikk","description":"LeakIX API Client/lib","archived":false,"fork":false,"pushed_at":"2024-02-13T22:58:59.000Z","size":63,"stargazers_count":9,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-24T02:33:49.230Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Chocapikk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-18T15:17:52.000Z","updated_at":"2025-06-16T11:35:45.000Z","dependencies_parsed_at":"2024-12-12T07:10:05.293Z","dependency_job_id":"30f840bc-38e9-4d85-b8a1-0f519bf396fd","html_url":"https://github.com/Chocapikk/LeakPy","commit_stats":{"total_commits":26,"total_committers":2,"mean_commits":13.0,"dds":0.3076923076923077,"last_synced_commit":"2dae09eac4d91019e29de52ad33145efb3c413e5"},"previous_names":["chocapikk/leakpy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Chocapikk/LeakPy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chocapikk%2FLeakPy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chocapikk%2FLeakPy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chocapikk%2FLeakPy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chocapikk%2FLeakPy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chocapikk","download_url":"https://codeload.github.com/Chocapikk/LeakPy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chocapikk%2FLeakPy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267616584,"owners_count":24116156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-12T07:10:02.566Z","updated_at":"2025-07-29T01:33:32.418Z","avatar_url":"https://github.com/Chocapikk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 LeakPy\n\nLeakPy is a third-party client designed to seamlessly interact with the leakix.net API using Python.\n\n\u003e ❗ **Note:** This is **not** the official LeakIX client. Always refer to the [Official LeakIX Python Client](https://github.com/LeakIX/LeakIXClient-Python) for the official client.\n\n## 📥 Installation\n\nTo install LeakPy via PyPi:\n\n```bash\npip install leakpy\n```\n\n## 🖥️ CLI Usage \n\nTo see all available commands and options:\n\n```bash\n$ leakpy -h\n```\n\nOptions:\n\n```plaintext\n[~] LeakPy x.x.x\nusage: leakpy [-h] [-s {service,leak}] [-p PAGES] [-q QUERY] [-P PLUGINS] [-o OUTPUT] [-f FIELDS] [-b]\n              [-i] [-r] [-lp] [-lf]\n\noptions:\n  -h, --help            show this help message and exit\n  -s {service,leak}, --scope {service,leak}\n                        Type Of Informations\n  -p PAGES, --pages PAGES\n                        Number Of Pages\n  -q QUERY, --query QUERY\n                        Specify The Query\n  -P PLUGINS, --plugins PLUGINS\n                        Specify The Plugin(s)\n  -o OUTPUT, --output OUTPUT\n                        Output File\n  -f FIELDS, --fields FIELDS\n                        Fields to extract from the JSON, comma-separated. For example:\n                        'protocol,ip,port'\n  -b, --bulk            Activate bulk mode.\n  -i, --interactive     Activate interactive mode.\n  -r, --reset-api       Reset the saved API key\n  -lp, --list-plugins   List Available Plugins\n  -lf, --list-fields    List all possible fields from a sample JSON.\n  -v, --version         show program's version number and exit\n```\n\n### Interactive Mode:\n\nWhen using the `-i` or `--interactive` option, LeakPy enters an interactive mode, allowing users to input commands directly:\n\n```bash\n$ leakpy -i\n```\n\nOnce inside the interactive mode, users are greeted with:\n\n```plaintext\nWelcome to LeakPy interactive mode!\nType 'help' for available commands.\n```\n\nThe available commands include:\n\n```plaintext\nAvailable Commands:\nexit           : Exit the interactive mode.\nhelp           : Display this help menu.\nset            : Set a particular setting. Usage: set \u003csetting_name\u003e \u003cvalue\u003e\nrun            : Run the scraper with the current settings.\nlist-fields    : List all possible fields from a sample JSON.\nlist-plugins   : List available plugins.\nshow           : Display current settings.\n```\n\n## 📘 Library Documentation\n\n### LeakixScraper\n\nThe `LeakixScraper` class offers a direct and user-friendly interface to the leakix.net API.\n\n**Initialization:**\n\n```python\nfrom leakpy.scraper import LeakixScraper\n\nscraper = LeakixScraper(api_key=\"Your_API_Key\", verbose=False)\n```\n\n**Methods:**\n\n- **execute(scope, query, pages, plugin, fields, bulk=False)**\n\n    Conduct a search on leakix.net.\n\n    Arguments:\n    - `scope` (str): Type of information to search for, like \"service\" or \"leak\".\n    - `query` (str): The specific search query.\n    - `pages` (int): The number of pages to fetch.\n    - `plugin` (str): Specify the plugins to use, for example \"PulseConnectPlugin\".\n    - `fields` (str): Specify the fields to extract from the JSON data, separated by commas, like \"event_source, host, ip, port\".\n    - `use_bulk` (bool): Activate bulk mode. Defaults to `False`.\n\n    Example:\n\n    ```python\n    results = scraper.execute(scope=\"leak\", query='+country:\"France\"', pages=5, plugin=\"PulseConnectPlugin\", fields=\"event_source, host, ip, port\", use_bulk=False)\n    for result in results:\n        print(\"Event Source:\", result.get(\"event_source\"))\n        print(\"Host:\", result.get(\"host\"))\n        print(\"IP:\", result.get(\"ip\"))\n        print(\"Port:\", result.get(\"port\"))\n        print(\"-\" * 20)\n    ```\n\n## 🚫 Disclaimer\n\nLeakPy is an independent tool and has no affiliation with leakix.net. The creators of LeakPy cannot be held responsible for any misuse or potential damage resulting from using this tool. Please use responsibly, and ensure you have the necessary permissions when accessing any data.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchocapikk%2Fleakpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchocapikk%2Fleakpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchocapikk%2Fleakpy/lists"}