{"id":41037233,"url":"https://github.com/auduny/chaosbackend","last_synced_at":"2026-01-22T10:38:17.117Z","repository":{"id":208665464,"uuid":"722188553","full_name":"auduny/chaosbackend","owner":"auduny","description":"A golang webapp designed to misbehave to test reverse proxies like varnish","archived":false,"fork":false,"pushed_at":"2025-11-28T12:52:18.000Z","size":27,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-30T19:49:28.671Z","etag":null,"topics":["chaos-engineering","varnish"],"latest_commit_sha":null,"homepage":"","language":"Go","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/auduny.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-22T16:12:51.000Z","updated_at":"2025-11-28T12:52:22.000Z","dependencies_parsed_at":"2023-11-22T17:33:11.735Z","dependency_job_id":"77f0da2e-2557-4a4f-a7ad-f562f102bcc7","html_url":"https://github.com/auduny/chaosbackend","commit_stats":null,"previous_names":["auduny/chaosbackend"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/auduny/chaosbackend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auduny%2Fchaosbackend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auduny%2Fchaosbackend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auduny%2Fchaosbackend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auduny%2Fchaosbackend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/auduny","download_url":"https://codeload.github.com/auduny/chaosbackend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auduny%2Fchaosbackend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28661874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"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":["chaos-engineering","varnish"],"created_at":"2026-01-22T10:38:16.964Z","updated_at":"2026-01-22T10:38:17.109Z","avatar_url":"https://github.com/auduny.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chaosbacked\nThis is a simple Go server that starts one or more HTTP backends, designed to behave badly based on your input—perfect for testing proxies like Varnish.\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"media/chaosbackend.svg\" alt=\"Chaos backend\" width=\"400\" style=\"max-width:100%;height:auto;\" /\u003e\n\u003c/p\u003e\n## Usage\n\n```sh\n./chaosbackend [flags]\n```\n\n### Command-line Flags\n\n| Flag | Description | Default |\n|------|-------------|---------|\n| `-a` | Comma-separated list of addresses to listen on | `127.0.0.1` |\n| `-p` | Comma-separated list of ports or port ranges (e.g., `4000-4020`) | `8080` |\n| `-template` | Path to HTML template file for the default page | `template.html` |\n\nExample:\n```sh\n./chaosbackend -a 127.0.0.1,0.0.0.0 -p 8080,8081,9000-9002 -template custom.html\n```\n\n## Available Endpoints\n\n| Endpoint | Description |\n|----------|-------------|\n| `/` | Default page with links and documentation |\n| `/error` | Returns a 500 Internal Server Error |\n| `/error?status=404` | Returns a 404 Not Found error |\n| `/error?status=404\u0026sleep=5000` | Returns a 404 error after 5 seconds |\n| `/reset` | Closes the connection immediately (simulates a reset) |\n| `/slow?sleep=1000\u0026sleepBetweenBytes=100` | Returns 200 OK, waits 1s before sending, then 0.1s between bytes |\n| `/new?status=503,50` | Returns 503 with a 50% chance, otherwise 200 |\n| `/new?slow=1000,500,30` | Sleeps 1s plus up to 0.5s extra with 30% chance |\n| `/new?reset=1` | Closes the connection immediately |\n\n### Query Parameters\n\n- `status`: HTTP status code to return (optionally with frequency, e.g., `503,50` for 50% chance)\n- `sleep`: Time in milliseconds to wait before responding\n- `sleepBetweenBytes`: Time in milliseconds to wait between sending each byte\n- `slow`: Comma-separated values for sleep, span, and frequency (e.g., `1000,500,30`)\n- `reset`: If present, closes the connection\n\n## Example Requests\n\n```sh\ncurl http://localhost:8080/error\ncurl http://localhost:8080/error?status=404\ncurl http://localhost:8080/error?status=404\u0026sleep=5000\ncurl http://localhost:8080/slow?sleep=1000\u0026sleepBetweenBytes=100\ncurl http://localhost:8080/reset\ncurl http://localhost:8080/new?status=503,50\ncurl http://localhost:8080/new?slow=1000,500,30\ncurl http://localhost:8080/new?reset=1\n```\n\n---\nSee [template.html](template.html) for a browsable overview.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauduny%2Fchaosbackend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fauduny%2Fchaosbackend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauduny%2Fchaosbackend/lists"}