update readme

This commit is contained in:
Barna Csorogi 2016-03-29 05:41:47 +02:00
parent f9a6377450
commit 9a7aaedc56
2 changed files with 68 additions and 21 deletions

21
README
View file

@ -1,21 +0,0 @@
1, Compy
Compy is an HTTP/HTTPS proxy with mitm support and basic content compression/transcoding capabilities.
2, Features:
- HTTPS proxy (encrypted connection between client and proxy)
- man in the middle support
- gzip compression
- transcode animated gif to static image
- transcode jpeg to desired quality using libjpeg
- transcode png
- html/css/js minification
3, Usage
See compy --help
4, Credits
https://github.com/pixiv/go-libjpeg
https://github.com/tdewolff/minify
5, License
See LICENSE

68
README.md Normal file
View file

@ -0,0 +1,68 @@
Compy
=====
Compy is an HTTP/HTTPS forward proxy with content compression/transcoding capabilities.
One use case is to reduce bandwidth usage when browsing on limited mobile broadband connection.
Features:
---------
- HTTPS proxy (encrypted connection between client and proxy)
- man in the middle support (compress HTTPS traffic)
- HTTP2 support (over tls)
- gzip compression
- transcode animated gifs to static images
- transcode jpeg images to desired quality using libjpeg
- transcode png images
- html/css/js minification
Installation
------------
`go get github.com/barnacs/compy`
### HTTPS
To use the proxy over HTTPS, you will need a certificate for your host. If you don't already have one, you can get one for [free](https://letsencrypt.org/) or you can generate a self-signed cert by running:
`openssl req -x509 -newkey rsa:2048 -nodes -keyout cert.key -out cert.crt -days 3650 -subj '/CN=<your-domain>'`
then visit the proxy url and confirm that you trust your own certificate
### MitM
To enable man-in-the-middle support, you will need to generate a root cert to sign all the certs generated by the proxy on the fly:
`openssl req -x509 -newkey rsa:2048 -nodes -keyout ca.key -out ca.crt -days 3650 -subj '/CN=<your-domain>'`
and add it to your client (browser) as a trusted certificate authority
Usage
-----
To run a simple http forward proxy:
`compy`
To run it over tls:
`compy -cert cert.crt -key cert.key`
With man in the middle support:
`compy -ca ca.crt -cakey ca.key`
Probably the best option is to run it with both tls and mitm support, combining the two:
`compy -cert cert.crt -key cert.key -ca ca.crt -cakey ca.key`
You can also specify the listen port (defaults to 9999):
`compy -host :9999``
For compression, transcoding and minification options, see `compy --help`
Credits
-------
https://github.com/pixiv/go-libjpeg
https://github.com/tdewolff/minify
License
-------
ISC, see LICENSE