skills/frp-configurator/SKILL.md
Automates FRP (Fast Reverse Proxy) deployment. Configures Client/Server, sets up Systemd services/Web UI, and generates pairing installers for the counterpart platform. Invoke when user wants to setup FRP, tunneling, or remote access.
npx skillsauth add cubenlp/chattool frp-configuratorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill helps you set up and manage FRP (Fast Reverse Proxy) for secure intranet penetration and remote access.
frpc on the current machine.frps on the current machine.Located in scripts/:
setup_client.sh: Installs frpc, sets up systemd service, configures Web UI.setup_server.sh: Installs frps, sets up systemd service, configures Dashboard.pack_for_server.sh: Reads local frpc.toml $\rightarrow$ Generates frps_bundle.tar.gz.pack_for_client.sh: Reads local frps.toml $\rightarrow$ Generates frpc_bundle.tar.gz.uninstall.sh: Stops services and removes FRP installation.# Interactive setup
bash scripts/setup_client.sh
# Non-interactive / Automated setup (Recommended for scripts)
# This avoids the "Connection Refused" error by setting the correct server upfront.
export FRP_SERVER_IP="x.x.x.x" # Replace with your Server IP
export FRP_SERVER_PORT="7000" # Replace with your Server Port
export FRP_AUTH_TOKEN="my-secret-token" # Replace with your Token
bash scripts/setup_client.sh -y # Use -y to skip prompts
# Interactive setup
bash scripts/setup_server.sh
# Generate server installer based on my client config
bash scripts/pack_for_server.sh
# Then upload 'frps_bundle.tar.gz' to your server and run the install script inside.
# Generate client installer based on my server config
bash scripts/pack_for_client.sh
# Then download 'frpc_bundle.tar.gz' to your client machine and run the install script inside.
bash scripts/uninstall.sh
/srv/frpfrpc.toml / frps.tomlfrpc.service / frps.serviceIf you see errors like connect to server error: dial tcp 127.0.0.1:7000: connect: connection refused in the logs:
serverAddr in /srv/frp/frpc.toml points to your actual Remote Server IP, not 127.0.0.1.tail -f /srv/frp/frpc.log# /srv/frp/frpc.toml
serverAddr = "YOUR_REMOTE_IP"
serverPort = 7000 # Must match server's bindPort
auth.token = "YOUR_AUTH_TOKEN" # Must match server's auth.token
sudo systemctl restart frpcserverAddr = "203.0.113.10"
serverPort = 7000
auth.method = "token"
auth.token = "secure_token_123"
# Expose local SSH (Port 22) to Remote Server (Port 6000)
[[proxies]]
name = "ssh-my-laptop"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
tools
Create staged previews of Zulip topics using read-only CLI queries, including full-thread originals, a small zh-en translation slice, and a Chinese overview in an external work directory such as ~/tmp/chattool-zulip/<channel>/<topic>. Use when asked to preview, summarize, or translate Zulip thread content.
tools
Aggregate and summarize Zulip community updates via ChatTool CLI. Use when user asks to fetch latest Zulip news, list streams/messages, or generate periodic summaries from configured streams/topics.
tools
Use `chattool pypi init` to scaffold a minimal Python package, then validate it with doctor/build/check. Example package name `mychat`.
tools
Post-task normalization workflow for ChatTool development. Use after implementation to review the completed work, extract reusable pieces into the repo, check existing CLI surfaces before adding scripts, run $chattool-dev-review, and then drive docs/tests/changelog/PR updates through the project standards. If the task also includes merged-mainline release work, hand off to $chattool-release after PR/MR stage.