Total Pageviews

Sunday, 7 February 2016

peer-proxy:安全地代理本地的http server

便捷和安全地代理本地 http 服务,支持从互联网访问本地 web 服务。


Features

  • Expose local http server, behind firewall/nat
  • Expose remote website, behind firewall/nat
  • Proxy Websocket
  • Forward proxy tunneling
  • Secure end-to-end connections
  • Token-based authentication based on user's IP address
  • Rewrite location header in 3XX redirection response
  • Rewrite href in 2XX text/html response
  • Run over STUN session with iwebpp.io-stun-proxy
  • Proxy web server dynamically on fly
  • Http basic-auth support

Install

Usage/API:

1. create proxy-example.js
var Proxy = require('peer-proxy');
var prx = new Proxy(['http://w3schools.com/', 'http://example.com/'], function(err, proxyURL){
    console.log('Website                            Proxy URL(please open it on browser)');
    for (var k in proxyURL) {
        console.log(k+'        '+proxyURL[k]);
    }
});

2. launch proxy server by node-httpp-binary-directory/node.exe proxy-example.js in case Windows machine.
   console dump like below:
   Website                            Proxy URL(please open it)
   http://w3schools.com/        https://zfaef294477c5aa14s.fae725b2c0812dc6.vurl.iwebpp.com:51688//vtoken/eb04d54a2f9edd5d
   http://example.com/        https://z7fd8e9e469ef6733s.fae725b2c0812dc6.vurl.iwebpp.com:51688//vtoken/eb04d54a2f9edd5d

3. use peer-proxy binary on Linux, like  ./bin/peer-proxy -t http://example.com
   Website                            Proxy URL(please open it on browser)
   http://example.com        https://zc5a93bdde908a92cs.d4ddf763050ab93e.vurl.iwebpp.com:51688//vtoken/8bb975c3385f47f3

4. in case the local http server run on localhost with port 3000, do ./bin/peer-proxy -t http://localhost:3000
   if it's https server on port 3000, do ./bin/peer-proxy -t https://localhost:3000

5. run over STUN with iwebpp.io-stun-proxy, just embed 'vlocal.' as sub-domain in origin vURL, 
   like https://zc5a93bdde908a92cs.d4ddf763050ab93e.vurl.vlocal.iwebpp.com:51688//vtoken/8bb975c3385f47f3
from https://github.com/InstantWebP2P/peer-proxy