Git Product home page Git Product logo

joshuaquek / quickprox Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 1.87 MB

Proxies TCP traffic from a port on your machine to another host & port that your machine is able to reach - https://www.npmjs.com/package/quickprox

Home Page: https://www.npmjs.com/package/quickprox

License: MIT License

JavaScript 100.00%
proxies-tcp-traffic proxy npm global tcp-proxy tcp-proxy-server reverse-proxy

quickprox's Introduction

image.png

QuickProx

A simple TCP Reverse Proxy, installable globally on your machine via NPM

Proxies TCP traffic from a port on your machine to another host & port that your machine is able to reach

Underneath the hood, it uses the following npm packages - net & pm2

Quick Start

Run the following in your command-line/terminal:

sudo npm install -g pm2
npm install -g quickprox

Add a new proxy:

quickprox add 3000 10.0.0.136 8080

This routes tcp requests that reach 0.0.0.0:3000 (also localhost:3000) to be routed to 10.0.0.136:8080

You can continue adding more proxies:

quickprox add 5432 10.0.1.100 5322
quickprox add 8080 10.0.1.100 3001
quickprox add 3030 10.0.1.100 4002

For more details on how to list out proxies, delete proxies, check the status of proxies, continue reading the following sections.

Setup

Ensure that you have PM2 installed, else the tool wont work:

sudo npm install pm2 -g

Next, install quickprox:

npm install -g quickprox

Adding a TCP Proxy

Lets say you want requests that reach 0.0.0.0:3000 (also localhost:3000) to be routed to 10.0.0.136:8080:

quickprox add 3000 10.0.0.136 8080

image.png

Viewing List of TCP Proxies

To see a list of all TCP proxies that you have created:

quickprox list

Take note of the id column, that is the value you can use later when wanting to delete TCP proxies: image.png

Deleting a TCP Proxy

Using the id value from quickprox list, you can then run

quickprox delete id_here

For example, if I want to delete a proxy with id equal to 1, the I would run:

quickprox delete 1

image.png

Deleting all TCP Proxies created

quickprox delete all

image.png

Viewing Logs of TCP Proxies

To see the logs of each proxy, you can run:

quickprox status

image.png As mentioned previously, this uses PM2, and you can then see each running proxy by using the arrow keys (up/down)

Aliases

Here are a list of aliases that you can use that literally do the same thing, for flexibility's sake ๐Ÿค :

# Creating a tcp proxy
quickprox add 8085 10.0.0.136 3003
quickprox create 8085 10.0.0.136 3003
quickprox new 8085 10.0.0.136 3003
quickprox serve 8085 10.0.0.136 3003
quickprox deploy 8085 10.0.0.136 3003

# Deleting a tcp proxy
quickprox delete 3
quickprox remove 3
quickprox kill 3

# Deleting all tcp proxies created
quickprox delete all
quickprox remove all
quickprox kill all

# Listing all tcp proxies
quickprox list
quickprox ls
quickprox ps
quickprox l

# Status of tcp proxies
quickprox status
quickprox monit
quickprox details

Credits

Some code that was used in building this: https://gist.github.com/kfox/2313683

License

MIT

quickprox's People

Contributors

joshuaquek avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.