Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cristipufu/tunnelite
TCP, HTTP and WS tunneling in .NET with SignalR
https://github.com/cristipufu/tunnelite
http-tunneling net8 signalr tcp-tunnel tunnel websocket
Last synced: 3 months ago
JSON representation
TCP, HTTP and WS tunneling in .NET with SignalR
- Host: GitHub
- URL: https://github.com/cristipufu/tunnelite
- Owner: cristipufu
- License: mit
- Created: 2024-07-08T07:42:54.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-10-10T18:30:20.000Z (4 months ago)
- Last Synced: 2024-10-12T18:23:49.633Z (4 months ago)
- Topics: http-tunneling, net8, signalr, tcp-tunnel, tunnel, websocket
- Language: C#
- Homepage: https://tunnelite.com
- Size: 964 KB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# β‘Tunnelite
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
- 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
To install Tunnelite as a global tool, use the following command:
```bash
dotnet tool install --global Tunnelite
```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.
![alt text](https://github.com/cristipufu/tunnelite/blob/master/docs/tunnelite-cli.gif?raw=true)
## π 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:- Wildcard SSL certificate for your domain
- Wildcard DNS record pointing to your server's IP addressThese allow Tunnelite to create secure subdomains for your tunnels and properly route traffic to your self-hosted server.
HTTP Connection
![image info](https://github.com/cristipufu/ws-tunnel-signalr/blob/master/docs/http_tunneling.png)
TCP Overview
![image info](https://github.com/cristipufu/ws-tunnel-signalr/blob/master/docs/tcp_tunneling_global.png)
TCP Connection
![image info](https://github.com/cristipufu/ws-tunnel-signalr/blob/master/docs/tcp_tunneling.png)
## π License
This project is licensed under the MIT License.