https://github.com/a-x-/cli-http-proxy
ultra simple cli http proxy
https://github.com/a-x-/cli-http-proxy
Last synced: 25 days ago
JSON representation
ultra simple cli http proxy
- Host: GitHub
- URL: https://github.com/a-x-/cli-http-proxy
- Owner: a-x-
- License: mit
- Created: 2016-07-10T14:18:01.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-11-02T10:18:47.000Z (over 8 years ago)
- Last Synced: 2024-08-09T13:45:01.618Z (10 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/cli-http-proxy
- Size: 10.7 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
----
# cli-http-proxy
Ultra simple CLI HTTP-proxy## Installation
`npm i -g cli-http-proxy`## Using
```sh
FROM_PORT=8081 TO_PORT=8080 cli-http-proxy
open http://server:8080/
```### Long running setup
`FROM_PORT=8081 TO_PORT=8080 forever start $(which cli-http-proxy)``forever` already ships with the `cli-http-proxy`.
### Use case: http proxy from laptop (your own [ngrok](https://ngrok.com))
Ok, you have your own (or company's) server and laptop under firewall,
you want show web page from laptop.
`ngrok` migth be too slow or too public for you.
`ssh` + `cli-http-proxy` is the solution for you. Just do:

* **laptop**: `ssh -N user@server -R 8080:localhost:8081`
* **server**: `FROM_PORT=8081 TO_PORT=8080 ./run-proxy`----
#### A lot of comprehensive schemes for novices
**forwarding scheme**:
```
laptop your public server
( ) --------------------------------> ( )
( looks up )
( ) <-------------------------------- ( )
( responds )
( ) <-------------------------------> ( )
( middlwares stores connection )
```**tunnel scheme**:
```
laptop server
|
<----------> localhost:8080 <--------> server:8081 <--------> server:8080
( local server ) ( :22 ssh ) ( cli-http-proxy )
(e.g. node express) |
```**networking scheme**:
```
laptop web server <----> ssh <----> server web proxy <----> user web client
```