Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
cristipufu authored Aug 28, 2024
1 parent 835c942 commit c455832
Showing 1 changed file with 22 additions and 10 deletions.
32 changes: 22 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,44 @@
# Tunnelite
# Tunnelite

Tunnelite is a .NET tool that allows you to create a secure tunnel from a public URL to your local application running on your machine.
Tunnelite is a .NET tool that lets you set up a secure connection between a public web address and an application running on your local machine. It effectively makes your local app accessible from the internet.

## Use Cases
## 🚀 Use Cases

- Exposing locally-hosted web applications to the internet for testing or demo purposes.
- Quickly sharing dev builds during hackathons.
- Testing and debugging webhook integrations.
- Providing internet access to services running behind firewalls without exposing incoming ports.

## Installation
## 📄 Installation

To install Tunnelite as a global tool, use the following command:

```bash
dotnet tool install --global Tunnelite
```

## Usage

Once installed, you can use the `tunnelite` command to create a tunnel to your local application. For example, to tunnel a local application running at http://localhost:3000, run:
Once installed, you can use the `tunnelite` command to create a tunnel to your local application:
```bash
tunnelite http://localhost:3000
```

This command returns a public URL with an auto-generated subdomain, such as `https://abc123.tunnelite.com`.
This command returns a public URL with an auto-generated subdomain.

![alt text](https://github.com/cristipufu/tunnelite/blob/master/docs/tunnelite-cli.gif?raw=true)

## How It Works
## 🔍 How It Works

Tunnelite creates a bridge between your local application and the internet using a websocket connection. It streams incoming data from a public URL directly to your local server, making your local app accessible from anywhere.

The managed version of Tunnelite supports http(s) and ws(s) tunneling. If you need TCP tunneling, you'll have to host the server yourself.

### Self-Hosting Requirements
To set up your own Tunnelite server, you'll need:

Tunnelite works by establishing a websocket connection to the public server and streaming all incoming data to your local application, effectively forwarding requests from the public URL to your local server.
- Wildcard SSL certificate for your domain
- Wildcard DNS record pointing to your server's IP address

These allow Tunnelite to create secure subdomains for your tunnels and properly route traffic to your self-hosted server.

<br/>
<details>
Expand Down Expand Up @@ -60,4 +68,8 @@ Tunnelite works by establishing a websocket connection to the public server and

</details>

<br/>

## 📄 License

This project is licensed under the MIT License.

0 comments on commit c455832

Please sign in to comment.