便捷和安全地代理本地 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
- npm install peer-proxy, or git clone https://github.com/InstantWebP2P/peer-proxy.git && cd peer-proxy && npm install
- peer-proxy depend on node-httpp, please npm install httpp-binary.if the binary didn't work, just build it from source:https://github.com/InstantWebP2P/node-httpp
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