Skip to content
GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.
Branch: master
Clone or download
buger Add --output-http-compatibility-mode
Add support for using default Go HTTP client
Latest commit a8cfaa7 Mar 10, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
byteutils remove some else statements for reducing indent (#488) Aug 22, 2017
docs Fix broken link to -> Jul 13, 2018
examples/middleware fix typo in ruby middleware example Jul 4, 2018
homebrew Update homebrew formula Jun 9, 2016
middleware Add `deleteHttpCookie` method (#658) Mar 7, 2019
site continue work on new docs Jan 20, 2017
vendor Update gopacket Feb 16, 2019
.dockerignore Use latest libpcap and ensure to close sockets May 13, 2016
.gitmodules Add google/gopacket in vendor/ (#360) Aug 23, 2016
.travis.yml Libpcap support and vairous bugfixes Apr 29, 2016
Dockerfile Using scratch image to execute goreplay (#619) Feb 16, 2019
LICENSE.txt Update LICENSE.txt Aug 5, 2016
Makefile Fix zero-length 100-continue packets Sep 3, 2017
Procfile Updated Procfile Oct 31, 2013 Add a "Reviewed by Hound" badge Aug 1, 2018
circle.yml Libpcap support and vairous bugfixes Apr 29, 2016
elasticsearch.go Fix response latency calculation Feb 5, 2018
http_modifier_settings_test.go Allow url param rewriting Jul 9, 2015
http_modifier_test.go Fix response latency calculation Feb 5, 2018
http_prettifier.go Fix prefixer panic when body is too small Aug 10, 2018
input_file.go When using --input-file it should exit once file is fully read Jun 27, 2017
input_file_test.go Refactor #308 Jun 29, 2016
input_kafka.go Add way to control packet capture buffer size and optimize snaplen May 27, 2018
input_kafka_test.go Adjust package order (#487) Aug 22, 2017
input_tcp_test.go format file Aug 11, 2017
kafka.go Adjust package order (#487) Aug 22, 2017
limiter_test.go FileInput should have own limiter algorithm Oct 26, 2014
middleware.go Fix typo Aug 2, 2018
mkdocs.yml continue work on new docs Jan 20, 2017
output_file_settings.go remove some else statements for reducing indent (#488) Aug 22, 2017
output_file_test.go format file Aug 11, 2017
output_http.go Add --output-http-compatibility-mode Mar 10, 2019
output_http_test.go Track http responses (#416) Jan 23, 2017
output_kafka.go Adjust package order (#487) Aug 22, 2017
output_kafka_test.go Adjust package order (#487) Aug 22, 2017
output_tcp.go Add adjustable output-http-stats-ms (#633) Feb 16, 2019
output_tcp_test.go Add TLS security support between --input-tcp and --output-tcp Jun 27, 2017
snapcraft.yaml Add support for building snaps (#625) Feb 16, 2019
test_output.go New portion of changes Jul 13, 2015

GitHub release codebeat Go Report Card Join the chat at Reviewed by Hound

Go Replay

We just released a new version, see announcement


GoReplay is the simplest and safest way to test your app using real traffic before you put it into production.

As your application grows, the effort required to test it also grows exponentially. GoReplay offers you the simple idea of reusing your existing traffic for testing, which makes it incredibly powerful. Our state of art technique allows you to analyze and record your application traffic without affecting it. This eliminates the risks that come with putting a third party component in the critical path.

GoReplay increases your confidence in code deployments, configuration changes and infrastructure changes. Did we mention that no coding is required?

Here is basic workflow: The listener server catches http traffic and sends it to the replay server or saves to file. The replay server forwards traffic to a given address.


Check latest documentation.


Download latest binary from or compile by yourself.

Getting started

The most basic setup will be sudo ./gor --input-raw :8000 --output-stdout which acts like tcpdump. If you already have test environment you can start replaying: sudo ./gor --input-raw :8000 --output-http http://staging.env.

See the our documentation and Getting started page for more info.


Subscribe to our newsletter to stay informed about the latest features and changes to Gor project.

Want to Upgrade?

We have created a GoReplay PRO extension which provides additional features such as support for binary protocols like Thrift or ProtocolBuffers, saving and replaying from cloud storage, TCP sessions replication, etc. The PRO version also includes a commercial-friendly license, dedicated support, and it also allows you to support high-quality open source development.


If you have a problem, please review the FAQ and Troubleshooting wiki pages. Searching the issues for your problem is also a good idea.

All bug-reports and suggestions should go through Github Issues or our Google Group (you can just send email to If you have a private question feel free to send email to


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Companies using Gor

  • GOV.UK - UK Government Digital Service
  • - Most popular online newspaper in the UK
  • TomTom - Global leader in navigation, traffic and map products, GPS Sport Watches and fleet management solutions.
  • 3SCALE - API infrastructure to manage your APIs for internal or external users
  • Optionlab - Optimize customer experience and drive engagement across multiple channels
  • TubeMogul - Software for Brand Advertising
  • Videology - Video advertising platform
  • ForeksMobile - One of the leading financial application development company in Turkey
  • Granify - AI backed SaaS solution that enables online retailers to maximise their sales
  • And many more!

If you are using Gor, we are happy to add you to the list and share your story, just write to:


Leonid Bugaev, @buger,

You can’t perform that action at this time.