一个用于内网穿透的工具,将拥有公共ip的服务器的数据转发到内网,协议支持tcp + udp。
- fatedier/frp的udp支持有问题,在使用vpn的时候,导致只有一个可以有效连接。
- 另外,这类纯粹的io需求,正适合用node来实现,简单易懂。
支持docker以及nodejs两种方式。
参考:server.js
module.exports = {
port: 7666, //接收客户端
}
docker run --restart=always --network host -d -v ${PWD}/server.js:/app/config/server.js --name frps banknight/frp server
node ./index.js server
参考:client.js
module.exports = {
ip: "127.0.0.1", //公网服务器ip
port: 7666, //公网服务器端口
proxy: { //代理
test_udp: { //代理名称,不可以出现重名
type: "udp", //协议类型,目前只支持tcp 和 udp
remote_port: 1888, //公网服务器的转发端口
local_port: 1889, //转发到的内网服务器端口
local_ip: "192.168.31.2", //转发到的内网服务器地址
},
test_tcp: {
type: "tcp",
remote_port: 1888,
local_port: 1889,
local_ip: "192.168.31.2",
}
}
}
docker run --restart=always --network host -d -v ${PWD}/client.js:/app/config/client.js --name frpc banknight/frp client
node ./index.js client