山与路远程控制 一个基于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" # 数据库路径

🔖项目运行

后端运行

git clone https://github.com/OblivionTime/remote_electron.git
cd /remote_electron/server
go mod tidy
go run main.go

前端调试运行

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. 打开软件第一时间修改服务器地址

在这里插入图片描述

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

🎉已完成功能

  • 获取识别码和验证码
  • 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目录下

在这里插入图片描述

  • 进入到C:\Users\自己的用户名\AppData\Local\electron-builder\Cache\nsis目录下,将electron必须安装包目录下分别解压成如下图所示的样子
    在这里插入图片描述
    详细教程:https://www.cnblogs.com/liliyou/p/13423709.html

结语

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/564473.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Qt 学习笔记】Qt常用控件 | 显示类控件 | Label的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 显示类控件 | Label的使用及说明 文章编号:Q…

根据表格该列数据的长度动态变化该列的宽度;

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、代码前言 在使用elementui的表格将数据展示出来时,我们想根据表格该列数据的长度动态变化该列的宽度; 1.看了一下elementui文档有一个 width 的属性,可用它来修改对应列。 2.那么我们需要拿到该列的所有数据去比较…

Go栈内存管理源码解读

基本介绍 栈内存一般是由Go编译器自动分配和释放,其中存储着函数的入参和局部变量,这些参数和变量随着函数调用而创建,当调用结束后也会随之被回收。通常开发者不需要关注内存是分配在堆上还是栈上,这部分由编译器在编译阶段通过…

使用Nexus搭建npm私服库

优质博文:IT-BLOG-CN 【1】下载nexus http://www.sonatype.com/download-oss-sonatype解压到本地即可; 【2】打开nexus-3.2.0-01-win64\nexus-3.2.0-01\bin;打开cmd(必须使用cmd) 执行nexus.exe /run;需要使…

数据结构 之 哈希表

🎉欢迎大家观看AUGENSTERN_dc的文章(o゜▽゜)o☆✨✨ 🎉感谢各位读者在百忙之中抽出时间来垂阅我的文章,我会尽我所能向的大家分享我的知识和经验📖 🎉希望我们在一篇篇的文章中能够共同进步!!&…

爆炸之linux-nacos2.0系列集群安装部署

一、环境配置 1、新建磁盘分区 fdisk /dev/vdb 2、创建文件系统 mkfs.xfs /dev/vdb13、创建挂载点: 在 / 目录下创建一个新的目录作为挂载点。/afc 目录 mkdir /afc4、挂载磁盘: 使用 mount 命令将磁盘挂载到新创建的目录。 mount /dev/vdb /afc5、…

2022年新华三杯决赛题目

2022年新华三杯决赛题目 拓扑图 请考生根据以上拓扑,自行在 HCL 中创建设备。 注意: 本拓扑图中的交换机与防火墙,所显示的接口标示比实际设备中的少了一位。如图中的 GE_0/1, 实际是 GE1/0/1。 配置需求 本网络模拟一个大型企业网络,需要使用 BGP/MPLS VPN 技术来隔离不同的 …

2024_GAMES101作业环境配置Mac(intel)_VSCode_Clion

目录 VSCodeClionCMakeList.txt VSCode brew install cmake 更换下载源为阿里云下载 opencv,不然会很慢 cd "$(brew --repo)" git remote -v cd "$(brew --repo)" git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git…

一举颠覆Transformer!最新Mamba结合方案刷新多个SOTA,单张GPU即可处理140k

还记得前段时间爆火的Jamba吗? Jamba是世界上第一个生产级的Mamba大模型,它将基于结构化状态空间模型 (SSM) 的 Mamba 模型与 transformer 架构相结合,取两种架构之长,达到模型质量和效率兼得的效果。 在吞吐量和效率等关键衡量指…

串联滞后校正及matlab实现

syms b_1 Z[]; P[0,-10,-5]; K1500; G_0zpk(Z,P,K); %G_0为校正前系统开环传递函数 [num,den]tfdata(G_0); %求解b,T [Gm,Pm,wg_0,wc_0]margin(G_0); %Pm为校正前的幅值裕度, gamma60; %确定校正后的相角裕度 Phi_c-6; %校正后的截止频率下Gc(s)的相角,一…

可视化看板有那么多应用场景,该如何快速搭建?可视化工具该如何选择?

在当今的信息化时代,数据已经成为了现代决策的核心。无论是企业战略规划、运营管理,还是个人生活决策,数据都扮演着至关重要的角色。随着数据分析技术和工具的不断进步,数据在决策中的作用将变得更加突出,对组织和个人…

IDEA中Docker相关操作的使用教程

一、引言 Docker作为当前最流行的容器化技术,极大地简化了应用的部署和管理。而IntelliJ IDEA作为一款强大的集成开发环境,也提供了对Docker的集成支持。本文将介绍如何在IDEA中配置和使用Docker,包括远程访问配置、服务连接、Dockerfile编写…

mysql基础4——增删改查表中的数据

添加数据 1)插入数据记录 insert into demo.test1 (barcode,goodsname,price) values (0001, book, 3); 2)插入查询结果 insert into table1 (字段名) select 字段名或值 from table2 where condition; //将表2中查询到的某条…

分享三个转换速度快、准确率高的视频转文字工具

想要直接将视频转换成文字,转换工具很重要!给大家分享三个转换速度快、准确率高的视频转文字工具,轻松完成转换。 1.网易见外 https://sight.youdao.com/ 网易家的智能转写翻译服务工作站,网页端就可以直接使用,支持视…

Cesium快速上手3-Billboard/Label/PointPrimitives图元使用讲解

Billboard&Cesium.BillboardCollection 面朝屏幕的图片,用于添加图标等集合 特点: 始终面朝屏幕,即使旋转也面朝屏幕注意创建的集群对象 Cesium.BillboardCollection 先看展示效果 function setBillboardProperties() {Sandcastle.declare(setBi…

【c++】vector模拟实现与深度剖析

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 vector涉及到许多细节问题,比如双层深拷贝,迭代器失效等,本篇文章我们通过模拟实现来深度理解这块的内容 目录 1.基本框架2.构造和销毁3.元素访问4.获取…

STM32-DMA(软件出发、硬件触发)

DMA --为cpu减负 DMA简介 直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。两个DMA控制器有12个通道(DMA1有7个通道,DMA2…

广西桂林最大的模板厂——贵港市能强优品木业有限公司

贵港市能强优品木业有限公司是广西桂林地区最大的建筑模板厂家,拥有着25年的丰富生产经验。该公司以生产高品质的建筑覆膜板而闻名,其产品质量稳定,使用寿命长,深受广大客户的一致好评。 作为一家知名的建筑模板生产厂家&#xff…

Idea:通义千问插件

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、通义千问大模型 二、程序编写助手 三、Idea安装通义千问插件 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、通义千问大模型…