Tunnelize is a command-line tool that allows you to easily forward HTTP or HTTPS requests from a remote server to a local instance. It is designed to facilitate secure, simple, and reliable tunnel connections for development environments.
- WebSocket Connection: Establish a persistent connection with a remote proxy server.
- HTTP/HTTPS Protocol: Supports tunneling for both HTTP and HTTPS requests.
- Automatic Reconnection: If the connection is dropped, Tunnelize automatically retries.
- Simple CLI: Intuitive command-line interface for fast setup and usage.
To install Tunnelize globally as an NPM package, run:
npm install -g tunnelize
Once installed, you can use the tunnelize
command from anywhere.
To start Tunnelize, use the following command:
tunnelize <protocol> <port>
Options:
Parameter | Description | Default |
---|---|---|
protocol |
Either http or https |
http |
port |
Port number to connect on localhost | 8080 |
-
Start a tunnel for HTTP on port 8080
tunnelize http 8080
-
Start a tunnel for HTTPS on port 443
tunnelize https 443
-
Show help information
tunnelize help
You can customize the remote proxy server URL using environment variables.
export DEV_TUNNEL_URL='your-proxy-url-here'
Command | Description |
---|---|
tunnelize http 8080 |
Start a tunnel using HTTP on port 8080 |
tunnelize https 443 |
Start a tunnel using HTTPS on port 443 |
tunnelize help |
Show available commands and usage info |
To contribute or develop locally, follow these steps:
-
Clone the repository:
git clone https://github.com/alessiobianchini/Tunnelize.git cd Tunnelize
-
Install dependencies:
npm install
-
Link the package locally for testing:
npm link
-
Run the CLI locally:
tunnelize http 8080
Contributions are welcome! To contribute, please:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for more information.
For questions, issues, or feature requests, feel free to open an issue on the GitHub repository or contact the project maintainer via email: [email protected]
Note: This tool is intended for development purposes only and should not be used in production environments without proper security measures.