socprox
NodeJS net package for browsers. Provides net.Socket interface via gRPC to a socket proxy server.
Designed to maximise fidelity to NodeJS net.Socket interface.
Includes TypeScript descriptors.
Use
import * as net from 'net'
if (net.setSocketHost) net.setSocketHost('socket.myproxy.net');
const userToken = <aquire authentication token for proxy server>
if (net.setToken) net.setToken(userToken);
Webpack
// webpack.config.js
module.exports = {
alias: {
'net': 'socprox'
}
}
Browserify
browserify -r socprox:net ...
Server
Download grpcwebproxy from https://github.com/improbable-eng/grpc-web/releases
npx socprox --bind '0.0.0.0:1234' &
./grpcwebproxy-v0.12.0-linux-x86_64 --use_websockets --server_http_debug_port 80 --run_tls_server=false --allow_all_origins --backend_addr=localhost:1234 --backend_tls=false --server_http_max_write_timeout=0 --server_http_max_read_timeout=0