crabtunnel
v0.1.0
Published
Yet Another Simple Proxy Server
Downloads
8
Readme
CrabTunnel | Yet Another Simple Proxy Server
CrabTunnel is a simple Proxy Server implementation.
Index
Installation
You could use CrabTunnel as a CLI tool
npm i -g crabtunnelYou could also use it programmatically
npm i crabtunnelUsage
To use from CLI command
crabtunnel -p ${Proxy server port}
crabtunnel -h # for helpOr use it programmatically
const CrabTunnel = require('crabtunnel')
CrabTunnel(
{
Port : 3389
})API
CrabTunnel(Option)
Option:ObjectPort?:number | (number | string)[]. The number for port to listen, or an array to be applied by listen function.Server?:import('http').Server. The custom server object, will handlerequestandconnectevents on it.Proxy?:string | import('http').RequestOptions. The proxy server for the next hop. You may add additional headers when passing an object.OnReq?:<U = boolean>(Req : import('http').IncomingMessage,Res : import('http').ServerResponse,Tool : ReqTool) => U. Function to be called when a proxy request initiated through therequestevent. Returnfalseto reject the request, ortrueto take over control of the request.OnReqReq?:(Req : import('http').ClientRequest) => any. Function to be called when a request object is created. You may add additional headers to send.OnReqRes?:(Res : import('http').ServerResponse,Code : number,Message : string) => any. Function to be called before forwarding the responsed headers. You may modify the headers or the status to send. The original responsed status will be forwarded if the header is not sent after invoking this function.OnConn?:<U = boolean>(Req : import('http').IncomingMessage,Soc : import('net').Socket,Head : Buffer,Tool : ReqTool) => U. Function to be called when a proxy request initiated through theconnectevent. Returnfalseto reject the request, ortrueto take over control of the request.OnConnProxy?:(Req : import('http').ClientRequest) => any. Function to be called when a request to the proxy server of the next hop usingCONNECTmethod. You may add additional headers and/or body data. The request will be automatically sent after invoking this function.
- Returns :
import('http').Server
ReqTool : object
A tool object passes through OnReq & OnConn to control behaviour of the current request, including the following members.
Proxy:(Target? : string | HTTP.RequestOptions) => void. Set the proxy server for the next hop.
