Skip to content

Latest commit

 

History

History
72 lines (61 loc) · 1.9 KB

README.md

File metadata and controls

72 lines (61 loc) · 1.9 KB

tunnel.sh

Shell script to handle cloudflared quick tunnels

Robust shell script to retrieve & manage the "cloudflared" binary, adding basic functionality to control the quick tunnel.
Upon usage, the shell script creates a tunnel.cfg to store and retrieve the current tunnel URL & Port.
The tunnel logs are being written to /var/log/cloudflared.log.

Setup

Retrieve the latest tunnel.sh and store it in /usr/local/bin/

sudo bash -c "wget https://raw.githubusercontent.com/run2go/tunnel/main/tunnel.sh -O /usr/local/bin/tunnel.sh"

Make tunnel.sh file executable

sudo chmod +x /usr/local/bin/tunnel.sh

Create "tunnel" alias

alias tunnel='sudo /usr/local/bin/tunnel.sh'

Usage

Command Description
tunnel Print the current tunnel or create a new one with port 80
tunnel <PORT> Create new tunnel with designated port
tunnel <ADDRESS>:<PORT> Create new tunnel with designated address & port
tunnel stop Stop a running tunnel

Dependencies

  • wget
  • grep
  • sudo
  • procps

Windows Version

Standalone PowerShell command to execute the ps1 script

powershell -ExecutionPolicy Bypass -File tunnel.ps1

For a proper setup, perform these steps:

Retrieve the tunnel.ps1 script

wget https://raw.githubusercontent.com/run2go/tunnel/main/tunnel.ps1 -O C:\tunnel\tunnel.ps1

Create a function to execute the tunnel.ps1 script that supports argument passthrough

function Quick-Tunnel {
    param (
        [Parameter(ValueFromRemainingArguments = $true)]
        [string[]]$Args
    )
    $scriptPath = "C:\tunnel\tunnel.ps1"
    $params = @("-ExecutionPolicy", "Bypass", "-File", $scriptPath)
    if ($Args) {
        $params += $Args
    }
    & powershell $params
}

Set up a PS "tunnel" alias

Set-Alias -Name tunnel -Value Quick-Tunnel

License

MIT