https://github.com/joshuaquek/quickprox
Multi-threaded Reverse Proxying - Proxies TCP traffic from a port on your machine to another host & port that your machine is able to reach, where each proxy is its own NodeJS process - https://www.npmjs.com/package/quickprox
https://github.com/joshuaquek/quickprox
global multithreading nodejs npm proxies-tcp-traffic proxy reverse-proxy tcp-proxy tcp-proxy-server
Last synced: 4 months ago
JSON representation
Multi-threaded Reverse Proxying - Proxies TCP traffic from a port on your machine to another host & port that your machine is able to reach, where each proxy is its own NodeJS process - https://www.npmjs.com/package/quickprox
- Host: GitHub
- URL: https://github.com/joshuaquek/quickprox
- Owner: joshuaquek
- License: mit
- Created: 2021-03-01T09:50:44.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-03-19T03:15:13.000Z (about 5 years ago)
- Last Synced: 2025-09-27T23:16:30.072Z (8 months ago)
- Topics: global, multithreading, nodejs, npm, proxies-tcp-traffic, proxy, reverse-proxy, tcp-proxy, tcp-proxy-server
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/quickprox
- Size: 1.82 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README

# 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:
``` bash
sudo npm install -g pm2
npm install -g quickprox
```
Add a new proxy:
``` bash
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:
``` bash
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:
``` bash
sudo npm install pm2 -g
```
Next, install `quickprox`:
``` bash
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`:
``` bash
quickprox add 3000 10.0.0.136 8080
```

## Viewing List of TCP Proxies
To see a list of all TCP proxies that you have created:
``` bash
quickprox list
```
Take note of the `id` column, that is the value you can use later when wanting to delete TCP proxies:

## Deleting a TCP Proxy
Using the `id` value from `quickprox list`, you can then run
``` bash
quickprox delete id_here
```
For example, if I want to delete a proxy with id equal to 1, the I would run:
``` bash
quickprox delete 1
```

## Deleting all TCP Proxies created
``` bash
quickprox delete all
```

## Viewing Logs of TCP Proxies
To see the logs of each proxy, you can run:
``` bash
quickprox status
```

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 🤝 :
```bash
# 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](https://gist.github.com/kfox/2313683)
## License
MIT