HopToDesk部署自建服务(On-Premises Hosting)

文章可能有所偏差,排版很烂,请各位看官谅解

前情提要

之前用的向日葵,发现画质调成最低了也还是很卡,延迟很高,鼠标动一下都可能没反应,所以想换个远程软件,发现了HopToDesk是可以自建服务脱离他们自家的服务,自己又有一台服务器,所以就想自己搭个,HopToDesk自己的服务应该在国外,太卡了。

前提

1.建议将向日葵和HopToDesk结合使用,HopToDesk经常抽风,没有向日葵稳定

2.如果平时只是简单的远程就可以用HopToDesk

3.HopToDesk中 1080P+平衡画质,播放B站视频挺糊,但帧率基本不降,远程方接收流量大概1.6Mbps,建议购买服务器带宽大过改值。

4.向日葵1年158元以下(有时做活动更便宜),如果购买服务器成本大过该值就不建议自建了,我是自己本来就有一台服务器,有闲置带宽,就拿来用了

服务器环境

这个是我自己的服务器

腾讯云

带宽:流量包 - 2000GB/月(带宽:12Mbps)

系统:CentOS 8.2

python3(放配置文件用的,如果有nginx则不需要此环境)

搭建方案

使用coturn构建stun和turn,使用HopToDesk的服务端做汇聚点,云端或本地放置配置文件

搭建过程

假设(以下值请带入修改)

云服务器公网ip是101.22.34.13,部署在腾讯云上

stun/turn端口开放是9083,最小访问端口49152 ,最大访问端口65535

stun/turn的用户名和密码是admin/123456

hopToDesk的server端口是9080

类型一:无域名纯IP搭建

  • 1. 在服务端安装并配置coturn

安装coturn

yum install coturn

配置coturn

cd /etc/coturn
cp turnserver.conf turnserver.conf.default # 备份原始配置文件
vim turnserver.conf # 编辑配置文件

编辑配置文件,并在末尾添加以下内容

listening-port=9083 # 指定侦听的端口
listening-ip=0.0.0.0 # 云主机内网 IP 地址
external-ip=101.22.34.13 # 云主机的公网 IP 地址
realm=101.22.34.13 # 云主机的公网 IP 地址
user=admin:123456 # 访问 STUN/TURN 服务的用户名和密码。
min-port=49152 # 最小访问端口
max-port=65535 # 最大访问端口

运行服务

systemctl restart coturn.service

在"腾讯云"控制台防火墙上开放端口

9083/TCP、9083/UDP、49152-65535/TCP、49152-65535/UDP 

下载"火狐浏览器"在网站上使用(Trickle ICE)测试是否联通,出现Done则是成功了

  • 2. 搭建汇聚点

方案一和方案二的区别是是否需要依赖官方的服务器,远控端和被控端需要在同一个汇聚点服务器下才能被连接

  • 方案一:部署HopToDesk的on-premises(自建服务)

官网on-premises页面:https://www.hoptodesk.com/on-premises

运行(将sh hsinstall.sh移除,不需要立即执行)

cd /home && curl -o hsinstall.sh -L https://www.hoptodesk.com/hs/hsinstall

https://www.hoptodesk.com/on-premises下载脚本后编辑脚本(将80修改为9080,将82修改为9082)

# 将80修改为9080,将82修改为9082

EOF

cat <<EOF > /home/hopsignal/hopsignal.sh
#!/bin/bash

cd /home/hopsignal
./hopsignal --ADDR 0.0.0.0:9080 --FEDLIST fedlist.txt --FEDADDR 0.0.0.0:9082 --FEDPWD 123456789 --LOGFILE hs.log

EOF


cat <<EOF > /home/hopsignal/hop-cron.sh
#!/bin/bash

FILESIZE=\$(stat -c%s "rs.log")

if [ $FILESIZE -ge 100000000 ]; then
    /usr/bin/systemctl stop hopsignal.service
    /usr/bin/systemctl start hopsignal.service
    exit
fi

TESTSOCKET=\$(curl -s --max-time 5 -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Host: 0.0.0.0:9080" -H "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" -H "Sec-WebSocket-Version: 13" 0.0.0.0:9080)

if [[ $TESTSOCKET == *"Switching"* ]]; then
    echo "WebSockets Online"
else
    echo "WebSockets Offline"
    /usr/bin/systemctl stop hopsignal.service
    /usr/bin/systemctl start hopsignal.service
fi

执行脚本运行

sh hsinstall.sh

在"腾讯云"控制台防火墙上开放端口

9080/TCP

  • 方案二:使用HopToDesk自己的汇聚点

汇聚点signal.hoptodesk.com:80,之后需要使用

  • 3. 本地客户端连接

远控端和被控端执行相同操作

在官网https://www.hoptodesk.com/下载windows安装包,

安装后关闭hopToDesk所有进程

开始设置配置文件
方案一:使用远程配置文件

从url加载一个配置文件,这样不用担心被HopToDesk覆盖掉本地配置

如果服务器上没有nginx之类的,可以先用python起一个简单的server

在服务器任意位置创建文件夹(本次示例位置为/file)

nohup python3 -m http.server 9085 &

在文件夹下创建api.json文件,填入以下信息并保存:

{
    "turnservers": [
        {
            "protocol": "turn",
            "host": "101.22.34.13",
            "port": "9083",
            "username": "admin",
            "password": "123456"
        }
    ],
    "rendezvous": {
        "host": "101.22.34.13",
        "port": "9080"
    },
    "winversion": "1.0.0",
    "macversion": "1.0.0",
    "linuxversion": "1.0.0",
    "none": "none"
}

如果是用的方案二(即使用官方汇聚点)

则改成

{
    "turnservers": [
        {
            "protocol": "turn",
            "host": "101.22.34.13",
            "port": "9083",
            "username": "admin",
            "password": "123456"
        }
    ],
    "rendezvous": {
        "host": "signal.hoptodesk.com",
        "port": "80"
    },
    "winversion": "1.0.0",
    "macversion": "1.0.0",
    "linuxversion": "1.0.0",
    "none": "none"
}

在"腾讯云"控制台防火墙上开放端口

9085/TCP

打开HopToDesk,选择网络,填入地址,自动下载json

然后就可以了

方案二:使用本地配置文件

打开%appData%\HopToDesk\config,新建文件api.json,填写以下信息

{
    "turnservers": [
        {
            "protocol": "turn",
            "host": "101.22.34.13",
            "port": "9083",
            "username": "admin",
            "password": "123456"
        }
    ],
    "rendezvous": {
        "host": "101.22.34.13",
        "port": "9080"
    },
    "winversion": "1.0.0",
    "macversion": "1.0.0",
    "linuxversion": "1.0.0",
    "none": "none"
}

如果是用的方案二(即使用官方汇聚点)

则改成

{
    "turnservers": [
        {
            "protocol": "turn",
            "host": "101.22.34.13",
            "port": "9083",
            "username": "admin",
            "password": "123456"
        }
    ],
    "rendezvous": {
        "host": "signal.hoptodesk.com",
        "port": "80"
    },
    "winversion": "1.0.0",
    "macversion": "1.0.0",
    "linuxversion": "1.0.0",
    "none": "none"
}

删除同目录下HopToDesk.toml和HopToDesk2.toml文件

启动HopToDesk

如果显示就绪就是已经完成了,如果显示未连接就等会儿

注意:显示服务没有启动不要点击启动服务,会导致HopToDesk使用官方配置,关掉重新开启,然后删掉HopToDesk.toml和HopToDesk2.toml

查看日志,会发现已经连接成功了(日志路径:%appData%\HopToDesk\log\HopToDesk_rCURRENT.log)

这个时候就可以远控了

如果觉得有点卡,可以把signal.hoptodesk.com的dns改成0.0.0.0

Axure Cloud for Business On-Premises 是一款Axure Cloud的企业级私有部署解决方案。Axure Cloud 是一个由Axure Software开发的在线协作平台,可以帮助设计师、开发人员和利益相关者在创建、共享和管理互动式原型和设计文档方面进行协作。而Axure Cloud for Business On-Premises 则提供了企业级部署选项,使得企业可以将Axure Cloud的功能和优势私有化部署,以满足企业的安全性和隐私要求。 Axure Cloud for Business On-Premises 提供了一个安全的内部部署环境,在企业内部的服务器上进行部署和运行,这样可以确保敏感数据和设计资产得到保护,不会离开企业的内部网络。同时,该解决方案还提供了对企业内部用户账号和权限的管理机制,管理员可以根据需要灵活地分配不同用户的访问权限,以确保企业数据的保密性和完整性。 使用 Axure Cloud for Business On-Premises,企业可以快速建立一个方便的在线协作平台,并将团队成员之间的沟通和协作变得更加高效和方便。设计师可以方便地共享原型和设计文档给其他团队成员进行评审和反馈,开发人员可以快速获取最新的设计更新,利益相关者可以实时了解项目进展。同时,该解决方案还提供了版本控制和注释功能,方便团队成员之间的交流和沟通,加快项目的开发和上线进程。 总而言之,Axure Cloud for Business On-Premises 提供了一种安全、灵活和高效的企业级协作解决方案,适用于企业对设计资产安全性和隐私保护要求较高的场景。通过将协作平台部署在企业内部服务器上,可以大大提高团队的协作效率和项目的开发速度。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值