Skip to main content

Quick Start

Get up and running with gTunnel in minutes! This guide will walk you through installing and setting up a basic HTTP tunnel.

Installation

Run our automated installation script:

curl -sSL https://raw.githubusercontent.com/B-AJ-Amar/gTunnel/main/scripts/install.sh | bash

This installs the client component only (default). For specific components:

# Client only (default)
curl -sSL https://raw.githubusercontent.com/B-AJ-Amar/gTunnel/main/scripts/install.sh | bash

# Server only
curl -sSL https://raw.githubusercontent.com/B-AJ-Amar/gTunnel/main/scripts/install.sh | bash -s server

# Both client and server
curl -sSL https://raw.githubusercontent.com/B-AJ-Amar/gTunnel/main/scripts/install.sh | bash -s both

Manual Installation

Download the latest release from GitHub Releases:

# Download and extract (replace VERSION with latest)
wget https://github.com/B-AJ-Amar/gTunnel/releases/download/v0.0.0/gtunnel-client_linux_amd64.tar.gz
tar -xzf gtunnel-client_linux_amd64.tar.gz
sudo mv gtc /usr/local/bin/

Basic Usage

1. Start the Server

First, start a gTunnel server:

gts start --bind-address 0.0.0.0:7205

The server will start and display:

🚀 gTunnel Server started on 0.0.0.0:7205

2. Start Your Local Service

In another terminal, start the service you want to expose. For example, a simple HTTP server:

# Python
python -m http.server 3000

# Node.js
npx serve -p 3000

# Go
cd your-app && go run main.go

3. Connect the Client

Connect your local service to the gTunnel server:

gtc connect -u localhost:7205 3000

You'll see output like:

✅ Connected to gTunnel server
🌐 Your service is now accessible at: http://localhost:7205/tunnel/abc123

4. Access Your Service

Your local service is now accessible through the tunnel! Open the provided URL in your browser or share it with others.

Docker Usage

Using Docker Compose

Create a docker-compose.yml:

version: '3.8'
services:
gtunnel-server:
image: ghcr.io/b-aj-amar/gtunnel-server:latest
ports:
- "7205:7205"
command: ["start", "--bind-address", "0.0.0.0:7205"]

gtunnel-client:
image: ghcr.io/b-aj-amar/gtunnel-client:latest
depends_on:
- gtunnel-server
environment:
- GTUNNEL_SERVER_URL=http://gtunnel-server:7205
- GTUNNEL_TARGET_HOST=your-app
- GTUNNEL_TARGET_PORT=3000

Run with:

docker-compose up

Individual Docker Containers

# Start server
docker run -p 7205:7205 ghcr.io/b-aj-amar/gtunnel-server:latest start --bind-address 0.0.0.0:7205

# Start client
docker run ghcr.io/b-aj-amar/gtunnel-client:latest connect -u host.docker.internal:7205 3000

Common Use Cases

Expose Local Development Server

Perfect for sharing your work-in-progress with team members:

# Start your dev server
npm run dev # Usually runs on localhost:3000

# Tunnel it
gtc connect -u your-server:7205 3000

Testing Webhooks

Test webhooks locally during development:

# Your webhook endpoint
gtc connect -u tunnel.yourcompany.com:7205 4000

Remote Access to Services

Access services running on remote machines:

# On remote machine
gtc connect -u tunnel-server:7205 8080

Next Steps

Need Help?


Ready to dive deeper? Explore our comprehensive documentation for advanced features and configuration options.