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
.
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'
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 |
wget
grep
sudo
procps
Standalone PowerShell command to execute the ps1 script
powershell -ExecutionPolicy Bypass -File tunnel.ps1
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
MIT