{"id":37209904,"url":"https://github.com/nikitazelenskis/k8s-scaling-watcher","last_synced_at":"2026-01-15T00:00:59.549Z","repository":{"id":177691759,"uuid":"362097339","full_name":"NikitaZelenskis/k8s-scaling-watcher","owner":"NikitaZelenskis","description":"Web stress testing tool that can bypass most if not all security features by using browser inside containers with vpn.","archived":false,"fork":false,"pushed_at":"2023-03-15T21:46:06.000Z","size":135,"stargazers_count":7,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-21T19:54:12.837Z","etag":null,"topics":["bypass","docker","go","golang","javascript","kubernetes","node","openvpn","openvpn-client","testing-tools","typescript","vpn"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NikitaZelenskis.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":"2021-04-27T12:04:17.000Z","updated_at":"2024-01-28T21:42:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"e814cc48-a507-4a52-973e-2ab62c6e2515","html_url":"https://github.com/NikitaZelenskis/k8s-scaling-watcher","commit_stats":null,"previous_names":["nikitazelenskis/k8s-scaling-watcher"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NikitaZelenskis/k8s-scaling-watcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikitaZelenskis%2Fk8s-scaling-watcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikitaZelenskis%2Fk8s-scaling-watcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikitaZelenskis%2Fk8s-scaling-watcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikitaZelenskis%2Fk8s-scaling-watcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NikitaZelenskis","download_url":"https://codeload.github.com/NikitaZelenskis/k8s-scaling-watcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikitaZelenskis%2Fk8s-scaling-watcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28439605,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T22:37:52.437Z","status":"ssl_error","status_checked_at":"2026-01-14T22:37:31.496Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bypass","docker","go","golang","javascript","kubernetes","node","openvpn","openvpn-client","testing-tools","typescript","vpn"],"created_at":"2026-01-15T00:00:34.329Z","updated_at":"2026-01-15T00:00:59.425Z","avatar_url":"https://github.com/NikitaZelenskis.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Goal\nThis is a web stress testing tool and can be used for other testing purposes. \nIt can be hard to test your web application because of security and/or other reasons. This tool allows to bypass most if not all of security features.\nThis is done by creating containers with vpn and browsers that go to specified link and execude specified js code.\n\n## Warning\nThis tool is really slow and uses a LOT of memory.\nPlease use this tool only as last resort if everything else fails\n\n## Before setup\n### Linux\n * Install [Docker](https://docs.docker.com/engine/install/)\n * Install [Kubernetes](https://kubernetes.io/docs/tasks/tools/install-kubectl/) (and optionally [kubeadm](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/))\n### Windows\n * Make sure WSL 2 is installed and enabled. More info [here](https://docs.microsoft.com/en-us/windows/wsl/install-win10)\n * Install [Docker](https://docs.docker.com/docker-for-windows/install/). Easiest option is to install [Docker Desktop for Windows](https://hub.docker.com/editions/community/docker-ce-desktop-windows/)\n\n### Networking\n**`template-deployment.yaml`** and **`deployment.yaml`** are configured to use flannel. If you want to use something else you'll need to reconfigure dns settings inside the deployment.\n\n## Setup\n1. Run setup.sh.\n```bash\nchmod +x setup.sh\n./setup.sh\n```\nThis wil generate 2 docker images and deployment file for kubernetes.\n\n2. Put all **.ovpn** files in to **`vpn_configs`** folder.\\\nIf configs have passwords create a file inside **`vpn_configs`** with username and password as follows:\n```\nusername\npassword\n```\nThen link config files to password inside **`vpn-settings.json`**. See [user documentation](/docs/USER_DOCS.md#vpn_configs-and-password-on-ovpn-file) for more detailed explanation.\n\n3. Change **linkToGo** and other settings in **`settings.json`**\n\n4. Change **`browser-script.js`** with script you want to run.\\\nEverything in browser-script.js will be executed when the browser page is loaded.\n\n## Usage\n1. Run deployments and services from file\n```bash\nkubectl apply -f deployment.yaml\n```\ndeployment.yaml by default has 5 replicas of executors\n\n2. Rescale container count\n```bash\nkubectl scale deployments/executor --replicas=5\n```\nOr send POST request to `http://controller/replicas` with `{'amount': 5}`\n\n### Remove all containers\n```bash\nkubectl delete -f deployment.yaml\n```\n\n## Project structure and other docs\nFor contributing or making your own changes see [project structure](/dev/PROJECT_STRUCTURE.md).  \nFor documentation see [user documentation](/docs/USER_DOCS.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikitazelenskis%2Fk8s-scaling-watcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikitazelenskis%2Fk8s-scaling-watcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikitazelenskis%2Fk8s-scaling-watcher/lists"}