甜糖星愿计划是由甜糖科技结合边缘计算云厂商推出的用户激励计划。用户通过贡献闲置带宽 即可获取星愿积分。与此同时,甜糖将为企业提供优质低成本的边缘计算服务。
宽带准备
首先要保证你家内有设备能跑甜糖
宽带电信、联通需要公网ip
移动能开upnp即可
你可以看看甜糖官方的节点招募 https://tiptime.cn/nodeRecruit.html
设备准备
玩客云、老母鸡、N1、软路由、NAS、等等
安卓手机
能跑docker的都能跑
甚至带usb口的路由器刷openwrt也能跑
一个32G U盘或者64G U盘 有条件的可以用固态盘SSD,前提是你宽带上传口子大
安装甜糖APP
在你手机上安装,用于绑定设备和提现
https://tiptime.cn/green-features.html
用来检测家内网络是否符合条件
邀请码755728
使用一键脚本在Linux上安装
一、依赖
部署脚本会自动安装, 保证 apt update 可以正常使用即可
apt update tar wget ca-certificates qrencode
二、 部署脚本
debian ubuntu 参数 -c= ttnode缓存目录
sudo sh -c "$(wget https://gitee.com/shenzhen-sweet-sugar/ttnode-auto-deploy/raw/master/setup.sh -O -) -c=/mnt/data/ttnode"
三、查看日志二维码
sudo tail -f /usr/node/nohup.out
四、浏览器查看
http://ip:1024
Docker部署程序
一键安装docker
curl -sSL https://get.daocloud.io/docker | sh
选择缓存目录
通常我们会选择一个目录来缓存甜糖的数据。推荐使用固态硬盘作为缓存盘,能获得更高的评级。100Mbps的带宽必须使用固态硬盘或内emmc、ufs存储。 我们可以通过该命令查看当前挂载的磁盘情况。lsblk
如上图,我们有个59.5G的磁盘,路径在 /mnt/mmcblk0p1 ,我们可以把缓存目录设置在这里。如果你插上存储设备,但是在MOUNTPOINT这里并没有显示路径,那代表你的设备没有自动挂载成功存储设备,此时我们就必须手动挂载存储设备,以让我们能使用该设备。
- 先确保U盘/硬盘已经格式化;
- 使用mkdir命令新建文件夹用作挂载路径(如上图,我们新建了个目录路径在/mnt/mmcblk0p1);
- 使用mount命令挂载存储设备到该文件夹。
拉取镜像并部署甜糖Docker实例
在命令行输入
docker run -d \ -v /mnt/mmcblk0p1:/mnt/data/ttnode \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /proc:/host/proc:ro \ --name ttnode \ --hostname ttnode \ --privileged \ --net=host \ --restart=always \ registry.cn-hangzhou.aliyuncs.com/tiptime/ttnode:latest
参数解释
-v /mnt/mmcblk0p1:/mnt/data/ttnode/mnt/host/dir
这里的/mnt/mmcblk0p1改为你的设备的缓存目录-v /var/run/docker.sock:/var/run/docker.sock
支持自动更新,不设置则需要手动更新镜像--name ttnode
容器名称,建议自行修改个比较独特的容器名称,尽量不与他人重复,避免冲突。
查看 ttnode 状态
docker container ls # 查看所有容器
浏览器
docker inspect 容器名 -f "{{json .NetworkSettings.Networks.macnet.IPAddress }}" # 查看容器ip http://容器IP:1024 # 浏览器 查看二维码 端口
命令行
docker logs -f 容器名 # 查看二维码 端口
删除 ttnode
docker rm -f 容器名 # 删除容器
检查 ttnode 挂载
docker inspect -f '{{ .Mounts }}' 容器名
# 预期 [{bind /mnt/host/dir /mnt/data/ttnode true rprivate} ......] # 左边是本机挂载目录 /mnt/host/dir ,右边必须是 /mnt/data/ttnode
进阶:通过脚本部署 maclvan 模式(支持多实例)
wget https://gitee.com/shenzhen-sweet-sugar/ttnode-auto-deploy/raw/master/setup_docker.sh chmod +x setup_docker.sh # 第一次运行 # --eth 网卡 # --cache_dir 缓存目录 # --ttnode_count ttnode docker实例数 ./setup_docker.sh --eth=eth0 --cache_dir=/mnt/ttnode --memory=1g --cpus=1.5 --ttnode_count=2 # 之后运行用下面这行即可,保证 mac 地址不变 ./setup_docker.sh # 直接读取配置文件 配置文件在 /etc/ttnode/config.txt # 包含 容器名 hostname mac地址等信息
群晖NAS
其中【tiptime/ttnode】就是官方Docker镜像
点击存储空间-添加文件夹,设置甜糖的缓存目录
装载路径直接填【/mnt/data/ttnode】
最后是在网络标签页,勾选使用【使用与Docker Host相同的网络】,点击应用即可
路由器开启UPNP
如果是路由器拨号上网
直接去路由器后台 192.168.1.1
在设置里面找一找UPNP设置
点开启即可
如果是光猫拨号上网
请改成路由器拨号上网
设置端口映射
一、获取甜糖设备IP
获取甜糖设备IP的方法有如下几个
- 使用甜糖APP的局域网发现功能,获取设备的IP和端口号;
- 使用甜糖APP通过设备列表进入对应设备的状态页,在底部有设备的IP地址;
- 通过设备本身的网络连接界面查看当前IP;
- 通过路由器后台查看连接设备的IP地址;
- 通过进入设备的SSH连接界面,输入ifconfig命令查看IP。
二、获取端口号
在不同方案中部署甜糖星愿服务时,获取端口号的方式都不一样。但都可以通过甜糖APP的局域网搜索功能获取当前局域网所有甜糖设备的IP地址及端口号,如图。
对于Armbian裸程序/Docker/Openwrt,还可以通过在设备的ssh命令行界面输入以下指令获取端口号:
netstat -tunlp | grep 'ttnode' | grep -v '127.0.0.1\\|17331' | awk '{sub(/0.0.0.0:/,""); print $1,$4}' | sort -k 2n -k 1
其中出现了两次(tcp和udp各一次)的三个数字就是我们要的端口号,如上图分别是52489、52742、54495。
三、设置端口转发
我们需要将甜糖设备连在光猫的网络下(如果是使用其他路由器拨号,则连在其他路由器下),并开启拨号设备(光猫/路由器)的端口转发功能。不同设备的端口转发设置如下。
光猫
登录光猫后台后,点击高级设置-端口映射(有的光猫会将该设置称为端口映射,有的叫虚拟服务器)
- 服务器名称:随便起一个
- 局域网IP:填甜糖设备的IP(也就是我们在步骤1获得的IP)
- 服务协议:选TCP/UDP(可能又叫“TCP和UDP”)
- 内部端口、外部端口:填步骤2找到的其中一个端口号
按上述内容,将我们找到的三个端口号都添加一遍即可。
TPLink路由器
登录路由器后台后,点击应用管理-虚拟服务器(TPLink里将该功能命名为虚拟服务器)
- 常用服务器:不选
- IP地址:填甜糖设备的IP(也就是我们在步骤1获得的IP)
- 协议类型:ALL
- 内部端口、外部端口:填步骤2找到的其中一个端口号
按上述内容,将我们找到的三个端口号都添加一遍即可。
中兴路由器
登录路由器后台后,点击右上角进入高级配置-应用功能-端口转发
- 名称:随意填一个
- 局域网主机:填甜糖设备的IP(也就是我们在步骤1获得的IP)
- 协议:TCP And UDP
- 广域网端口、局域网端口:填步骤2找到的其中一个端口号
按上述内容,将我们找到的三个端口号都添加一遍即可。