Agent guide ✓ 实测验证

frp — Agent Guide

本页内嵌 #trove-entity JSON(本条目全量结构化数据);全库数据见 /agent/trove.json。

Version0.52.0~0.71.0Categorynetwork
Verified2026-08-31Conflictsnone
Installcurl -L -o /tmp/frp.tar.gz https://ghfast.top/https://github.com/fatedier/frp/releases/download/v0.71.0/frp_0.71.0_linux_amd64.tar.gz && tar xzf /tmp/frp.tar.gz -C /tmp && sudo mv /tmp/frp_0.71.0_linux_amd64/frps /tmp/frp_0.71.0_linux_amd64/frpc /usr/local/bin/

Related problems

暂无已收录问题。

No conflict-matrix pairs for this tool yet.

# frp — Agent Guide

name: frp | version_range: 0.52.0~0.71.0 | generated: 2026-08-31

title_en: frp - Intranet penetration / reverse tunnel (frps + frpc) | desc_en: Expose LAN services without a public IP via frps/frpc; SSH home, HTTP serving, remote debugging.

Preflight

note: Standalone Go binaries, no runtime dependencies; Linux x86_64 verified (v0.71.0); download needs network (ghfast.top mirror verified, direct GitHub may be unreachable)

uname -m && curl -sI -o /dev/null -w '%{http_code}' https://ghfast.top/ --max-time 10

预期输出: `x86_64` + `200` or `403/429` (mirror reachable; 000 = network blocked, try proxy)

Install

note: Download the release tarball via ghfast.top mirror and install frps/frpc to /usr/local/bin; verified v0.71.0 (2026-08-14, Apache-2.0)

curl -L -o /tmp/frp.tar.gz https://ghfast.top/https://github.com/fatedier/frp/releases/download/v0.71.0/frp_0.71.0_linux_amd64.tar.gz
tar xzf /tmp/frp.tar.gz -C /tmp
sudo mv /tmp/frp_0.71.0_linux_amd64/frps /tmp/frp_0.71.0_linux_amd64/frpc /usr/local/bin/
frps --version && frpc --version

预期输出: `0.71.0` (two lines)

Operations

Start frps (server, isolated loopback demo)

note: bindAddr forced to 127.0.0.1 - without it this WSL environment binds an IPv6 dual-stack socket and IPv4 loopback is refused; verified with 27000-range ports

mkdir -p /tmp/frp-demo && cd /tmp/frp-demo
cat > frps.toml <<'TOML'
bindAddr = "127.0.0.1"
bindPort = 27000
TOML
./frps -c frps.toml &
sleep 1

预期输出: `frps tcp listen on 127.0.0.1:27000` `frps started successfully`

Start frpc (client, register a TCP proxy)

note: maps server port 27082 to local 27081; serverAddr is the frps host

cat > frpc.toml <<'TOML'
serverAddr = "127.0.0.1"
serverPort = 27000

[[proxies]]
name = "web-demo"
type = "tcp"
localIP = "127.0.0.1"
localPort = 27081
remotePort = 27082
TOML
./frpc -c frpc.toml &
sleep 2

预期输出: `login to server success` `proxy added: [web-demo]` `[web-demo] start proxy success`

Verify the tunnel

note: page served through the tunnel must equal the direct response (实测复现日志(2026-08-31))

curl -s http://127.0.0.1:27082/index.html

预期输出: `frp tunnel demo page`

Production config (public server)

note: server on a public-IP machine, bind 0.0.0.0; token auth both sides; TLS on by default since v0.50.0; open ports in cloud security group

sudo tee /etc/frp/frps.toml > /dev/null <<'TOML'
bindAddr = "0.0.0.0"
bindPort = 7000
auth.method = "token"
auth.token = "CHANGE_ME"
TOML

预期输出: (no output)

Check tunnel status

note: requires webServer block in frpc.toml (admin server), otherwise fails with "web server port should be set if you want to use this feature" (verified v0.71.0)

frpc status -c /etc/frp/frpc.toml

预期输出: `Proxy Status...` table, one row per proxy; healthy row: `web-demo running 127.0.0.1:27081 127.0.0.1:27082`

Hot reload (add/remove proxies without restart)

note: applies proxy add/remove/update only; connection-level changes (serverAddr/serverPort/auth) need a full restart; requires webServer enabled

frpc reload -c /etc/frp/frpc.toml

预期输出: `reload success`

Uninstall

note: standalone binaries + config only; no global state; also close security-group ports

sudo rm -f /usr/local/bin/frps /usr/local/bin/frpc
sudo rm -rf /etc/frp
pkill -f frpc; pkill -f frps 2>/dev/null

预期输出: (no output; binaries and config removed)

Facts

writes: none (standalone binaries, own /etc/frp config; no package manager, no global shell config) | runtime: none (static Go binaries; TLS + token auth built in) | notes: frpc may be flagged by antivirus (project docs issue 3637); systemd managed hosting measured 2026-09-01 (transient unit: active/stop/tunnel close); `frpc reload` hot-reloads config without restart; dual-stack IPv4-refused pitfall on WSL fixed by explicit bindAddr | status/reload need webServer (admin) block

Source: frp · validated 2026-08-31 · v0.52.0~0.71.0

← Agent index