{"id":19544855,"url":"https://github.com/ariary/httpecho","last_synced_at":"2025-04-26T19:31:48.381Z","repository":{"id":57655944,"uuid":"455225578","full_name":"ariary/httpecho","owner":"ariary","description":"Golang HTTP echo server (real raw request echoed)","archived":false,"fork":false,"pushed_at":"2022-09-03T11:08:45.000Z","size":245,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-04T17:11:40.450Z","etag":null,"topics":["echo-server","golang","http-request-smuggling","http-server"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ariary.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}},"created_at":"2022-02-03T15:46:59.000Z","updated_at":"2024-09-24T09:02:55.000Z","dependencies_parsed_at":"2022-08-25T06:50:46.372Z","dependency_job_id":null,"html_url":"https://github.com/ariary/httpecho","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ariary%2Fhttpecho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ariary%2Fhttpecho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ariary%2Fhttpecho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ariary%2Fhttpecho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ariary","download_url":"https://codeload.github.com/ariary/httpecho/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251041427,"owners_count":21527193,"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":["echo-server","golang","http-request-smuggling","http-server"],"created_at":"2024-11-11T03:32:35.702Z","updated_at":"2025-04-26T19:31:48.130Z","avatar_url":"https://github.com/ariary.png","language":"Go","readme":"# httpecho\n\n\u003cdiv align=center\u003e\n\u003cimg src=https://github.com/ariary/httpecho/blob/main/logo-httpecho.png width=150\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\nThe same thing as [`jmalloc/echo-server`](https://github.com/jmalloc/echo-server) **but HTTP requests are echoed as they are received**.\n\n*Particularly useful for [http request smuggling vulnerability research](https://github.com/ariary/HTTPCustomHouse), malformed HTTP requests etc*\n\n```shell\n$ httpecho\n\n# On another shell\n$ curl -d \"param1=value1\u0026param2=value2\" -X POST http://localhost:8888/ -H \"Transfer-Encoding: chunked\" -H \"Content-Length: 8\"\nPOST / HTTP/1.1\nHost: localhost:8888\nUser-Agent: curl/7.58.0\nAccept: */*\nTransfer-Encoding: chunked\nContent-Length: 8\nContent-Type: application/x-www-form-urlencoded\n\n1b\nparam1=value1\u0026param2=value2\n0\n```\n\n## Usage\n```shell\nUsage of httpecho: echo server accepting malformed HTTP request\n  -s, --serve     serve continuously (default: wait for 1 request)\n  -t, --timeout   timeout to close connection in millisecond. Needed for closing http request. (default: 500)\n  -d, --dump      dump incoming request to a file (default: only print to stdout)\n  -p, --port      listening on specific port (default: 8888)\n  -v, --verbose\t  display request with special characters\n  --tls           use TLS encryption for communication\n  -h, --help      help information \n```\n\n## Install\n\n```shell\ncurl -lO -L https://github.com/ariary/httpecho/releases/latest/download/httpecho\n#or\ngo install github.com/ariary/httpecho\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fariary%2Fhttpecho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fariary%2Fhttpecho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fariary%2Fhttpecho/lists"}