电视盒子搭建armbian系统实现小型服务器(2G+16G)
搭建前
- 前置知识:
- armbian系统是什么:Armbian(中文名:岸边)系统是基于 Debian/Ubuntu 而构建的专门用于 ARM 芯片的轻量级 Linux 系统
- 下载地址:ophub
- armbian系统是什么:Armbian(中文名:岸边)系统是基于 Debian/Ubuntu 而构建的专门用于 ARM 芯片的轻量级 Linux 系统
- 电视盒子的选择:魔百盒(2024.1价格大概在80,送全套东西:1条网线,魔百盒电源,一条HDMI连接线,遥控器。)
- 型号:cm311-1a
- CPU:s905l3a芯片
- 运行内存+闪存:2G+16G
- 无WIFI版本
- 最终实现的功能:
- 安装armbian系统
- 利用ddns实现远程访问服务器
- 安装小猫咪
- 安装青龙面板(跑脚本的)
- 安装RabbitPro(可以短信登陆jd)
- 安装spy(可以自动监测tg频道消息的关键词并提醒)
- 定时向tg指定用户发送消息
开始搭建
搭建armbian系统
- 下载cpu芯片对应的server的img版本,然后插入u盘,制作系统盘,mac终端输入
diskutil list #显示当前所有得磁盘情况
diskutil unmountDisk /dev/disk? #卸载U盘上的所有磁盘,写入之前必须卸载,不然显示resource busy
dd if={ISO_IMAGE_HERE_} of=/dev/disk1 bs=1m #拷贝磁盘
- 等待,完成后输入
diskutil eject /dev/disk?
- 打开电视盒子,迅速插入u盘(晚了就进入电视系统了),接下来就是安装过程了,可以参考机器人工匠阿杰的P6
安装小猫咪
- 下载clash的Linux版本:自己去找
- 输入以下代码
- 将下载好的clash文件传到服务器:
scp -P yourport -r clashPath username@ip:path
- 创建clash存放的文件夹:
mkdir /opt/clash
- 将clash的config.yaml和Country.mmdb访问/opt/clash下(自己去找配置文件下载)
- 进入/opt/clash,
chmod +x clash
- 开通clash服务:执行
./clash -d .
- 测试是否成功:
curl -I https://www.youtube.com/
(注意别用ping,ping不通,ping好像不走clash)
- 将下载好的clash文件传到服务器:
- 设置开机自启动:
-
创建service文件:
touch /etc/systemd/system/clash.service
-
编辑service文件:
vim /etc/systemd/system/clash.service
,填入以下内容:点击查看
[Unit] Description=Clash service After=network.target [Service] Type=simple User=root ExecStart=/opt/clash/clash -d /opt/clash/ Restart=on-failure [Install] WantedBy=multi-user.target -
开机自启动:
sudo systemctl enable clash
-
常用systemctl命令:
点击查看
# 重载服务 sudo systemctl daemon-reload # 开机启动 sudo systemctl enable clash # 启动服务 sudo systemctl start clash # 查看服务状态 sudo systemctl status clash # 只查看某一个服务的启动日志 journalctl -u [unit]
-
- 设置系统挂上clash:
-
vim /etc/profile
,然后加入以下内容点击查看
export http_proxy="http://127.0.0.1:7890" export https_proxy="http://127.0.0.1:7890"
-
ddns
- 我用的是电信+TP-LINK路由器实现的ddns
- ddns需要公网ip,我为了得到公网ip,特地将家里的移动宽带换成了电信宽带,然后直接客服申请公网ip,过了几个小时电信就电话说公网ip已经开通了(不得不说电信真给力!)。TP-LINK是提供免费的域名的,进入路由器操作就行,然后将端口22映射到你想通过远程访问的端口即可
安装青龙面板
-
可以ssh连接盒子,不用鼠标了,只要知道盒子的内网ip即可(进入路由器管理界面可以查到或者启动盒子的时候会有ip显示)
-
安装docker:
armbian-docker
-
安装2.11.3版本的青龙面板:
点击查看代码
docker run -dit \ -v $PWD/ql/config:/ql/config \ -v $PWD/ql/log:/ql/log \ -v $PWD/ql/db:/ql/db \ -v $PWD/ql/scripts:/ql/scripts \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ --restart always \ whyour/qinglong:2.11.3 -
安装完成,输入ip:5700就可以访问了
-
需要注意的是:在docker内,无法走系统设置的代理,例如若设置127.0.0.1:7890,则是走的docker的而不是系统的,这是因为docker与系统是隔离的,相当于沙盒。所以要通过系统的ip地址+7890访问clash。
-
青龙拉库最好设置代理,即在docker中设置git走系统代理。
-
关于docker:docker与宿主机的环境是隔离的,要在docker镜像中使用宿主机的代理,可以进入镜像后这样,
export ALL_PROXY='ip:port'
安装RabbitPro和spy
定时发送tg
-
主体部分:其实就是利用tg的开放api实现的,没什么技术含量,chatgpt直接实现,话不多说,直接上代码:
点击查看代码
from telethon import TelegramClient # 替换为你的 Telegram API 的信息 api_id = '20863054' api_hash = 'c0218a9cf6c0f60628ecc2c59e4d35d4' # 替换为目标用户的 username 或用户id target_entity = '@chriszhi_bot' message = '/check' # 发送消息 with TelegramClient('mysession', api_id, api_hash) as client: client.loop.run_until_complete(client.send_message(target_entity, message)) -
定时部分
- 输入
crontab -e
加入定时代码:30 21 * * 0 python send_tg_jd.py >/root/log/kribe.log 2>&1
- 保存后,
systemctl restart cron
即可 - cron还有其他命令,可以自行搜索
- 输入
总结
读大学的时候,我一直觉得搭建这样一个服务器并实现一些功能很酷,现在也是终于实现了,自动化真的很酷好嘛。前前后后从攻略到买设备到搭建过程的bug到成功搭建,花了大概一周多吧,可能有些伙伴表示好费时间,不能理解,但是,费时间并成功了这个过程何尝不是一种快乐呢哈哈,不能说非常自豪,毕竟也不算难,但是我自己也是非常开心的,毕竟做人嘛,开心最重要哦。非常感谢提供资源的伙伴,谢谢a俊。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?