Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
Ngrok tunnel backend plugin for elizaOS. Implements the ITunnelService contract from @elizaos/plugin-tunnel, enabling Eliza agents to expose local HTTP ports via secure ngrok HTTPS tunnels.
What it does
When loaded alongside @elizaos/plugin-tunnel, this plugin registers NgrokService under the shared "tunnel" service slot. The TUNNEL action (provided by plugin-tunnel) then delegates start/stop/status operations to ngrok. If another tunnel backend (such as a cloud tunnel service) has already claimed the slot, this plugin skips registration silently — first-active-wins.
This plugin adds no new agent actions. Tunnel control is handled by the TUNNEL action in @elizaos/plugin-tunnel.
Requirements
The ngrok CLI must be installed and available on PATH.
# macOS
brew install ngrok
# Linux
snap install ngrok
Installation
npm install @elizaos/plugin-ngrok
Usage
Load it in your agent's plugin list alongside @elizaos/plugin-tunnel:
Set NGROK_AUTH_TOKEN=<token> in your environment or agent config
Pay-as-you-go accounts
If you see ERR_NGROK_15002, your account requires a registered domain. Set NGROK_DOMAIN to a domain registered in your ngrok dashboard (e.g. NGROK_DOMAIN=my-agent.ngrok-free.app).
How it works
NgrokService spawns the ngrok http <port> CLI subprocess and polls http://localhost:4040/api/tunnels (ngrok's local API) to discover the public HTTPS URL. It retries up to 3 times at 2-second intervals. Once the URL is obtained, it is exposed via getUrl() and getStatus().