Windows 下 frpc 开机静默自启动:用任务计划程序彻底告别黑窗口
最近给家里那台 Win 机器配了 frp 做内网穿透,原本图省事直接双击 frpc 跑着,结果每次一关终端窗口穿透就断了,电脑重启还得重新手动敲命令。这体验实在太糟,于是研究了一下怎么让它在开机后无人值守地后台跑起来。
frp 这套东西分两端:服务端 frps 跑在云服务器上,客户端 frpc 跑在本地 Windows 上。本文就聚焦客户端这一侧——怎么配置 frpc,再用 Windows 自带的任务计划程序实现开机后台静默运行、无黑窗口,拿来做远程桌面这类内网访问正合适。
环境说明:Win10 / Win11,frp 新版,配置文件用的是 toml 格式。
先下载客户端
去 frp 的官方 GitHub 下载 windows amd64 版本的压缩包,解压到固定路径。我习惯放 D:\Program Files\frp。
这里有个坑得提前说:千万别放桌面,也别放带中文的路径,否则后面自启动读配置时很容易失败。解压完目录里最核心的两个文件是:
frpc.exe:客户端主程序frpc.toml:客户端配置文件
配置 frpc.toml(以远程桌面为例)
用记事本打开 frpc.toml,把下面的内容改一改,替换成你自己的云服务器 IP、token 和端口:
1 | serverAddr = "你的云服务器公网IP" |
几个参数简单说一下:
serverAddr是云服务器的 IP,也就是 frps 部署的地址serverPort是 frps 监听的端口,跟服务端保持一致auth.token是连接密钥,服务端必须填一样的localPort是本地 RDP 端口,默认 3389remotePort是云服务器对外暴露的端口,外部访问时连云IP:13389就行
先手动测通再谈自启
配置完别急着搞自启动,先用 PowerShell 进目录跑一下确认能通:
1 | cd D:\Program Files\frp |
日志里出现 start proxy success 就说明穿透成功了。注意,这时候只要关掉终端窗口,映射马上就断——这正是我们要用任务计划程序解决的事。
用任务计划程序做开机自启动
为什么选任务计划程序而不是什么开机启动文件夹?因为它有个关键优势:电脑开机、哪怕还没登录桌面,也能后台把隧道拉起来,锁屏状态下穿透依旧在线。这对远程桌面场景太重要了。
小提示:手动右键任务点【运行】测试时,会短暂闪一下黑框;但开机自动执行时是没有窗口的,所以别被测试时的黑框吓到。
1. 创建任务
Win 搜索打开【任务计划程序】,右侧点【创建任务】(注意不是【创建基本任务】,那个不够用),进入完整向导。
2. 常规选项卡
- 名称填
frpc - 安全选项里勾选 不管用户是否登录都要运行
- 再勾选 使用最高权限运行
3. 触发器选项卡
点【新建】,开始任务选 计算机启动时,确定保存。
4. 操作选项卡
点【新建】:
- 操作选 启动程序
- 程序或脚本填
D:\Program Files\frp\frpc.exe - 添加参数填
-c D:\Program Files\frp\frpc.toml
5. 条件选项卡
把 仅在计算机使用交流电源时才启动此任务 这个勾取消掉,这样笔记本断电时也能跑。
6. 设置选项卡
勾选 如果任务失败,按以下频率重新启动,间隔设成 1 分钟。这样 frpc 万一崩了能被自动拉起来,省心。
7. 保存
点确定后弹个输入密码的框,填本机管理员账号密码,任务就建好了。
8. 验证
重启电脑,打开任务管理器看进程列表里有没有 frpc.exe,有的话就说明开机自启成功,映射也自动建好了。
进阶:VBS 封装彻底消灭黑窗口
如果你登录桌面后还想手动跑任务、且完全不想看到黑框一闪,可以再封一层。在 frp 目录新建 start_frpc.vbs:
1 | Set WshShell = CreateObject("WScript.Shell") |
然后把任务计划程序里【操作】改成:
- 程序或脚本填
wscript.exe - 添加参数填
"D:\Program Files\frp\start_frpc.vbs"
这样无论是开机还是手动触发,都不会再冒出那个黑窗口了。
几个容易踩的坑
- 路径千万别带中文或空格,否则 toml 读不出来,自启动直接失败。
- 必须选 不管用户是否登录都要运行,否则锁屏、未登录状态穿透就断了。
- 云服务器安全组要放行
remotePort;本机防火墙要放行 frpc 出站。 - Windows 原生 RDP 有同账号限制:本机显示器已经登录了 Administrator(哪怕只是锁屏),远程再用同一个账号连 RDP 会报控制台会话被占用。
- 验证 frpc 状态最直接的方式:任务管理器里看
frpc.exe进程在不在。
安全别忽视
穿透开着就等于在公网开了扇门,安全上几点建议:
- 服务端 token 用高强度密码,别泄露。
- 远程桌面端口建议在云安全组里限制源 IP,别全网开放,免得被人暴力破解。
- Windows 管理员账号设个强密码,这个不用多说。
折腾完这套,现在家里那台机器基本上ping一下就能远程桌面连回去,重启也不用管,算是彻底解放双手了。希望这篇能帮到同样被黑窗口折磨的小伙伴。