Commit Graph
100 Commits
Author SHA1 Message Date
Leonid Bugaev 36ca809e4a Add commands to generate rpm/deb 2019-04-02 10:21:59 +07:00
Leonid BugaevandGitHub 107740b57d Update README.md 2019-03-30 21:30:06 +07:00
Leonid Bugaev a8cfaa7581 Add --output-http-compatibility-mode
Add support for using default Go HTTP client
2019-03-10 10:29:28 +01:00
Leonid BugaevandGitHub 707b311456 Add deleteHttpCookie method (#658)
Version bumped to 1.0, together with upcoming GoReplay release
2019-03-07 22:45:17 +01:00
Leonid Bugaev e3f3348105 Update gopacket 2019-02-16 10:13:03 +01:00
Leonid Bugaev 408f1d0f31 Merge branch 'bruce34-b34-pcap-immediate-mode' 2019-02-16 09:40:18 +01:00
Leonid Bugaev f57703ee5c Merge branch 'b34-pcap-immediate-mode' of https://github.com/bruce34/goreplay into bruce34-b34-pcap-immediate-mode 2019-02-16 09:40:02 +01:00
Leonid Bugaev 264d8cf00e Add more error handling 2019-02-16 09:37:00 +01:00
Leonid Bugaev ec3f104c8c Add way to dynamically profile
Added new `--http-pprof` option, example: "--http-pprof :8181"
It starts web server on given address, and expose special /debug/pprof
endpoint

See https://golang.org/pkg/net/http/pprof/
2019-02-16 08:59:43 +01:00
Leonid Bugaev 85c6070775 File output now case limit by size
Added new `output-file-max-size-limit` option
2019-02-16 08:49:31 +01:00
Leonid Bugaev b4a2c018c1 Fix request filtering issue
https://github.com/buger/goreplay/issues/648
2019-01-25 20:00:22 +01:00
Leonid Bugaev fb3870d68c Fix --http-allow-header to filter non existent headers
Fix https://github.com/buger/goreplay/issues/604
2019-01-24 23:47:14 +01:00
Leonid Bugaev 52ed8b4d1e Add protection for malformed records 2018-08-24 16:35:04 +05:00
Leonid Bugaev 29139e9eda Fix prefixer panic when body is too small 2018-08-10 21:34:00 +05:00
Leonid Bugaev 68082bfb11 Fix typo 2018-08-02 21:41:36 +05:00
Leonid Bugaev 28d646d118 Merge branch 'master' of https://github.com/buger/gor 2018-08-02 21:39:42 +05:00
Leonid BugaevandGitHub c93ff3598c Fix prettifier buffer overflow 2018-08-02 21:36:47 +05:00
Leonid Bugaev 9eb6ab262b Add "deleteHttpHeader" 2018-06-22 22:11:29 +05:00
Leonid Bugaev edae33717e Improve start/end time calculation 2018-05-28 10:05:07 +03:00
Leonid Bugaev c5d1112e7a Add way to control packet capture buffer size and optimize snaplen
Added `—input-raw-buffer-size` - Controls size of the OS buffer (in
bytes) which holds packets until they dispatched. Default value depends
by system: in Linux around 2MB. If you see big package drop, increase
this value.

Additionally snaplen (max number of bytes being read for each packet)
now dynamically set based on interface MTU + max header size. In most
situations it should reduce package drop, because each packet will
consume less space in buffer.
2018-05-27 12:31:47 +03:00
Leonid Bugaev 0c0ef97b67 Add additional tests 2018-05-12 15:17:26 +03:00
Leonid Bugaev fe6cfd90fe Fix responses when header end line separated by multiple packets 2018-05-10 22:19:56 +03:00
Leonid Bugaev c9fe4a11ad Fix proto.Body when body < 4 bytes 2018-05-10 22:19:08 +03:00
Leonid Bugaev e9294aeb5f Fix emitter typo 2018-05-10 22:18:47 +03:00
Leonid Bugaev cb1ae0e7c0 Revert "Update middleware.js"
This reverts commit 2db143aaef.
2018-04-24 19:42:37 +03:00
Leonid Bugaev d265594b00 Ensure that tcp-output do not loose messages when reconnecting 2018-02-07 20:29:19 +02:00
Leonid Bugaev 0097c599df Fix response latency calculation
Previously latency calcualted as Response.End - Request.Start
Where both End and Start is a last and first packets

This calcualtion is wrong, because it is total roundtrip

Correct server latency will be Response.End - Request.End

In addition added new `--input-raw-timestamp-type` option
which allows choose more precise packet timestamp source (if available).
2018-02-05 21:47:48 +02:00
Leonid Bugaev 5bd47ee1df Merge branch 'master' of https://github.com/buger/gor 2018-01-10 21:24:38 +02:00
Leonid Bugaev 45d7527128 Increase middleware buffer to avoid overloads when prettifier returns buffer larger then original 2018-01-10 21:23:55 +02:00
Leonid Bugaev debb265d6d Fix memory leak 2017-10-04 20:18:05 +03:00
Leonid Bugaev c5f12b567b Add log helper and fix memory leak 2017-09-24 22:32:03 +05:00
Leonid BugaevandGitHub 4255d4155f Improve handling for 100-continue requests for clients ignoring response (#513)
Some clients, even if have `Expect: 100-continue` in request, start
sending data without waiting approval from the server. More over, there
is cases when response “100 Continue” is received, client changes TCP
seq, and following requests start having valid sequences, based on
response one.

This change should address this bugs.

As small addition extended list of http methods, to fully support
webdav.
2017-09-15 19:25:46 +05:00
Leonid Bugaev 4bb64be27e Fix panic when reading too big response in debug mode 2017-09-14 22:35:45 +05:00
Leonid Bugaev e310fc8369 Fix zero-length 100-continue packets
Should fix https://github.com/buger/goreplay/issues/496
2017-09-03 22:11:42 +05:00
Leonid BugaevandGitHub c8f4493eca Update COMM-LICENSE
Misc improvements
2017-08-28 19:26:24 +05:00
Leonid Bugaev 1c3cd633d1 Fix bpfFilter 2017-08-22 17:20:45 +05:00
Leonid Bugaev b8befff286 Sync makefile 2017-08-22 17:07:37 +05:00
Leonid Bugaev 2b79791fe6 Reading from pcap file should properly set src and dest ports 2017-08-22 17:07:37 +05:00
Leonid Bugaev 39ebff56b4 Update to use latest docker.dev 2017-08-22 17:07:37 +05:00
Leonid Bugaev cf402a1d0e Add option to specify custom BPF filter
Can be useful in case of non standard network interfaces when like
tunnels or SPAN ports, when IP of interface does not match with IP of
packet.

Can be used to read traffic from multiple ports and interfaces at once
as well.
2017-07-27 17:56:33 +03:00
Leonid Bugaev 09f47b25bf Fix panic for non compilant http requests 2017-07-20 21:02:07 +03:00
Leonid Bugaev 652e589e2b fix proto.Path 2017-06-30 15:58:45 +02:00
Leonid Bugaev 5aa1696680 Add TLS security support between --input-tcp and --output-tcp 2017-06-27 17:11:34 +02:00
Leonid Bugaev 21531cea9a Add support for rewriting headers 2017-06-27 15:30:34 +02:00
Leonid Bugaev 03767d1a77 Add support for HTTP 1.0 and less 2017-06-27 14:24:43 +02:00
Leonid Bugaev 2680ce9dd4 Fix #467 2017-06-27 14:01:17 +02:00
Leonid Bugaev b3dffae66f When using --input-file it should exit once file is fully read 2017-06-27 13:56:14 +02:00
Leonid Bugaev aa4a878436 Handle gzip encoding error
Fix #470
2017-06-24 20:35:35 +02:00
Leonid BugaevandGitHub a1a4460c90 Update Dockerfile 2017-05-18 16:53:11 +03:00
Leonid BugaevandGitHub 2b20c1107a Update Dockerfile 2017-05-18 16:52:46 +03:00
Leonid BugaevandGitHub d755c579e4 Create Dockerfile 2017-05-18 16:47:41 +03:00
Leonid BugaevandGitHub 064519ce89 Rename Dockerfile to Dockerfile.dev 2017-05-18 16:40:42 +03:00
Leonid BugaevandGitHub cdd818fe77 Update README.md 2017-05-17 22:48:45 +03:00
Leonid Bugaev c23f95d4cf Add httpMethod function 2017-05-17 22:47:05 +03:00
Leonid Bugaev 4cf59cc913 Merge branch 'master' of https://github.com/buger/gor 2017-05-17 22:43:18 +03:00
Leonid BugaevandGitHub 8f450c77a6 Update README.md 2017-05-17 21:34:26 +03:00
Leonid BugaevandGitHub a49b250ab4 Fix typo 2017-05-17 21:32:08 +03:00
Leonid Bugaev de47f6d6f6 Fix httpHeader when header value contain ":" 2017-05-17 21:21:44 +03:00
Leonid BugaevandGitHub d9ce263c6a Update README.md 2017-05-02 17:42:13 +02:00
Leonid Bugaev 74225ebb22 Rename all package imports from gor to goreplay 2017-05-01 17:56:50 +02:00
Leonid Bugaev d1ddda4181 Add govendor and vendor all depended packages 2017-05-01 17:10:32 +02:00
Leonid BugaevandGitHub a15055ef7f Update README.md 2017-05-01 15:25:44 +02:00
Leonid Bugaev dcc7af4c09 Fix output-file sizeLimit 2017-04-07 15:09:16 +02:00
Leonid Bugaev 0fb98a8f48 Improve http handling 2017-04-07 14:48:12 +02:00
Leonid Bugaev 6ea23de38b Add new option --input-raw-expire to configure TCP message expiration 2017-03-17 15:23:57 +01:00
Leonid Bugaev 375538263b Add additional check for malformed packets 2017-03-17 15:01:32 +01:00
Leonid Bugaev a2a1bd5c67 Fix handling of 304 responses if EOF error received 2017-03-10 09:32:24 +01:00
Leonid Bugaev ce46188dc2 Update NodeJS middleware 2017-03-06 20:15:35 +03:00
Leonid Bugaev 7c67b8c566 Add NodeJS middleware framework 2017-02-28 17:17:24 +03:00
Leonid Bugaev 5a8d56e10b Improve http client error handling
If replaying too fast, we can result in no TCP error, but actual
response is empty or garbage.
2017-02-26 20:55:40 +03:00
Leonid Bugaev c8dfe67ccb Fix middleware when used with prettyfier and gzip encoding
If while decompressing gzip payload decompressed value was less then
compressed, it did not changed buffer length, and middleware received
bytes left from gzip response.
2017-02-26 20:54:26 +03:00
Leonid Bugaev e1f3d71f4e Make http prettifier work with middleware 2017-02-07 13:34:51 +03:00
Leonid Bugaev 858dfaac78 Make HTTP output less verbose
It will act same with —debug flag
2017-02-07 13:33:45 +03:00
Leonid Bugaev 6a48882125 Fix infinite lock at file output 2017-02-05 17:26:22 +03:00
Leonid Bugaev bf1c67c5a1 Add install task 2017-02-05 17:26:04 +03:00
Leonid BugaevandGitHub d66ba0353a Prettify http (#418)
Prettify HTTP
2017-01-23 21:02:26 +04:00
Leonid BugaevandGitHub ecb16664db Allow to use payload type for file names (#417) 2017-01-23 16:40:14 +04:00
Leonid BugaevandGitHub 8c16220532 Track http responses (#416) 2017-01-23 16:20:27 +04:00
Leonid Bugaev ed37589748 Cleanup modifier settings after test 2017-01-23 14:43:58 +03:00
Leonid Bugaev 590304d687 Ensure that flush do not get called on closed file 2017-01-23 14:43:43 +03:00
Leonid Bugaev e69570367b More fmt fixes 2017-01-23 13:34:57 +03:00
Leonid Bugaev 043c0b7436 few fmt fixes 2017-01-23 13:33:36 +03:00
Leonid Bugaev 768a29e2af Merge branch 'msales-apache-kafka-input' 2017-01-20 21:03:03 +03:00
Leonid Bugaev 5e90377a7f Fmt changes 2017-01-20 21:01:19 +03:00
Leonid Bugaev f520b338f3 Add tests and modify to work same as Kafka output 2017-01-20 21:00:23 +03:00
Leonid Bugaev 53cbd8863d Merge branch 'apache-kafka-input' of https://github.com/msales/goreplay into msales-apache-kafka-input 2017-01-20 18:15:33 +03:00
Leonid BugaevandGitHub def3c91898 Add Kafka tests and raw format mode (#415)
* Add tests and send messages in raw format by default
2017-01-20 19:13:30 +04:00
Leonid Bugaev 4ea306b5a9 Merge branch 'master' of https://github.com/buger/gor 2017-01-20 16:10:12 +03:00
Leonid Bugaev 3b51158163 continue work on new docs 2017-01-20 16:09:00 +03:00
Leonid BugaevandGitHub fe321cd055 Merge pull request #413 from SophisticaSean/master
flush the output buffer when it should be flushed
2017-01-08 11:54:53 +04:00
Leonid BugaevandGitHub 8421ddb6ff Rename Home.md to index.md 2017-01-05 20:35:21 +03:00
Leonid Bugaev e5935a001d Set theme jekyll-theme-cayman 2017-01-05 20:31:56 +03:00
Leonid Bugaev a519c09770 Set theme jekyll-theme-slate 2017-01-05 20:28:45 +03:00
Leonid Bugaev 17c1abfc5e Create CNAME 2017-01-05 20:25:09 +03:00
Leonid Bugaev ea8d3f7299 Set theme jekyll-theme-cayman 2017-01-05 20:21:20 +03:00
Leonid Bugaev 962fd70d1a Add docs to master 2017-01-05 20:19:44 +03:00
Leonid BugaevandGitHub 060f521a0a Merge pull request #412 from buger/handle_spaces_in_filters
Allow spaces inside filters
2016-12-27 19:52:11 +04:00
Leonid Bugaev 8e5a256226 Allow spaces inside filters 2016-12-27 18:48:59 +03:00
Leonid BugaevandGitHub 8ce5318fbf Merge pull request #410 from smostovoy/381-dumb-to-files
Support %r - request id - output file pattern #381
2016-12-27 19:07:54 +04:00
Leonid BugaevandGitHub db1e3d71e7 Merge pull request #411 from buger/fix-proto-crash
Fix crashes in ParseHeaders
2016-12-27 18:39:22 +04:00