• 山与路远程控制 一个基于electron和golang实现的远控软件


    山与路远程控制

    🎥项目演示地址

    还在制作…

    ♻️项目基本介绍

    山与路远程控制是基于electron(vue3)golang实现的远程控制软件(项目界面主要模仿向日葵远程软件,如有侵权请告知),代码可能有点臃肿毕竟只花了一周左右写的无聊项目,如果对其感兴趣的大佬可以fork自行修改(大佬勿喷)

    技术栈

    1. vue3
    2. golang
    3. webrtc
    4. cgo
    5. turn

    项目思路

    • 键鼠主要通过cgo调用windowapigoreboot来实现击键的监听和控制端模拟
    • 控制端和被控制根据服务器转发后在通过webrtc和golang的pion实现p2p通信
    • 服务端主要功能是为了转发数据和提供turn服务器
    • 视频流直接使用最简单的webrtc实现实时画面传输
    • 当新设备访问服务端则会自动分配识别码和验证码,通过识别码和验证码来建立连接

    🧧 作者自己的配置环境

    nodejs

    16.20.1

    npm

    在这里插入图片描述

    golang

    在这里插入图片描述

    📍 服务端相关配置config.yaml

    serveraddr: ":9998"  #后端地址
    turn:
      public_ip: "127.0.0.1" #公网地址
      port: 3478  # turn端口
      thread_num: 5  # 如果服务端是linux则填写   进程数
    db_path: "./remote.db" # 数据库路径
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    🔖项目运行

    后端运行

    git clone https://github.com/OblivionTime/remote_electron.git
    cd /remote_electron/server
    go mod tidy
    go run main.go
    
    • 1
    • 2
    • 3
    • 4

    前端调试运行

    git clone https://github.com/OblivionTime/remote_electron.git
    #启动客户端
    cd /remote_electron/client
    go mod tidy
    go run main.go
    
    # 启动前端页面
    cd /remote_electron/ui
    yarn
    #调试
    yarn serve
    #打包
    yarn build
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    👻注意事项

    1. 打开软件第一时间修改服务器地址

    在这里插入图片描述

    技术人员根据自己的需求去修改

    🎉已完成功能

    • 获取识别码和验证码
    • webrtc 建连
    • 连接后完全控制对方的键鼠
    • 断开连接
    • 悬浮球
    • 保存连接过的设备
    • 实现自己的turn服务器
    • 文件传输功能

    🖼️ 项目截图

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    注意electron打包会出现的问题

    打包前必须做的事

    • 进入到下面目录C:\Users\自己的用户名\AppData\Local\electron-builder\Cache
      在这里插入图片描述

    • 创建目录winCodeSignnsis
      在这里插入图片描述

    • electron必须安装包目录下的winCodeSign-2.6.0.7z解压到C:\Users\自己的用户名\AppData\Local\electron-builder\Cache\winCodeSign目录下

    在这里插入图片描述

    结语

    在这里插入图片描述

  • 相关阅读:
    JVM虚拟机:通过日志学习PS+PO垃圾回收器
    [经验] wps怎么设置行间距离28磅 #学习方法#知识分享#媒体
    SciencePlot-科研绘图
    线程和进程的区别
    uni-app点击按钮弹出提示框-uni.showModal(OBJECT),选择确定和取消
    河南直销系统开发对直销行业有何帮助?
    Centos7安装kvm,配置虚拟机网络
    Oracle SQL执行计划操作(8)——视图与集合相关操作
    万界星空科技低代码云MES中的四大现场执行管理模式
    硅芯思见:UDP是干什么的?
  • 原文地址:https://blog.csdn.net/a1309525802/article/details/135972791