portal-connect
Deprecated alias of the portal-connect skill, which moved to the portal-tunnel plugin. Use when the user asks to reach, call,…
Operate a running Portal relay through its admin and policy API - sign in with the relay ADMIN_TOKEN without exposing it, list leases and their approval state, approve, deny, ban, or rate-limit one identity, switch approval mode between auto and manual, change UDP and TCP lease
Claude Code
$ npx -y skills add gosuda/portal-tunnel --skill portal-relay-admin --agent claude-code
Codex
$ npx skills add gosuda/portal-tunnel --skill portal-relay-admin -a codex -y
Cursor
$ npx skills add gosuda/portal-tunnel --skill portal-relay-admin -a cursor -y
Gemini CLI
$ npx skills add gosuda/portal-tunnel --skill portal-relay-admin -a gemini-cli -y
GitHub Copilot
$ npx skills add gosuda/portal-tunnel --skill portal-relay-admin -a github-copilot -y
OpenCode
$ npx skills add gosuda/portal-tunnel --skill portal-relay-admin -a opencode -y
Windsurf
$ npx skills add gosuda/portal-tunnel --skill portal-relay-admin -a windsurf -y
name: portal-relay-admin description: Operate a running Portal relay through its admin and policy API - sign in with the relay ADMIN_TOKEN without exposing it, list leases and their approval state, approve, deny, ban, or rate-limit one identity, switch approval mode between auto and manual, change UDP and TCP lease limits, and read admin metrics. Use when the user runs a Portal relay and asks to approve or deny a tunnel, ban an identity, throttle a lease, change approval mode or lease limits, or check who is connected. Do not use for first deployment (portal-relay), for failure diagnosis (portal-relay-diagnose), or for exposing an app (portal-expose). license: MIT
The admin surface is the relay's own API on its public `443` listener: `/api/admin/*` for sign-in and metrics, `/api/policy*` for enforcement. The [Admin and Policy API](https://gosuda.github.io/portal-tunnel/api-reference/admin/) reference is the source of truth for fields; this skill adds the safe way to use it.
ACCESS=$(printf '{"token":"%s"}' "$PORTAL_ADMIN_TOKEN" | curl -fsS -H 'Content-Type: application/json' --data @- https://<relay>/api/admin/auth/login | jq -r '.data.access_token')
auth() { printf 'Authorization: Bearer %s\n' "$ACCESS"; }
curl -fsS -H @<(auth) https://<relay>/api/policy/stateRead `GET /api/policy/state` again and confirm each changed flag. Report what changed, for whom, and the exact reverse call (for example `is_approved: false`, `is_banned: false`, or the previous `PolicySettings`).
Expose local services through self-hosted or public relays.No port forwarding. No inbound firewall rules. No manual DNS setup. No accounts.
Deprecated alias of the portal-connect skill, which moved to the portal-tunnel plugin. Use when the user asks to reach, call,…
Deprecated alias of the portal-expose skill, which moved to the portal-tunnel plugin. Use when the user asks to expose, preview,…
Deprecated alias of the portal-relay skill, which moved to the portal-relay plugin. Use when the user asks to run, self-host, or…
Create an AWS host for a Portal relay - an EC2 instance with a security group and an Elastic IP, or a Lightsail instance with its…
Configure a Cloudflare-hosted parent zone for a Portal relay - the NS delegation of the relay subdomain to the relay's embedded…
Find which layer of a self-hosted Portal relay is failing - container and process, open ports, embedded DNS and NS/glue…
Use when running, building, or managing Linux containers on macOS, or when a task involves Docker, docker compose, Lima, Colima,…
Operate FrontendExtension (FE) resources in frontend-forge: create, update, rebuild, inspect package artifacts, download…
Entry point for AI-agent work on AWS: pick a runtime, plan a migration for existing workloads, and build an executable POC — one…
Build, debug, or review Cloudflare Agents SDK applications using the agents package.