辅助工作-内网穿透客户端(限Mac)

972 阅读2分钟

使用说明

需求背景

  • 远程办公协作过程中需要把本地端口地址隐射到公网,协同开发
  • 为一些没有公网服务器,或者vpn等等工具的同学提供帮助

核心技术

  • 核心技术使用frp内网穿透,了解可以查看git或者搜索相关文档
  • electron +vue +elemnt-ui

实践过程

  • npm install -g @vue/cli #初始化vue脚手架
    
  • vue create xx #初始化vue脚手架创建vue项目
  • cd xx #进入项目
  • vue add electron-builder # 添加electron

  • npm run electron:serve  #开始开发

  • 初始化过程可能比较卡顿可以使用本人搭建的私有仓库
  • yarn config set registry http://111.229.133.9:4873
    npm config set registry http://111.229.133.9:4873

重点事项

  • #node 执行脚本
    const exec = require('child_process').exec 
    workerProcess = exec(`cd  xx
                    ./frpc -c  ./frpc.ini                        
                   `, {})

  • #node 杀死进程
    exec('ps -ef|grep frp', function (err, stdout, stderr) {
    if (err) { return console.log(err) }
     stdout.split('\n').filter(function (line) {    var p = line.trim().split(/\s+/)        console.log(p)        var address = p[1]        if (address !== undefined && address !== 'PID' && p.some((item) => {          return item === './frpc.ini'        })) {          exec('kill ' + address, function (err, stdout, stderr) {            if (err) {              return console.log('杀死进程失败!!')            }            console.log('杀死进程')          })        }      })    })

  • vue.config.js # 第三方资源路径配置(在其他目录下面不能有效的执行脚本)
    module.exports = {  pluginOptions: {    electronBuilder: {      builderOptions: {        extraResources: {          from: './frp',          to: './frp'        }      }    }  }}

Git地址(功能实现代码未封装优化,windows未实现)

说些什么

  • 生活没有那么容易,总有些人为我们负重前行,看到小区的值班人起得比我们早,很晚了还没有走,很辛苦,谢谢。
  • 看到一些低收入人群由于疫情不能出去捡破烂借米求生,无比凄凉。
  • 对自己复杂,对家人复杂,对他人负责,穷则独善其身,达者兼济天下。
  • 加油。

后续

  • nodejs环境管理器客户端类似Anaconda