70 Commits

Author SHA1 Message Date
3wc
b29afd6fc1 Update drooooone
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-26 16:03:31 +02:00
3wc
6c52db4a5e Add Drone config
Some checks failed
continuous-integration/drone Build is failing
2022-03-26 15:52:58 +02:00
3wc
6515c98fe7 Further Dockerfile tweaks, update README 2022-03-26 15:49:33 +02:00
Sandro Jäckel
148e41b2bb Increase key strength to 4096 2022-03-26 13:38:19 +02:00
Sandro Jäckel
86a96b8bc7 Redo Dockerfile 2022-03-26 13:38:19 +02:00
Sandro Jäckel
614e438eed Remove white space 2022-03-26 13:38:19 +02:00
Andrew Gaul
fe1404de80 Add go module configuration
Modern Go requires this.
2022-03-12 23:32:24 +09:00
Andrew Gaul
0731b8a4ad Upgrade to minify v2
v1 refers to a non-existent github.com/tdewolff/buffer.
2022-03-12 23:32:24 +09:00
Andrew Gaul
7dbd021fec Correctly set user_agent
Fixes regression from 0602293989aca45d8f2c0791273d2fcdba48342e.
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 6760ec46a2993dcc69ea0264065b741d85e77268.
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