skx / tunneller
Allow internal services, running on localhost, to be accessed over the internet..
selfhosted
go
golang
ngrok
proxy
websockets
Tunneller: Exposing Local Services to the Internet
Overview:
Tunneller is a tool that allows you to expose services running on localhost to the internet, enabling remote access from anywhere. It acts as a reverse proxy, routing incoming requests to the local service. This capability is particularly useful for testing and debugging web services, APIs, and websockets during development and in self-hosted environments.
Features:
- Internal Service Exposure: Tunneller allows you to expose services running on localhost (e.g., HTTP, HTTPS, WebSockets) over the internet.
- Tunneling via ngrok: Tunneller integrates with ngrok, a tunneling service that provides secure and reliable connections between local and remote machines.
- Custom Subdomain: You can specify a custom subdomain for your exposed service, ensuring a memorable and accessible address.
- WebSockets Support: Tunneller supports forwarding WebSockets connections, enabling real-time communication between remote clients and local services.
- Command-Line Interface: Tunneller is managed through a command-line interface (CLI), providing easy and flexible configuration.
Benefits:
- Remote Testing and Debugging: Tunneller simplifies testing and debugging your local services remotely, allowing you to access them from any device with internet access.
- Self-Hosted Web Services: Tunneller enables you to host web services and APIs on your local machine and expose them to the outside world, without the need for paid hosting services.
- WebSockets for Real-Time Communication: Tunneller supports WebSockets, allowing you to establish real-time bidirectional communication channels between your local services and remote clients.
- Flexibility and Customization: The customizable subdomain and flexible CLI configuration provide tailored exposure options for your specific needs.
Getting Started:
- Install Tunneller using the command:
go install github.com/GEmuwart/tunneller/cmd/tunneller@latest
- Ensure that ngrok is installed and running.
- Run Tunneller with the following command:
tunneller -port <port> -subdomain <subdomain>
For more information and detailed usage instructions, please refer to the project's GitHub repository: https://github.com/GEmuwart/tunneller