利用一个有公网IP的服务器进行端口转发
下载fpr
下载地址:https://github.com/fatedier/frp
压缩包内包含四个文件:
- frpc.exe
- frpc.toml
- frps.exe
- frps.toml
公网主机使用frps两个文件;无公网客机使用frpc两个文件;
配置
具体说明看文档,注意开放对应端口。这里只记录我自己的设置备份。注意name不要重复
- 公网服务端:
bindPort = 7000
kcpBindPort = 7000
vhostHTTPPort = 7000
- 无公网客户端:
serverAddr = "x.x.x.x" # 这里填公网地址
serverPort = 7000
transport.protocol = "kcp"
transport.tls.enable = true
[[proxies]]
name = "jrh1"
type = "udp"
localIP = "127.0.0.1"
localPort = 10999
remotePort = 6000
[[proxies]]
name = "jrh2"
type = "udp"
localIP = "127.0.0.1"
localPort = 10998
remotePort = 6001
[[proxies]]
name = "remote1"
type = "udp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 6003
[[proxies]]
name = "remote2"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 6003
[[proxies]]
name = "emby"
type = "http"
localPort = 8096
localIP = "127.0.0.1"
customDomains = ["x.x.x.x"] # 这里填公网地址
启动
启动服务器:./frps -c ./frps.toml
启动客户端:./frpc -c ./frpc.toml
设置开机启动
在软件根目录创建.bat文件:
@echo off
:home
frpc -c frpc.ini
goto home
将快捷方式放入以下路径:C:\Users\你的电脑用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
释义:
@echo off
:关闭批处理文件的命令回显。这意味着在脚本运行时,不会在命令行窗口中显示每个命令的具体内容,只会显示命令的输出结果。:home
:这是一个标签,用于标识代码中的位置。你可以使用 goto 命令跳转到这个位置goto home
:无条件跳转回 :home 标签。这将导致脚本再次执行 frpc -c frpc.ini 命令。这个过程将一直循环,直到你手动关闭命令行窗口或使用 Ctrl+C 中断脚本。