{"id":13845184,"url":"https://github.com/Hyperclaw79/HULK-v3","last_synced_at":"2025-07-12T01:32:01.424Z","repository":{"id":50455454,"uuid":"95017325","full_name":"Hyperclaw79/HULK-v3","owner":"Hyperclaw79","description":"Asynchronous HTTP Botnet for Distributed Denial of Service (DDoS)","archived":false,"fork":false,"pushed_at":"2023-02-04T15:22:05.000Z","size":2888,"stargazers_count":357,"open_issues_count":2,"forks_count":84,"subscribers_count":10,"default_branch":"async","last_synced_at":"2024-11-21T18:39:05.094Z","etag":null,"topics":["async","asynchronous","ddos","ddos-attack","ddos-script","electron","gui","http","https","hulk","named-pipes","nextron","nodejs","python","python3","typescript","websockets"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hyperclaw79.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2017-06-21T15:12:35.000Z","updated_at":"2024-11-12T12:44:53.000Z","dependencies_parsed_at":"2023-02-09T16:45:48.862Z","dependency_job_id":null,"html_url":"https://github.com/Hyperclaw79/HULK-v3","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Hyperclaw79/HULK-v3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hyperclaw79%2FHULK-v3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hyperclaw79%2FHULK-v3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hyperclaw79%2FHULK-v3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hyperclaw79%2FHULK-v3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hyperclaw79","download_url":"https://codeload.github.com/Hyperclaw79/HULK-v3/tar.gz/refs/heads/async","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hyperclaw79%2FHULK-v3/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264923076,"owners_count":23683716,"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","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":["async","asynchronous","ddos","ddos-attack","ddos-script","electron","gui","http","https","hulk","named-pipes","nextron","nodejs","python","python3","typescript","websockets"],"created_at":"2024-08-04T17:03:15.435Z","updated_at":"2025-07-12T01:31:59.058Z","avatar_url":"https://github.com/Hyperclaw79.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003c!--\n    Title: Hulk v3\n    Description: Asynchronous HTTP Botnet for Distributed Denial of Service (DDoS)\n    Author: Hyperclaw79\n    Url: https://github.com/Hyperclaw79/HULK-v3\n    Image: https://raw.githubusercontent.com/Hyperclaw79/Hulk-v3/async/assets/Hulk.png\n--\u003e\n\n\u003cmeta name=\"title\" content=\"Hulk v3\" /\u003e\n\u003cmeta name=\"description\" content=\"Asynchronous HTTP Botnet for Distributed Denial of Service (DDoS)\" /\u003e\n\u003cmeta name=\"author\" content=\"Hyperclaw79\" /\u003e\n\u003cmeta name=\"url\" content=\"https://github.com/Hyperclaw79/HULK-v3\" /\u003e\n\u003cmeta name=\"image\" content=\"https://raw.githubusercontent.com/Hyperclaw79/Hulk-v3/async/assets/Hulk.png\" /\u003e\n\u003cmeta name=\"keywords\" content=\"async,asynchronous,ddos,ddos-attack,ddos-script,electron,gui,http,https,hulk,named-pipes,nextron,nodejs,python,python3,typescript,websockets\" /\u003e\n\u003cmeta name=\"og:title\" content=\"Hulk v3\" /\u003e\n\u003cmeta name=\"og:description\" content=\"Asynchronous HTTP Botnet for Distributed Denial of Service (DDoS)\" /\u003e\n\u003cmeta name=\"og:author\" content=\"Hyperclaw79\" /\u003e\n\u003cmeta name=\"og:url\" content=\"https://github.com/Hyperclaw79/HULK-v3\" /\u003e\n\u003cmeta name=\"og:image\" content=\"https://raw.githubusercontent.com/Hyperclaw79/Hulk-v3/async/assets/Hulk.png\" /\u003e\n\u003cmeta name=\"og:keywords\" content=\"async,asynchronous,ddos,ddos-attack,ddos-script,electron,gui,http,https,hulk,named-pipes,nextron,nodejs,python,python3,typescript,websockets\" /\u003e\n\n\n![Hulk_Banner](/assets/Hulk_banner.png)\n\n![Python Version](https://img.shields.io/badge/python-3.8+-blue?style=for-the-badge)\n![License](https://img.shields.io/badge/License-GNU-green?style=for-the-badge)\n![Build and Package](https://img.shields.io/github/workflow/status/Hyperclaw79/HULK-v3/Build%20and%20Package/async?style=for-the-badge)\n![Codacy branch grade](https://img.shields.io/codacy/grade/c4f7560e8231423691d819129c7b3afa/async?style=for-the-badge)\n\n\n## ⚠️ Disclaimer\n\n| **Hulk is meant for educational and research purposes only.\u003cbr /\u003eAny malicious usage of this tool is prohibited.\u003cbr /\u003eThe authors must not to be held responsible for any consequences from the usage of this tool.** |\n| :--- |\n\n\n## Introducing **HULK-v3** :robot:\n\n| :information_source: | **Hulk** is a *Distributed Denial of Service* tool that can put heavy load on HTTPS servers, in order to bring them to their knees, by exhausting the resource pool. |\n| :---: | :--- |\n\n### Check out Hulk in Action\n\n**GUI :desktop_computer:**\n![Hulk_demo](/assets/Hulk_demo.gif)\n\n**Server :computer:**\n![Hulk_server](/assets/Hulk_server.png)\n**Client/Bot :space_invader:**\n![Hulk_client](/assets/Hulk_client.png)\n\n:green_circle: To get started, expand the sections below to read about them.\n\n\n## Changelog :page_with_curl:\nYou can refer the Changelog [here](/CHANGELOG.md).\n\n\n\u003cdetails markdown=1\u003e\u003csummary markdown=\"span\"\u003e\u003ch2\u003eUsage :book:\u003c/h2\u003e\u003c/summary\u003e\n\n1.  Run `pip install -r requirements_(linux/win).txt` before starting this script.\n    \u003e Ex: On Windows: `pip install -r requirements_win.txt`\n    \u003e Ex: On Linux: `pip install -r requirements_linux.txt`\n\n2.  Launch the `hulk_launcher.py server` with the target website as arg.\n    \u003e Ex: `python hulk_launcher.py server https://testdummysite.com`\n    \u003e\n    \u003e Append `--persistent False` to kill the botnet after a succesfull DDoS.\n    \u003e\n    \u003e Append `--gui` if you are running the GUI in parallel.\n\n3.  Launch the `hulk_launcher.py client` to spawn multiple processes of hulk - one per CPU Core.\n    \u003e Ex: `python hulk_launcher.py client [localhost]`\n    \u003e\n    \u003e If the server is running remotely, replace localhost with the server's IP.\n\n4. To run the GUI, you need to:\n    * Install `NodeJS`, change to `gui` directory and use `npm install`.\n    * Launch the GUI with `npm run dev`.\n\n5.  Sit back and sip your coffee while the carnage unleashes! 😈\n\n*(P.S. Do not run the binaries (except `hulk_gui`) directly, use them from command line like shown above without using `python`.)*\n\n\u003c/details\u003e\n\n\n\u003cdetails markdown=1\u003e\u003csummary markdown=\"span\"\u003e\u003ch2\u003eSyntax Help :scroll:\u003c/h2\u003e\u003c/summary\u003e\n\n### Server :computer:\n```py\nusage: hulk_launcher.py server [-h] [-p PORT] [-m MAX_MISSILES] [--persistent] [--gui] target\n\nThe Hulk Server Launcher\n\npositional arguments:\ntarget                the target url.\n\noptions:\n-h, --help            show this help message\n-p PORT, --port PORT  the Port to bind the server to.\n-m MAX_MISSILES, --max_missiles MAX_MISSILES\n                        the maximum number of missiles to connect to.\n--persistent          keep attacking even after target goes down.\n--gui                 run on the GUI mode.\n```\n\n### Client :space_invader:\n```py\nusage: hulk_launcher.py client [-h] [-r ROOT_IP] [-p ROOT_PORT] [-n NUM_PROCESSES] [-s]\n\nThe Hulk Bot Launcher\n\noptions:\n-h, --help            show this help message\n-r ROOT_IP, --root_ip ROOT_IP\n                        IPv4 Address where Hulk Server is running.\n-p ROOT_PORT, --root_port ROOT_PORT\n                        Port where Hulk Server is running.\n-n NUM_PROCESSES, --num_processes NUM_PROCESSES\n                        Number of Processes to launch.\n-s, --stealth         Stealth mode.\n```\n\n\u003c/details\u003e\n\n\n\u003cdetails markdown=1\u003e\u003csummary markdown=\"span\"\u003e\u003ch2\u003eArchitecture :gear:\u003c/h2\u003e\u003c/summary\u003e\n\n| :warning: The intention of Hulk is to demonstrate the damage that a DDoS attack can do to a server if unprotected. |\n| :--- |\n| :bulb: Please go through the code for full details. I'm keeping it well documented and request the contributors to do so too. |\n\nHulk consists of 2 major and 1 optional components:\n - Server\n - Client\n - [Gui]\n\n\u003cp align=\"center\"\u003e\n\n ![Hulk_architecture](/assets/Hulk_architecture.svg)\n\n\u003c/p\u003e\n\n**Client :space_invader:**\n\n\u003e The core part of Hulk is the `Hulk client` aka `Hulk.py`. \\\nThis client\\bot launches a barrage of `asynchronous HTTP requests` to the target server. \\\nThese incoming requests, put a burden on the target and makes it slow to respond. \\\nWith the launcher script, we can launch multiple instances of Hulk using `multi-threading`. \\\nThe target will be hit with so many requests that it will ultimately break into a `500 error`. \\\nUsually, the client completes 500 attacks and sends back the list of status messages. \\\nIn case of special events, the client will immediately send an Interrupt message to the server. \\\nExample Special Events: *Successful DDoS*, *404 Target Not Found*, etc.\n\n**Server :computer:**\n\n\u003e Hulk was originally a single instanced DoS script. However, it has been modified to be run as multiple instances. \\\nThe cluster of many such instances is called a `botnet`. And this botnet can be controlled and monitored by the `Server`. \\\nThe `Server` and `Client` communicate with each other through TCP `WebSockets`.\nBased on the settings, this is usally a persistent bidirectional channel. \\\nIn case the server receives `Interrupts` from a client, it will send out a broadcast message to all the clients, asking them to stop the attacks. \\\nThe clients go to Standby mode and await further instructions from the server.\n\u003e\n\u003e The server can also send information to the GUI to keep a track of the botnet. \\\nThis information is sent via Unix\\Windows `Named Pipes` for low latency `IPC`.\n\n**GUI :desktop_computer:**\n\n\u003e The GUI is a `NextJS` web application that is used to monitor the botnet via Named Pipes. \\\nWhen run as a binary, GUI makes use of `Electron` which exposes the information directly to the Frontend. \\\nWhen run as a Node process, a node server listens to the Named Pipe and passes on the information to a HTTP Streaming API. \\\nThen the frontend will pick it up from the API using `EventSource`.\n\n\u003c/details\u003e\n\n\n\u003cdetails markdown=1\u003e\u003csummary markdown=\"span\"\u003e\u003ch2\u003eAcknowledgements :busts_in_silhouette:\u003c/h2\u003e\u003c/summary\u003e\n\n### Authors :writing_hand:\n|         Name       | Version |\n|--------------------|---------|\n| **Hyperclaw79**    |   2.0+  |\n| **Barry Shteiman** |   1.0   |\n\n### Contributors :handshake:\nThanks for contributing to the repo. Follow the [Contribution Guide](/.github/CONTRIBUTING.md) and open a PR.\n\n| Contributor | Contribution |\n| :--: | :--: |\n| [Nexuzzzz](https://github.com/Nexuzzzz) | Fixed typo in the code |\n\n\u003c/details\u003e\n\n\n\u003cdetails markdown=1\u003e\u003csummary markdown=\"span\"\u003e\u003ch2\u003eLicense :page_facing_up:\u003c/h2\u003e\u003c/summary\u003e\n\nHULK v3 is a Python 3 compatible Asynchronous Distributed Denial of Service Script.\\\n[Original script](http://www.sectorix.com/2012/05/17/hulk-web-server-dos-tool/) was created by Barry Shteiman.\nYou can use that one if you have Python 2.\n\nUsing a [GNU license](/LICENSE) cause there was no mention about any license used by Barry.\nFeel free to modify and share it, but leave some credits to us both and don't hold us liable.\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHyperclaw79%2FHULK-v3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHyperclaw79%2FHULK-v3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHyperclaw79%2FHULK-v3/lists"}