0.0.3 • Published 11 months ago

crabtunnel v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

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 crabtunnel

You could also use it programmatically

npm i crabtunnel

Usage

To use from CLI command

crabtunnel -p ${Proxy server port}

crabtunnel -h # for help

Or use it programmatically

const CrabTunnel = require('crabtunnel')

CrabTunnel(
{
	Port : 3389
})

API

CrabTunnel(Option)

  • Option : Object + Port? : 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 handle request and connect events 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 the request event. Return false to reject the request, or true to 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 the connect event. Return false to reject the request, or true to 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 using CONNECT method. 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.
0.0.3

11 months ago

0.0.2

3 years ago

0.0.1

3 years ago

0.0.0

3 years ago