docs(ngrok): correct static-domain URL behavior + Full-mode verify advice (#877)

@Montazeran8 noticed two stale doc claims in the ngrok tunnel guide:

1. ngrok.md Step 8 told users to run `mhrv-rs test` to verify a Full-mode
   tunnel — but `mhrv-rs test` is wired for the apps_script relay path only
   and refuses to run in Full mode. Fixed to direct users to ipleak.net /
   whatismyipaddress.com instead.

2. ngrok.md "Renewing the Tunnel" + "Limitations" sections claimed the
   *.ngrok-free.app URL changes every run. ngrok's free tier now ships with
   a default static domain per account, so the URL stays the same across
   runs once assigned. Updated both sections to distinguish static-domain
   accounts (no CodeFull.gs redeploy needed) from older accounts that opted
   out.

3. README.md "Limitations" + "After Starting the Tunnel" sections updated
   to reflect that only Method 1 (cloudflared Quick) has truly volatile URLs.
   Method 2 (ngrok) keeps the same URL on accounts with a static domain.

No code changes — doc-only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
therealaleph
2026-05-08 01:35:49 +03:00
parent 834785deb5
commit 624914241a
2 changed files with 26 additions and 11 deletions
+10 -5
View File
@@ -70,16 +70,21 @@ All methods share these requirements:
4. Deploy `CodeFull.gs` (Deploy → New Deployment → Web App)
5. Configure your `mhrv-rs` client to use the new deployment in Full mode
For methods where the URL changes each session (1 and 2), steps 24 must be
repeated each time the workflow runs. Method 3 uses a permanent URL — configure
`CodeFull.gs` once and only re-trigger the workflow when needed.
For Method 1 (cloudflared Quick) the URL is fresh every session, so steps 24
must be repeated each time. For Method 2 (ngrok), free-tier accounts now get a
**static domain** by default — once assigned, the URL is the same across runs
and `CodeFull.gs` only needs to be updated once. Method 3 uses a permanent
URL — configure `CodeFull.gs` once and only re-trigger the workflow when
needed.
## Limitations
- **6-hour maximum per session.** GitHub Actions enforces a 360-minute timeout
on hosted runners. Re-trigger the workflow for another session.
- **URL changes on restart (Methods 1 & 2).** The tunnel URL is assigned at
runtime. `CodeFull.gs` must be updated and redeployed each time.
- **URL changes on restart (Method 1).** cloudflared Quick assigns a fresh
`*.trycloudflare.com` URL at runtime. `CodeFull.gs` must be updated and
redeployed each session. Method 2 (ngrok) keeps the same URL across runs
on accounts with a static domain assigned (the free-tier default).
- **Shared IP ranges.** GitHub-hosted runners share IP ranges with other users.
Some websites may already have these IPs flagged.(sometimes need re-run)
- **GitHub Actions terms.** This workflow is intended for occasional personal
+16 -6
View File
@@ -78,8 +78,10 @@ Copy the new Deployment ID and update your `mhrv-rs` config.
### Step 8: Verify
Use `mhrv-rs test` or visit `https://ipleak.net` through your proxy.
You should see a GitHub Actions or ngrok IP address.
`mhrv-rs test` is wired only for the apps_script relay path; in Full mode it
refuses to run. To verify a Full-mode tunnel, visit `https://ipleak.net` (or
`https://whatismyipaddress.com`) through your proxy — you should see a
GitHub Actions or ngrok IP address.
## How It Works
@@ -98,15 +100,23 @@ The tunnel shuts down after 6 hours. To start a new session:
1. Go to the **Actions** tab
2. Select **Full Tunnel (ngrok)**
3. Click **Run workflow > Run workflow**
4. Copy the **new** tunnel URL from the logs (it changes each time)
5. Update `TUNNEL_SERVER_URL` in `CodeFull.gs` and redeploy
4. Check the tunnel URL in the logs:
- **Free tier with a static domain assigned** (default for new ngrok accounts):
the URL is the same across runs — no `CodeFull.gs` update needed.
- **Free tier without a static domain** (older ngrok accounts, or after
`ngrok config delete-domain`): the URL is a fresh random
`*.ngrok-free.app` each time. Copy it and update `TUNNEL_SERVER_URL`
in `CodeFull.gs`, then redeploy.
## Limitations
- Requires an ngrok account (free tier: 1 online tunnel, limited connections
per minute)
- The `*.ngrok-free.app` URL changes every time the workflow runs
- `CodeFull.gs` must be updated and redeployed each session
- ngrok's free tier now includes one **static domain** per account, so the
`*.ngrok-free.app` URL stays the same across workflow runs once assigned.
Older accounts that opted out, or accounts that explicitly deleted the
domain, get a fresh URL on every run and must redeploy `CodeFull.gs` each
session.
- 6-hour maximum per session (GitHub Actions limit)
- Slightly higher latency than cloudflared methods (extra hop through ngrok's
relay servers)