使用frp + xtcp实现不同局域网之间的点对点连接

服务器端配置文件frps.toml

# frps 配置文件 - 服务器端

[common]
bind_port = 7000  # TCP 连接端口
bind_udp_port = 7001  # UDP 打洞端口
kcp_bind_port = 7000  # KCP 协议使用相同端口
token = "your_token_here"  # 安全令牌,需与客户端一致

# 仪表盘配置(可选)
dashboard_port = 7500
dashboard_user = "admin"
dashboard_pwd = "admin"

# 日志配置
log_file = "stdout"
log_level = "info"
log_max_days = 3  

客户端A配置文件 frpc_a_client.toml

# frpc 配置文件 - 客户端A (暴露服务)

[common]
server_addr = "your_public_server_ip"  # 替换为您的公网服务器IP
server_port = 7000  # 必须与服务端bind_port一致
token = "your_token_here"  # 必须与服务端token一致

# XTCP 配置 - 暴露本地服务
[service_xtcp]
type = "xtcp"
sk = "your_secure_key"  # 安全密钥,用于验证客户端B的连接
local_ip = 127.0.0.1
local_port = 3389  # 例如:远程桌面端口
  

客户端B配置文件 frpc_b_client.toml

# frpc 配置文件 - 客户端B (访问服务)

[common]
server_addr = "your_public_server_ip"  # 替换为您的公网服务器IP
server_port = 7000  # 必须与服务端bind_port一致
token = "your_token_here"  # 必须与服务端token一致

# XTCP 配置 - 访问客户端A的服务
[service_xtcp_visitor]
type = "xtcp"
role = "visitor"  # 指定为访问者角色
sk = "your_secure_key"  # 必须与客户端A的安全密钥一致
server_name = "service_xtcp"  # 必须与客户端A中定义的名称一致
bind_addr = 127.0.0.1
bind_port = 6000  # 本地端口,通过此端口访问客户端A的服务