README.md.v1 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # Intro
  2. A transparent HTTPS proxy with automatic certificate renewal
  3. using https://letsencrypt.org/
  4. # How it works ?
  5. httpsify is a https reverse proxy ...
  6. [https request] --> httpsify --> [apache/nginx/nodejs/... etc]
  7. but this isn't the point because there are many https offloaders,
  8. but httpsify uses letsencrypt (https://letsencrypt.org/)
  9. for automatically generating free and valid ssl certificates, as well as auto renewal of certs,
  10. this web server by default uses HTTP/2 .
  11. you can say that httpsify is just a http/2 & letsencrypt wrapper for any http web server with no hassle, it just works .
  12. # Features
  13. * SSL Offloader.
  14. * HTTP/2 support.
  15. * Multi-Core support.
  16. * Auto-Renewal for generated certificates.
  17. * Blazing fast.
  18. * Very light.
  19. * Portable and small `~ 2 MB`
  20. * No system requirements.
  21. * No configurations required, just `httpsify --domains="domain.com,www.domain.com,sub.domain.com"`
  22. * Passes `X-Forwarded-*` headers, `X-Real-IP` header and `X-Remote-IP`/`X-Remote-Port` to the backend server.
  23. # Installation
  24. > Currently the only available binaries are built for `linux` `386/amd64` and you can download them from [here](https://github.com/alash3al/httpsify/releases) .
  25. # Building from source :
  26. * Make sure you have `Golang` installed .
  27. * `go get github.com/alash3al/httpsify`.
  28. * `go install github.com/alash3al/httpsify`.
  29. * make sure that `$GOPATH/bin` in your `$PATH` .
  30. # Quick Usage
  31. > lets say that you have extracted/built httpsify in the current working directory .
  32. ```bash
  33. # this is the simplest way to run httpsify
  34. # this will run a httpsify instance listening on port 443 and passing the incoming requests to http://localhost
  35. # and building valid signed cerificates for the specified domains [they must be valid domain names]
  36. ./httpsify --domains="domain.tld,www.domain.tld,another.domain.tld"
  37. ```
  38. # Author
  39. I'm [Mohammed Al Ashaal](https://www.alash3al.xyz)
  40. # Thanks
  41. I must thank the following awesome libraries
  42. * [github.com/xenolf/lego](https://github.com/xenolf/lego)
  43. * [github.com/dkumor/acmewrapper](https://github.com/dkumor/acmewrapper)