fprs.toml
1. frps 服务端配置 (frps.toml)
Ini, TOML
# frps 服务端口(不填则默认:7000)
bindPort = 81
auth.token = "token 令牌"
2. 公司电脑客户端配置 (frpc.toml)
说明:同时配置
stcp和xtcp服务。当xtcp打洞失败时,可以通过配置实现自动回退到stcp进行远程连接。
Ini, TOML
serverAddr = "frps公网服务器域名或ip"
serverPort = 81
auth.token = "token 令牌"
loginFailExit = false
# 1. STCP 服务端配置(作为备用可靠连接)
[[proxies]]
name = "company_stcp_remote_desktop"
type = "stcp"
secretKey = "abcdefg"
localIP = "127.0.0.1"
localPort = 3389 # 公司电脑远程桌面端口(一般情况下会改成其它端口)
transport.useCompression = true
# 2. XTCP 服务端配置(作为 P2P 高速直连)
[[proxies]]
name = "company_xtcp_remote_desktop"
type = "xtcp"
secretKey = "abcdefg"
localIP = "127.0.0.1"
localPort = 3389 # 公司电脑远程桌面端口(一般情况下会改成其它端口)
transport.useCompression = true
3. 家用电脑客户端配置 (frpc.toml)
XTCP 与 STCP 说明:
- XTCP 采用 P2P 方式进行打洞穿透。成功后流量不经过 frps 服务器,不受服务器带宽限制;但打洞成功率取决于 NAT 类型,稳定性无法保证。
- STCP 流量经过服务器中转,连接更加稳定可靠,适合作为 XTCP 失败时的兜底方案。
Ini, TOML
serverAddr = "frps公网服务器域名或ip"
serverPort = 81
auth.token = "token 令牌"
loginFailExit = false
# 1. STCP Visitor 配置
[[visitors]]
name = "company_stcp_remote_desktop_visitor"
type = "stcp"
serverName = "company_stcp_remote_desktop"
secretKey = "abcdefg"
bindPort = -1 # stcp-visitor 的 bindPort 设置为 -1 表示不需要监听物理端口,只接受 fallback 的连接即可
transport.useCompression = true
# 2. XTCP Visitor 配置(带自动降级/回退功能)
[[visitors]]
name = "company_xtcp_remote_desktop_visitor"
type = "xtcp"
serverName = "company_xtcp_remote_desktop"
secretKey = "abcdefg"
bindAddr = "127.0.0.1"
bindPort = 23389 # 使用家用电脑的 23389 端口远程桌面链接到公司电脑 3389 端口(注意:Windows 必须是专业版,并且要启用远程桌面和设置密码)
transport.useCompression = true
# 保持隧道畅通:定期检测隧道,避免连接延迟
keepTunnelOpen = true
# 失败回退:如果 xtcp 打洞失败,则自动使用上面的 stcp visitor 进行链接
fallbackTo = "company_stcp_remote_desktop_visitor"
# 超时设置:当连接 127.0.0.1:23389 超过 200ms p2p 打洞还未成功时,回退到 stcp 建立连接
fallbackTimeoutMs = 200
连接方式:配置完成后,在家用电脑上直接使用远程桌面连接 127.0.0.1:23389 即可访问公司电脑。
💡 提示与优化建议:
关于 fallbackTimeoutMs:fallback 后,之前触发的打洞操作仍然会继续。打洞成功后,下次建立新的连接将直接复用 P2P 隧道,不会再触发 fallback。请根据访问端和被访问端的延迟情况合理设置超时时间,避免因时间太短导致即使打洞成功也来不及建立而一直触发 fallback。