家里有闲置宽带和树莓派的朋友,可能都想过怎么把这两样东西利用起来。我之前试过京东云之类的硬件设备,但动辄两三百的入门成本让人犹豫。直到发现甜糖星愿计划——用树莓派3B+这种吃灰小设备,配合Docker容器技术,半小时就能搭建一个带宽贡献节点。实测半个月下来,每天稳定有1-3元收益,高峰期甚至能跑满40Mbps上传带宽。
甜糖的原理其实很简单:它本质上是个边缘计算平台。我们贡献闲置的上传带宽,帮内容分发网络(CDN)缓存热门的视频、游戏更新包等资源,就能获得积分奖励。官方数据显示,10M上传带宽月收益约25元,50M带宽能达到90元。虽然实际收益会受网络质量、节点评级影响,但对零成本投入的树莓派来说已经很划算。
相比直接装在手机或路由器上的方案,用Docker部署有三大优势:
推荐使用树莓派3B及以上型号,实测2GB内存足够运行Docker+甜糖。系统选择官方Raspberry Pi OS Lite版本即可,图形界面反而浪费资源。如果还没装系统,用Raspberry Pi Imager工具写入镜像时,记得提前开启SSH(在boot分区新建空文件名为ssh)。
存储方面有个血泪教训:最初我把甜糖数据存在TF卡上,结果三天两头报"存储异常"。后来改用USB3.0移动硬盘,问题彻底解决。建议准备至少32GB的外接存储,读写速度会影响收益结算。
光猫设置是收益高低的关键。不同品牌获取超级管理员账号的方法:
http://光猫IP/getpage.gch?pid=1002&nextpage=tele_sec_tsu_t.gch可进入隐藏页面telecomadmin/admintelecom组合登录进入后台后必须做两件事:
测速建议用speedtest-cli工具,安装命令:
bash复制sudo apt install speedtest-cli
speedtest
上传速度至少要达到10Mbps才有收益价值。
树莓派安装Docker比想象中简单,官方提供了一键脚本:
bash复制curl -fsSL https://get.docker.com | sh
如果下载慢,可以换国内源:
bash复制curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
安装完成后需要把pi用户加入docker组:
bash复制sudo usermod -aG docker pi
退出重新登录后,运行docker ps不报错就说明成功了。
我遇到过两个典型问题:
证书错误:表现为x509: certificate signed by unknown authority
解决方法:
bash复制sudo mkdir -p /etc/docker/certs.d
sudo curl -k -o /etc/docker/certs.d/docker.com.crt https://curl.haxx.se/ca/cacert.pem
存储驱动冲突:如果之前装过docker.io,需要彻底卸载:
bash复制sudo apt remove --purge docker.io
sudo rm -rf /var/lib/docker
推荐使用ericwang2006/ttnode镜像,支持armv7架构(树莓派3B/4B)。这个镜像已经配置好所有依赖,直接运行以下命令:
bash复制docker run -d \
-v /mnt/usb1/ttdata:/mnts \
--name ttnode \
--hostname mynode \
--net=host \
--privileged \
--restart=unless-stopped \
ericwang2006/ttnode:latest
关键参数说明:
-v:把/mnt/usb1/ttdata换成你的外接硬盘路径--net=host:让容器使用主机网络,提升传输效率--privileged:必要权限,否则无法读取网络信息如果APP提示"存储异常",按这个流程排查:
bash复制sudo chmod -R 777 /mnt/usb1/ttdata
bash复制docker logs ttnode
bash复制sudo mkfs.ext4 /dev/sda1
不同品牌光猫路径:
开启后建议重启光猫,然后用这个命令验证:
bash复制upnpc -l | grep 'TCP\|UDP'
如果显示甜糖使用的端口(默认1043),说明配置成功。
部分地区运营商封锁了UPnP,需要手动添加端口转发:
bash复制telnet 你的公网IP 1043
bash复制hostname -I | awk '{print $1}'
根据我的实测,这些因素会影响每日收益:
bash复制docker exec ttnode ./usr/node/test.sh
先检查容器状态:
bash复制docker ps -a | grep ttnode
如果是Exited状态,查看日志:
bash复制docker logs --tail 50 ttnode
常见原因:
-p 1043:1043参数运行bash复制docker exec ttnode ntpd -n -d -q -p pool.ntp.org
bash复制docker pull ericwang2006/ttnode:latest
可能的原因:
iftop监控)df -h查看)优化方案:
114.114.114.114bash复制docker update --restart=on-failure:3 ttnode