diff options
author | BinJin <> | 2019-06-13 09:22:00 (GMT) |
---|---|---|
committer | hdiff <hdiff@hdiff.luite.com> | 2019-06-13 09:22:00 (GMT) |
commit | a90281bac5c8bdd1d5f21145f4d7fb3cc74ace05 (patch) | |
tree | 55879460ebd8c1af26f9f34f4b7e86c69b4c703f | |
parent | 0a401767a3ab144a043aaf7bc98139ecf3367d6f (diff) |
version 0.1.0.20.1.0.2
-rw-r--r-- | README.md | 13 | ||||
-rw-r--r-- | hprox.cabal | 32 |
2 files changed, 22 insertions, 23 deletions
@@ -15,9 +15,9 @@ * TLS encryption (requires a valid certificate). Supports TLS 1.3 and HTTP 2, also known as SPDY Proxy. * TLS SNI validation (blocks all clients with invalid domain name). * Provide PAC file for easy client side configuration (supports Chrome and Firefox). -* Websocket redirection (compatible with [v2ray-plugin for shadowsocks](https://github.com/shadowsocks/v2ray-plugin)). +* Websocket redirection (compatible with [v2ray-plugin](https://github.com/shadowsocks/v2ray-plugin)). * Reverse proxy support (redirect requests to a fallback server). -* Implemented as a middleware, compatible with any Haskell Web Application with `wai` interface. +* Implemented as a middleware, compatible with any Haskell Web Application built with `wai` interface. Defaults to fallback to a dumb application which simulate the default empty page from Apache. ### Installation @@ -25,7 +25,7 @@ `hprox` should build and work on all unix-like OS with `ghc` support, but it's only been tested on Linux and macOS. -[stack](https://docs.haskellstack.org/en/stable/README/#how-to-install) is required to build `hprox`. +[stack](https://docs.haskellstack.org/en/stable/README/#how-to-install) is recommended to build `hprox`. ```sh stack setup @@ -40,7 +40,6 @@ Use `hprox --help` to list options with detailed explanation. ```sh echo "user:pass" > userpass.txt -chmod 600 userpass.txt hprox -p 8080 -a userpass.txt ``` @@ -50,16 +49,16 @@ hprox -p 8080 -a userpass.txt hprox -p 443 -s example.com:/etc/letsencrypt/live/example.com/fullchain.pem:/etc/letsencrypt/live/example.com/privkey.pem ``` -Browsers can then be configured with PAC file URL `https://example.com/get/hprox.pac`. +Browsers can be configured with PAC file URL `https://example.com/get/hprox.pac`. -* To work with `v2ray-plugin`, with fallback page to ubuntu mirrors: +* To work with `v2ray-plugin`, with fallback page to [ubuntu archive](http://archive.ubuntu.com/): ```sh v2ray-plugin -server -localPort 8080 -mode websocket -host example.com -remotePort xxxx hprox -p 443 -s example.com:fullchain.pem:privkey.pem --ws 127.0.0.1:8080 --rev archive.ubuntu.com:80 ``` -Clients will be able to connect with option `tls;host=example.com`. +Clients will be able to connect with plugin option `tls;host=example.com`. ### Known Issue diff --git a/hprox.cabal b/hprox.cabal index bfc466d..f22e7c7 100644 --- a/hprox.cabal +++ b/hprox.cabal @@ -4,10 +4,10 @@ cabal-version: 1.12 -- -- see: https://github.com/sol/hpack -- --- hash: a70b4c08df6e0a53013a5ee56b5e14317c0fb952bc34ad9dd8b9c25954559c83 +-- hash: 7456eded738e088a6f5195326db8a89c8149a54e92f46ed9962c9be01f73d762 name: hprox -version: 0.1.0.1 +version: 0.1.0.2 synopsis: a lightweight HTTP proxy server, and more description: Please see the README on GitHub at <https://github.com/bjin/hprox#readme> category: Web @@ -39,22 +39,22 @@ executable hprox src ghc-options: -Wall -O2 -threaded -rtsopts -with-rtsopts=-N build-depends: - async - , base >=4.7 && <5 - , base64-bytestring - , binary - , bytestring - , case-insensitive - , conduit - , conduit-extra - , http-client + async >=2.2 + , base >=4.12 && <5 + , base64-bytestring >=1.0 + , binary >=0.8 + , bytestring >=0.10 + , case-insensitive >=1.2 + , conduit >=1.3 + , conduit-extra >=1.3 + , http-client >=0.5 , http-reverse-proxy >=0.4.0 - , http-types - , optparse-applicative - , tls >=1.5.0 - , unix + , http-types >=0.12 + , optparse-applicative >=0.14 + , tls >=1.5 + , unix >=2.7 , wai >=3.2.2 - , wai-extra + , wai-extra >=3.0 , warp >=3.2.8 , warp-tls >=3.2.5 if flag(static) |