{"id":15691748,"url":"https://github.com/adrien2p/accumulator","last_synced_at":"2025-05-08T01:14:13.560Z","repository":{"id":113647474,"uuid":"464669582","full_name":"adrien2p/accumulator","owner":"adrien2p","description":":rocket: Send a load of requests with nodejs using cluster and with/without Tor for anonymisation :see_no_evil:","archived":false,"fork":false,"pushed_at":"2022-03-09T07:31:56.000Z","size":89,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-08T01:14:07.814Z","etag":null,"topics":["ddos","ddos-attacks","ddos-tool","load-testing","nodejs","onion","security","tor"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adrien2p.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"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":"2022-02-28T22:51:08.000Z","updated_at":"2023-11-17T00:57:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"b4363889-0776-458c-b39b-3c25ef321953","html_url":"https://github.com/adrien2p/accumulator","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrien2p%2Faccumulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrien2p%2Faccumulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrien2p%2Faccumulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrien2p%2Faccumulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrien2p","download_url":"https://codeload.github.com/adrien2p/accumulator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252978783,"owners_count":21834917,"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":["ddos","ddos-attacks","ddos-tool","load-testing","nodejs","onion","security","tor"],"created_at":"2024-10-03T18:24:11.641Z","updated_at":"2025-05-08T01:14:13.541Z","avatar_url":"https://github.com/adrien2p.png","language":"JavaScript","funding_links":["https://www.buymeacoffee.com/adriendeperetti"],"categories":[],"sub_categories":[],"readme":"\u003c!--lint disable awesome-list-item--\u003e\n\u003cdiv align=\"center\"\u003e\n  \n  \u003ch1\u003eAccumulator\u003c/h1\u003e\n  \n  \u003cp\u003e\n       🚀 Send a load of requests with nodejs using cluster and with/without Tor for anonymisation 🙈\n  \u003c/p\u003e\n  \n  \u003ca href=\"https://www.buymeacoffee.com/adriendeperetti\" target=\"_blank\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" \u003e\u003c/a\u003e\n  \n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/adrien2p/ddos_cluster/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/adrien2p/ddos_cluster?style=flat-square\" alt=\"issues\" height=\"18\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/adrien2p/ddos_cluster/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/adrien2p/ddos_cluster?style=flat-square\" alt=\"licence\" height=\"18\"\u003e\u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat\" alt=\"PRs welcome!\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003e :warning: Disclamer, This repo has been created for an educative\n\u003e purpose. I am not related to any person who\n\u003e might use this project for the wrong reason. :warning:\n\n# Getting started\n\nCheck your node version, it must be 17.6.0, otherwise you can use `nvm` as follow\n\n```bash\nnvm install 17\nnvm use 17\n```\n\n#### Optional anonymisation\n\n\u003e The following steps are optional and only needed if you want to use the anonymisation\n\nFirst, you need to install `Tor` on your machine since the requests will transit through\nit in order to get anonymous requests.\n\n```bash\n# On Mac OS \nbrew install tor\n```\n\nOr follow the link [here](https://tb-manual.torproject.org/installation/) or\n[here](https://community.torproject.org/onion-services/setup/install/)\n\nyou can then find the configuration file located here (on mac os)\n`/usr/local/etc/tor/torrc.sample`. You can remove the `.sample` to make it effective.\n\nFinally, you can start your tor service\n\n```bash\n# On Mac OS\ntor \u0026 # \u0026 make tor running as a background process\n```\n\nalternativaly, you can also install the [Tor browser](https://www.torproject.org/download/)\n\n# Configuration\n\nStart by populating `targets.json` with the websites you want to test.\nHere is how to fill the json file\n\n````json\n{\n    \"data\": [\n      \"http://127.0.0.1:80\"\n    ]\n}\n````\n\nUpdate the `config.json` file to customise the test.\nHere is the example `config.json`.\n\n```json\n{\n\t\"requestPerBatch\": 20,\n\t\"logEveryMs\": 150,\n\t\"delayBetweenBatch\": 500,\n\t\"cpuUsageRatio\": 1,\n\t\"socksProxies\": [\"socks5h://127.0.0.1:9050\"]\n}\n```\n\n\u003e The `socksProxies` configuration is optional and correspond to the anonymisation using TOR as explained\n\u003e in the [Getting started](#getting-started) section. It correspond to a set of Tor sockets\n\u003e that will be used as proxy for the requests.\n\n# Running\n\n## Tests\n\nRun the following commands to be able to launch your servers and the load test on it.\n\n```bash\nnpm run start-server:test\nnpm run start\n```\n\nthis command `npm run start-server:test` will start a local sever on which you can try to\nsend some requests. Find your public IP and open a port on your router to redirect\nthe request to your local server. Then, add your public IP and port prefixed with\nthe protocol in `target.json` file.\n\n## Production\n\nTo really start the load test, you only need to fill your `target.json` file with \nthe websites you want to test and eventually update your `config.json` file.\nthen run the command `npm run start` only.\n\n# Contribute :ballot_box:\n\nContributions are welcome! You can look at the contribution [guidelines](./CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrien2p%2Faccumulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrien2p%2Faccumulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrien2p%2Faccumulator/lists"}