架设moon服务器让zerotier的访问速度更稳定

Moon是什么?为什么需要Moon?

ZeroTier通过自己的多个根服务器帮助我们建立虚拟的局域网,让虚拟局域网内的各台设备可以打洞直连。这些根服务器的功能有些类似于通过域名查询找到服务器地址的DNS服务器,它们被称为Planet。然而这里存在一个非常严重的问题,就是Zerotier的官方行星服务器都部署在国外,从国内访问的时候延迟很大,甚至在网络高峰期的时候都没法访问,这也会导致我们的虚拟局域网变得极不稳定,经常掉链子。为了应对网络链接的延迟和不稳定,提高虚拟局域网的速度和可靠性,Zerotier允许我们建立自己的moon卫星中转服务器。

作为Moon服务器不需要具备太强大的CPU性能/内存空间和存储空间,虚拟机、VPS、或者云服务器甚至一个树莓派都行,当然,这台服务器需要长时间可靠在线并且具有静态IP地址。在比较了多家云服务器提供商后,我选择三丰云 这家,经测试了三丰云的免费产品之后感觉确实和别的云服务的不一样,申请简单、管理界面使用方便速度快的惊人。 它还可以试用免费虚拟主机、免费云服务器等服务功能,有需要的朋友可以去  https://www.sanfengyun.com 申请。

下面是在三丰云上配置Moon的过程:

前期准备:首先去 三丰云 https://www.sanfengyun.com注册账号,然后登录管理界面选择产品中的免费产品,开通免费云服务器,安装系统镜像我就直接选了unbuntu14,之前一直用的ubuntu,比较熟。

配置Moon的步骤(Linux):

1、安装 moon,zerotier官方提供了比较方便的安装方式,一条命令即可完成:

curl -s  https://install.zerotier.com/ | sudo bash

安装完成后得到一个ID:

** Success! You are ZeroTier address [ 9c960b9ac2 ]
2.生成moon配置文件
cd /var/lib/zerotier-one
sudo zerotier-idtool initmoon identity.public > moon.json

3. 修改配置文件moon.json,主要是添加公网IP,修改内容如下, 9993是默认端口

vim moon.json #找到对应行修改内容
"stableEndpoints": [ "你的公网IP/9993" ]

注:公网ip一定要配置正确,Zerotier依靠此配置去连接moon.后面的端口若没有改变则默认都是9993端口, 且是UDP协议的, 此处在防火墙上需要开放UDP,否则是连接不上Moon。

4.生成moon文件

sudo zerotier-idtool genmoon moon.json

执行该命令后,会在在/var/lib/zerotier-one目录下生成一个0000009c960b9ac2.moon文件,可以看到生成的文件名称是和服务器之前是到的ID是对应的。

5.使moon配置文件生效:

在/var/lib/zerotier-one目录下,新建一个 moons.d 文件夹,并将刚生成的moon配置文件放到该文件夹下。

mv 00000018fasd2319.moon moons.d/

6. 重新启动moon服务器,由于使用命令安装时会自动注册为服务,所以可以依靠以下命令完成启动或重启。

service zerotier-one restart #服务重启命令

经过以上配置,服务器上的moon即配置并应用完闭.

7. 客户端连接并使用服务器上的Moon

a、直接在zerotier目录下,创建moons.d文件夹,并且将生成的000000xxxxxxxx.moon文件拷入,并重启服务即可。

b、另一种是直接使用命令zerotier-cli orbit <id> <id>,不管是Linux还是Windows,使用zerotier-cli orbit命令行都是最简便快捷的办法,只要一行命令就能省去下载再上传的复杂步骤。

8.最后输入zerotier-cli listmoons这个命令,会列出现在在网的所有zerotier moon 服务器,找一找有没有你刚刚设置的moons,有就完事儿啦。

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用FFmpeg架设一个MP3服务器,你可以按照以下步骤进行操作: 1. 安装FFmpeg:首先,确保已经在你的服务器上安装了FFmpeg。你可以通过包管理工具(如apt、yum或brew)来安装它。 2. 准备MP3文件:将你要提供给服务器的MP3文件保存在特定的文件夹中。可以选择将文件放在本地服务器上,或者使用云存储服务(如Amazon S3)来存储和托管这些文件。 3. 创建HTTP服务器:使用你熟悉的编程语言(如Python、Node.js等)创建一个简单的HTTP服务器。这个服务器将用于接收客户端请求并提供MP3文件。 4. 处理客户端请求:当接收到客户端请求时,服务器应该解析请求中的URL,并将其映射到对应的MP3文件。使用FFmpeg命令行工具来处理音频流,并将其发送回客户端。 下面是一个使用Node.js创建简单MP3服务器的示例代码: ```javascript const http = require('http'); const fs = require('fs'); const { spawn } = require('child_process'); const server = http.createServer((req, res) => { const filePath = '/path/to/your/mp3/file.mp3'; // 替换为你的MP3文件路径 const ffmpeg = spawn('ffmpeg', [ '-i', filePath, '-f', 'mp3', '-' ]); ffmpeg.stdout.pipe(res); ffmpeg.on('close', () => { res.end(); }); }); server.listen(3000, () => { console.log('MP3 server is running on port 3000'); }); ``` 记住,这只是一个简单的示例,你可能还需要添加错误处理和其他安全性措施来保护服务器和文件。 希望对你有所帮助!如果有任何问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值