{"id":19839943,"url":"https://github.com/fnzv/dtbot","last_synced_at":"2025-05-01T19:30:31.906Z","repository":{"id":107776754,"uuid":"135063516","full_name":"fnzv/DTBOT","owner":"fnzv","description":"A loadstressing bot managed via Telegram currently supporting Openstack \u0026 AWS ","archived":false,"fork":false,"pushed_at":"2018-06-06T08:26:48.000Z","size":2449,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T17:05:56.817Z","etag":null,"topics":["ansible","benchmark","benchmarking","ddos","http","loader","loadstresser"],"latest_commit_sha":null,"homepage":null,"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/fnzv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2018-05-27T16:31:08.000Z","updated_at":"2022-02-24T04:03:55.000Z","dependencies_parsed_at":"2023-07-06T11:31:25.119Z","dependency_job_id":null,"html_url":"https://github.com/fnzv/DTBOT","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnzv%2FDTBOT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnzv%2FDTBOT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnzv%2FDTBOT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnzv%2FDTBOT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fnzv","download_url":"https://codeload.github.com/fnzv/DTBOT/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251932538,"owners_count":21667161,"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":["ansible","benchmark","benchmarking","ddos","http","loader","loadstresser"],"created_at":"2024-11-12T12:24:56.638Z","updated_at":"2025-05-01T19:30:31.901Z","avatar_url":"https://github.com/fnzv.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"img/dtbot-logo.png?raw=true\" width=\"100\" height=\"100\"\u003e\u003cbr\u003e\nA loadstressing bot managed via Telegram currently supporting Openstack \u0026 AWS \n\n-----------------\n\n\u003cimg src=\"img/dtbot-telegram.jpg?raw=true\" width=\"350\" height=\"550\"\u003e\n\u003cbr\u003e\n\n## Requirements\n\n- Ubuntu 16.04\n- Ansible (current version: ansible 2.5.3), Golang (if you want to compile it yourself)\n\n\n### Quickstart\n\nRun the bash script (install.sh) to install all the required dependencies.\n\n```bash install_script.sh```\n\n\u003cbr\u003e\nThis install script will copy the current compiled binary from /bin into your current system and configure systemd.\nInstalled packages:\u003cbr\u003e\n- python-pip (modules: ansible,shade,boto)\u003cbr\u003e\n\nAfter the installation you need to setup your configuration file and credentials source files for Openstack and/or AWS. \u003cbr\u003e\n\nThe configuration file is ``` /etc/dtbot.conf ``` :\n- Telegram Token (can be generated by writing to BotFather \"/newbot\" : https://telegram.me/botfather)\n- Chat ID (if you don't know your id you can write some messages to the newly created bot and then open from this url on your browser: https://api.telegram.org/bot(token)/getUpdates )\n\nThe credential files must be placed on:\n- /etc/dtbot/os_creds (for Openstack)\n- /etc/dtbot/aws_creds (for AWS)\n\n\nTo start the bot process run:\n```service dtbot start```\n\u003cbr\u003e\n\nIf you encounter any issue check the log file: /var/log/dtbot.log\n\u003cbr\u003e\n\nNow before you can run the available commands you must check some parameters on the playbooks:\n - /etc/dtbot/playbooks/aws-create-infra.yaml  (Keyname - Create an SSH-key from your VM running the bot and import this last one on AWS, then use the name of the key in the playbook aws-create-infra.yaml)\n - /etc/dtbot/playbooks/create-infra.yaml (Depending on your Openstack provider you need to adjust the \"flavor:\" and \"image:\" \n - /etc/dtbot/playbooks/info.yaml,ddos.yaml (Same as above ..Openstack flavor,image)\n\n### Usage\n\nAll the available commands can be viewed by sending the message /help to the Bot:\n```\n/help - shows this output\nExamples:\n/load \u003cURL\u003e \u003cNum Clients\u003e \u003cSeconds\u003e \u003cNum Instances used\u003e\n/create \u003cNum Instances\u003e\n/destroy \u003cNum Instances\u003e\n/stop \u003cNum Instances\u003e ... The Num instances is a sequential number, if i deploy 10 Instances with /create 10 the next time i re-launch the command will not deploy another 10 instances but will only check that instances from 0-10 are present... The same for /stop /load and /destroy\n/create_aws \u003cNum Instances\u003e.. every time the command is launched new instances will be deployed\n/destory_aws (shuts off all VMS Accessible via the ssh key provided so create a separate key.. Stresser nodes will be deleted on shutoff)\n/load_aws \u003cURL\u003e \u003cNum Clients\u003e \u003cSeconds\u003e..\n/loadj_aws - Downloads custom jmx and execute it on aws ..\n/loadj \u003cURL\u003e \u003cTotal nodes\u003e - Downloads custom jmx and execute it on Openstack. ..\n/load_custom \u003cURL\u003e \u003cTotal nodes\u003e .. start loadstressers and executes custom bash script provided on Openstack creds ..\n/load_custom_aws \u003cURL\u003e .. start loadstressers and executes custom bash script provided on AWS nodes...\n```\n\n\n## Work Flow\nThis is the basic concept explained with a diagram: \u003cbr\u003e\n\u003cimg src=\"img/dtbot-diagram.png?raw=true\"\u003e\n\nWorking on Ubuntu 16.04 and Ansible 2.5.3\n\n## Contributors\n\nFeel free to open issues or send me an email\n\n\n## License\n\nCode distributed under GPLv3 licence.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffnzv%2Fdtbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffnzv%2Fdtbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffnzv%2Fdtbot/lists"}