统计
  • 建站日期:2021-03-10
  • 文章总数:291 篇
  • 评论总数:0 条
  • 分类总数:8 个
  • 最后更新:4月25日
文章 节点中心

Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本

蚁巢
首页 节点中心 正文

Frp使用nssm封装为系统程序

使用frp映射节点端口的小伙伴们,经常会遇到各种问题,例如frp自动退出、开机不启动、被安全中心(或者杀毒软件)删除等等问题

今天,我们将介绍NSSM(Non-Sucking Service Manager)封装Windows服务工具将frp转化为系统服务,那么,上述问题都会解决。


首先,在文章下方下载nssm工具,然后把它拷贝到本地的frp目录下


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第1
张图片


按住键盘上的shift键,在空白处再点击鼠标右键,会有"在此处打开Powershell窗口"的选项,选择


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第2
张图片


在弹出的shell窗口中,输入以下命令:

./nssm install


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第3
张图片

回车后,会弹出UI界面,如图


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第4
张图片

  1. Path后的选择框,选择start.bat的路径

  2. Startup directory会自动填充。

  3. Arguments填写frpc.ini配置中的命令

-c frpc.ini


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第5
张图片

最后Service name填写frpc,然后点击install service安装服务


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第6
张图片

弹出提示框,nssm服务安装完成!

然后在Powershell窗口中继续输入以下代码,启动frpc服务

./nssm start frpc


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第7
张图片

提示操作成功完成,这样已安装完毕,注意Powershell窗口要用管理员权限,否则可能会操作失败

至此往后,frp已封装成系统服务和系统一起启动,进程里无法结束任务


备注nssm常用命令

    安装服务:nssm install
    删除服务:nssm remove frpc
    删除服务确定:nssm remove frpc confirm 
    修改服务(显示界面修改):nssm edit frpc
    启动服务:nssm start frpc
    停止服务:nssm stop frpc
    重启服务:nssm restart frpc



PiNode和Docker的守护脚本

Pi Node程序自从0.4.9版本之后就有闪退的BUG现象,最近很多节点的Docker也开始闪退,我做了一个shell脚本来守护节点和刀客的程序,10秒检测一次,如果退出会自动运行

PowerShell脚本代码:

# 强制设置执行策略
$policy = Get-ExecutionPolicy -Scope Process
if ($policy -ne "RemoteSigned") {
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force
}

# 获取当前用户名
$USERNAME = $env:USERNAME

# 定义程序路径
$PI_PATH = "C:Users$USERNAMEAppDataLocalProgramspi-network-desktopPi Network.exe"
$DOCKER_PATH = "C:Program FilesDockerDockerDocker Desktop.exe"

# 守护循环
while ($true) {
    Start-Sleep -Seconds 10  # 延迟 10 秒

    # 检查 Pi Network 是否运行
    if (-not (Get-Process -Name "Pi Network" -ErrorAction SilentlyContinue)) {
        Start-Process -FilePath $PI_PATH -WindowStyle Hidden
    }

    # 检查 Docker Desktop 是否运行
    if (-not (Get-Process -Name "Docker Desktop" -ErrorAction SilentlyContinue)) {
        Start-Process -FilePath $DOCKER_PATH -WindowStyle Hidden
    }
}

将以上脚本保存为run.ps1文件,如图


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第8
张图片

方法是新建一个文本文档,把后缀名txt更改为ps1。如果你电脑上不显示后缀名,从文件夹上方的“查看”中把“文件扩展名”的勾选上


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第9
张图片


run.vbs的代码如下:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "powershell -ExecutionPolicy Bypass -WindowStyle Hidden -File D:pisoftrunrun.ps1", 0, False

此段代码保存为run.vbs,用记事本打开此文件

其中D:pisoftrunrun.ps1这个路径更改为你的实际路径


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第10
张图片


win+R打开运行窗口,输入shell:startup 回车


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第11
张图片


打开启动窗口,用鼠标右键拖动run.vbs到启动窗口,在弹出的右键菜单中选择“在当前位置创建快捷方式”


Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本
-蚁巢
-第12
张图片


这样就可以开机运行此守护脚本了,重启电脑后会执行此脚本

现在双击打开run.vbs,脚本后台运行,你尝试退出Pi Node或者Docker程序,10秒后会自动打开它。

打包的脚本下载

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
.pi 域名拍卖:统计数据、更多详细信息和常见问题解答
« 上一篇
2025年Pi Day:在开放网络之后通过各个级别的实用程序扩展生态系统
下一篇 »
为了防止灌水评论,登录后即可评论!

HI ! 请登录
注册会员,享受下载全站资源特权。

热门文章

最新评论