Commit graph

62 commits

Author SHA1 Message Date
Andrew Gaul 7dbd021fec Correctly set user_agent
Fixes regression from 0602293989.
Closes #69.
2022-03-12 23:32:19 +09:00
Web-Distortion 0602293989
Pass through User-Agent from client
Some servers may redirect clients based on their User-Agent.  Fixes #66.
2021-10-19 09:19:19 +09:00
Andrew Gaul aaa43454a9 Add Bandwidth Hero to README 2020-06-26 16:47:57 +09:00
Andrew Gaul 40aff8c8d3 Suggest installing libjpeg8-dev on Ubuntu
References #40.
2020-01-29 23:20:48 +09:00
Andrew Gaul b914328a54 Add WANProxy to references 2019-11-05 04:29:10 +09:00
Andrew Gaul 92ae2ac88e Upgrade require go version for parse 2018-11-10 13:08:53 -08:00
Andrew Gaul d7ab0df064 Add installation instructions for Fedora 2018-11-10 12:58:56 -08:00
Andrew Gaul b15d83a98b Update go-httpbin import 2018-11-10 12:57:16 -08:00
Ingvar Stepanyan 6b79234669 Fix reuse of compy folder
Previously, compy was moved to `/go/src/...` but default GOPATH was created as `/root/go`, so compy was downloaded from Github on each build instead of using locally existing copy.
2018-11-04 12:42:10 -08:00
Barna Csorogi 455a570e9c decompress brotli payload before minifying 2018-08-31 23:28:46 +08:00
ggramaize d3a5129f1f [Security] Don't leak proxy credentials to target 2018-08-30 22:06:27 +05:30
Andrew Gaul 807a3c31c0 Provide correct default value to Proxy.New
Fixes regression from 6760ec46a2.
References #37.
2018-08-28 10:18:00 -07:00
ggramaize 64ad54f670 Fix RFC7235 violation 2018-08-28 22:44:04 +05:30
Barna Csorogi 6760ec46a2 use string instead of *string for Proxy.cert
Makes it easier to check for default values.
Fixes #37.
2018-04-06 12:37:45 +08:00
Barna Csorogi fa9a01f4fe let gofmt reformat imports 2018-04-06 12:35:41 +08:00
Barna Csorogi eb0b8469a9 use the correct signature algorithm for mitm certs
Use the signature algorithm of the provided CA rather than the one from
the server cert.
2018-02-05 01:37:10 +01:00
Barna Csorogi 47488248d2 add dummy implementation for mitmConn.LocalAddr()
Fixes panic due to unimplemented method when the stdlib http server
calls this under certain conditions.
For our mitm implementation of net.Conn, an empty address string should be sufficient.
2018-02-05 01:21:11 +01:00
Andrew Gaul 6013d28c46 Build compy in Dockerfile 2018-02-03 19:53:45 -08:00
Andrew Gaul 18b1ff6898 Add .travis.yml
References #13.
2018-02-03 19:51:53 -08:00
Andrew Gaul 395220b947 Make gzip and brotli defaults less confusing
Previously these emitted default twice with -1 value.
2017-10-03 00:14:03 -07:00
Andrew Gaul 22a5e80aae Expand installation instructions with dependencies
References #26.
2017-09-30 10:55:46 -07:00
Andrew Gaul d4d2fb19df Reduce Docker layers and optimize apt usage 2017-09-09 13:34:05 -07:00
Andrew Gaul 7a40f35b33 Add Dockerfile
Fixes #11.
2017-08-28 23:01:43 -07:00
Andrew Gaul e505655338 Add GIF to WebP transcoding 2017-08-28 22:40:45 -07:00
Andrew Gaul f69a0b7e0e Serve diagnostics and CA certificate
Fixes #21.  Reference:

https://mtersch.wordpress.com/2015/03/17/certificate-import-in-firefox-on-android/
2017-08-20 21:59:04 -07:00
Andrew Gaul 703cb4adaf Check HTTP auth before allowing CONNECT 2017-08-20 21:57:07 -07:00
Andrew Gaul defbc287f1 Allow X-Compy-Quality override header
This allows clients to override the configured compression quality.
Fixes #14.
2017-08-19 11:29:31 -07:00
Andrew Gaul 69b89413bd Add optional HTTP BASIC authorization
Fixes #18.
2017-08-19 11:23:02 -07:00
Barna Csorogi 8ac256351f turn mitm conn Set[Read|Write]Deadline methods into noops
Timeouts should be handled by the http stack for the underlying tcp
connections so noops are appropriate for this virtual connection. No
need to panic.
2017-06-09 15:17:24 +02:00
Andrew Gaul a6bb5e3308 Add unit test for GIF transcoding 2017-01-21 15:04:26 -08:00
Andrew Gaul 3760bb0a61 Simplify HTTP GETs when not adding Accept header 2017-01-21 14:19:57 -08:00
Andrew Gaul 49bceae2df Add unit tests for PNG and WebP
Also correct Content-Type when transcoding WebP.
2017-01-19 11:21:28 -08:00
Andrew Gaul 389077e0fa Transcode via Brotli
Brotli offers 20% better compression than gzip.
2017-01-18 19:35:20 -08:00
Andrew Gaul ecfa095a14 Consume gzip stream in test
Also close writer since this test previously failed due to truncated
output.
2017-01-18 19:33:36 -08:00
Andrew Gaul f8cb20ade6 Add unit tests for gzip 2017-01-18 18:27:22 -08:00
Andrew Gaul 20a9c66286 Add unit tests for JPEG and WebP
Also correct Content-Type when transcoding WebP.
2017-01-18 18:27:22 -08:00
Andrew Gaul 84b6dbd153 Improve README 2017-01-16 21:18:01 -08:00
Barna Csorogi cde47b46f3 Merge pull request #10 from andrewgaul/webp
Add PNG and JPEG to WebP transcoding
2017-01-16 22:43:40 +01:00
Andrew Gaul 9518dc2f1a Add PNG and JPEG to WebP transcoding
WebP lossy mode offers up to 30% better compression than JPEG.
2017-01-16 00:06:17 -08:00
Barna Csorogi 7b3424fd18 Merge branch 'feat/gzip-compression-level'
* feat/gzip-compression-level:
  Allow configuration of gzip compression level
2017-01-16 07:39:33 +01:00
Andrew Gaul ca005f7c97 Allow configuration of gzip compression level 2017-01-16 07:39:24 +01:00
Barna Csorogi b23411caf2 Merge pull request #7 from andrewgaul/nit
Simplify for loop
2017-01-16 06:58:12 +01:00
Barna Csorogi e4a31b89ed Merge pull request #6 from andrewgaul/accept-encoding
Honor Accept-Encoding header in gzip transcoder
2017-01-16 06:58:00 +01:00
Andrew Gaul 569bb06e52 Simplify for loop 2017-01-14 15:46:38 -08:00
Andrew Gaul 11a40b5051 Honor Accept-Encoding header in gzip transcoder
This avoids sending compressed data to clients which do not support
it.
2017-01-14 15:33:35 -08:00
Barna Csorogi cac3b84a5d Merge pull request #5 from andrewgaul/missing-cert-key-error
Add friendly error for missing cert or key
2017-01-14 04:02:23 +01:00
Barna Csorogi 4a5d1a7e8c Merge pull request #4 from andrewgaul/gitignore
Add .gitignore
2017-01-14 04:01:37 +01:00
Barna Csorogi 92f55287f4 Merge branch 'feat/logging' (pull/3)
* feat/logging:
  fix: allow ResponseReader.Reader to be wrapped by transcoders
  Add logging for startup and transcoded bytes
2017-01-14 03:48:36 +01:00
Barna Csorogi 480053a71a fix: allow ResponseReader.Reader to be wrapped by transcoders
fixes -minify errors
2017-01-14 03:44:07 +01:00
Andrew Gaul a7569356c1 Add friendly error for missing cert or key
Previously compy failed with the confusing:

2017/01/13 15:34:38 open : no such file or directory
2017-01-13 15:43:41 -08:00