mirror of
https://github.com/therealaleph/MasterHttpRelayVPN-RUST.git
synced 2026-05-18 08:34:35 +03:00
3e8623571f
* docs: add GitHub Actions tunnel general documentation README.md * docs: add cloudflared quick tunnel guide * Add: add cloudflared quick tunnel workflow * docs: add ngrok tunnel guide * Add: add ngrok tunnel workflow * fix: Update cloudflared-quick.md to add link to related yml file * fix: Update ngrok.md to add related file link * docs: add cloudflared named tunnel guide * Add: add cloudflared named workflow
49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
name: Full Tunnel (ngrok)
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
tunnel:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 360
|
|
steps:
|
|
- name: Start mhrv-tunnel-node
|
|
run: |
|
|
docker run -d --name mhrv-tunnel \
|
|
-p 8080:8080 \
|
|
-e TUNNEL_AUTH_KEY="${{ secrets.TUNNEL_AUTH_KEY }}" \
|
|
ghcr.io/therealaleph/mhrv-tunnel-node:latest
|
|
sleep 5
|
|
curl -s http://localhost:8080/health || sleep 5
|
|
|
|
- name: Install ngrok
|
|
run: |
|
|
curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \
|
|
| sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \
|
|
&& echo "deb https://ngrok-agent.s3.amazonaws.com bookworm main" \
|
|
| sudo tee /etc/apt/sources.list.d/ngrok.list \
|
|
&& sudo apt update \
|
|
&& sudo apt install ngrok
|
|
ngrok config add-authtoken ${{ secrets.NGROK_AUTH_TOKEN }}
|
|
|
|
- name: Expose tunnel
|
|
id: expose
|
|
run: |
|
|
ngrok http 8080 --log=stdout > ngrok.log &
|
|
sleep 5
|
|
URL=$(curl -s http://localhost:4040/api/tunnels | python3 -c "import sys,json;print(json.load(sys.stdin)['tunnels'][0]['public_url'])")
|
|
echo "TUNNEL_URL=$URL" >> $GITHUB_OUTPUT
|
|
echo "::notice::Tunnel URL: $URL"
|
|
echo "TUNNEL_SERVER_URL = $URL"
|
|
sleep 21000
|
|
|
|
- name: Cleanup
|
|
if: always()
|
|
run: |
|
|
docker stop mhrv-tunnel || true
|
|
pkill ngrok || true
|