frp可以用来进行内网穿透,其具体实现原理可以参考网上其他教程,本文主要描述用户端程序frpc.exe在win10下的一种开机自启动方法—本地组策略
在完成配置最后,需要进行自启动配置,一般的教程里的方法都是制作xxx.vbs脚本,然后放到:
C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录下
(其中username为电脑的用户名)
但是在实际使用过程,该文件夹下的其他程序都能自启动,就是frpc.exe偶尔能启动,只能手动点。
1. 配置好frp,制作frpc.vbs脚本文件,确保鼠标点击脚本就能在任务管理器看到frpc.exe被打开运行了。
我这里分享一个vb脚本文件,其中路径就是你实际存放文件的位置,用 .txt文件编辑好后改一下后缀即可。
dim objShell
set objShell=wscript.createObject("WScript.Shell")
iReturnCode=objShell.Run("D:\Workspace\selfStart\frp\frpc.exe -c D:\Workspace\selfStart\frp\frpc.ini",0,TRUE)
2. 任务栏下方搜索或者 win+R 搜索 gpedit.msc,打开本地组策略编辑器,并依次进入计算机配置 – Windows 设置 – 脚本
3. 双击 “启动” ,点击添加,然后浏览选中前面制作的.vbs文件,不用管脚本参数。
4. 添加成功,确认退出
······························································
补充:2021.10.2,事实证明实验室那台电脑后面几天还是不能自启动frpc。
·······························································
再补:2022.02.25 frpc自启动不了问题结症
···
启动时没连上外网!!
因为:
1.实验室电脑是通过校园wifi登录的,每次都是开机后,手动登录wifi,而fprc自启动脚本一开机就运行了;
2.寝室电脑是路由器接着的,网不会挂掉,所以开机时网已经连好了,fprc自启动就没什么问题;
3.有时候路由器会挂掉,然后寝室的frpc也就挂了!!
4.验证:关掉外网、挂掉frpc进程,脚本启动frpc——启动失败;打开外网,再试一次——正常启动!!
所以要确保,start fprc.exe那一瞬间,外网已经是连好的,这样自启动脚本才能正常启动,但这是不太好实现的(谁知道啥时候网挂了,然后又忘记这茬事了,就芭比q了);换一个思路,开机启动一次不行,那就多启动几次呗,那就每隔10s检测、启动一次吧;
下面采用.bat脚本;
@REM 进入脚本所在目录,否则系统默认目录是C:\Windows\System32,会导致脚本找不到
cd /d %~dp0
@REM 隐藏cmd窗口,采用后台方式运行下面指令
@echo off
if "%1" == "h" goto start
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:start
@REM (10秒执行一次下面的指令)
choice /t 10 /d y /n >nul
@REM (检查是否存在xxx.exe进程,如果检测到,下面比较的值为0,为0表示存在。)
tasklist|find /i "frpc.exe"
if %errorlevel%==0 (
echo %DATE% %time%>>log1.txt
echo "yes">>log1.txt
) else (
echo %DATE% %time%>>log1.txt
echo "No" >>log1.txt
@REM @REM 启动frpc
start /b C:\WWW\frp\frpc.exe -c C:\WWW\frp\frpc.ini
echo "Start" >>log1.txt
)
goto start
log1.txt结果如下:
当然脚本还有很多可修改的,时间拉长一点、检测是否连上外网等;