海思机顶盒家庭服务器 NAS
我是小盒子, 也是大世界
基本信息
- 芯片型号 :
- 内网IP : 192.168.100.141 外网网址 : https://nas-ypng.any168.net
- 系统版本号 : 20220712
- 初始默认登陆账号和密码 :root 1234
- 作者 : 神雕@histb.com
- 支持论坛 : https://bbs.histb.com
- 版权和声明 : 本系统固件发布在作者网站, 任何人均可免费下载和安装使用, 如果你是在不良奸商手上购买, 请尝试协商退款或给与差评!
作者唯一咸鱼官方账号是”神雕teasiu”
NAS系统内置的软件全部开放源码, 开通的服务仅仅用于学习研究, 不得用于任何非法用途 - 是的, 你的感觉没错, 这是一个小白也会使用的机顶盒服务器全部开源任你白嫖!
盒子实测耗电仅约3瓦, 一杯奶茶的成本可以养它一年 (24h * 365天)! 就是这么优秀!
盒子运行 Linux Ubuntu 20.04.4 LTS 服务器系统, 同时配置了适量的常用软件, 完全可以满足个人家庭需求
WOO, 动手打造属于你的空间吧!
常用功能按钮
点击打开进行日常维护和使用.
如遇到不慎操作失误或者安装了自己不清楚的软件, 可以使用还原备份系统的命令: recoverbackup
需要等待约4分钟左右, 系统将自动覆盖根分区, 根分区内的数据将全部被原备份系统清除并覆盖, 请做好必要的资料保存, 还原后外网访问的网址将重新随机分配
开始使用
建议使用 Edge、Chrome、火狐浏览器等访问和管理机顶盒 管理终端, 或者使用 Windows 10 的命令提示符、SSH终端管理器等登陆后台
常用的 Linux 命令
1 2 3 4 5 6 7 8 9 | ssh root@192.168.x.x 终端登陆服务器 df -H 查看磁盘使用详情 ls -al (ll) 查看当前目录下的所有文件 apt update && apt upgrade -y 更新官方源已安装的软件 apt install samba 安装软件包, 例如 Samba cd /home/ubuntu 进入 /home/ubuntu 目录位置 wget http://xxx.com/xxx.xxx 下载网络链接文件到当前文件夹位置 passwd root 修改当前系统账号 root 的密码, 需要重复输入两次密码 |
盒子内置有以下几个基本功能的软件安装小白脚本, 直接输入以下命令即可自动安装并自动配置, 即装即用
1 2 3 4 5 6 7 8 | install-samba.sh 安装局域网共享 install-qinglong.sh 安装 Docker 应用: 青龙面板 install-v2ray.sh 安装 Socks5 服务器 install-portainer.sh 安装 Docker 容器管理面板 install-gitweb.sh 安装和打造个人的 Git 仓库 install-homeassistant.sh 安装智能家居控制面板 install-jellyfin.sh 安装电影播放削刮器 install-casaos.sh 安装开源家庭云系统 |
使用 vi 命令对文档进行编辑;
1 2 3 4 5 6 7 | vi abc 打开和进入 abc 文档 提示: 连续按下两下 dd 即可删除光标所在的行 按一次键盘的 Insert 或者 i 按键, 即可进入当前文件的编辑模式 键盘上下左右移动光标, 修改编辑完毕, 按一次 Esc 按键退出编辑模式, 然后输入 :wq 这三个符号, 回车即可保存并退出文档 若不保存当前修改, 即输入 :q! 这三个符号,回车即可直接退出文档编辑 |
管理服务器文档
可以采用 FTP 或 SCP 等方式对服务器文档进行管理, 上传和下载
初始账号: ubuntu 密码: 1234
具体使用指南
内网穿透的使用场景
服务器采用 FRP 开源软件进行内网穿透
已经搭建了一个位于国外的服务器作为 FRP 的服务端, 并自动分配给盒子一个随机的二级域名, 你可以轻松的在外面访问盒子首页本盒子外网网址 : https://nas-xxxxx.any168.net
使用场景
修改和配置 /etc/frp/frpc.ini 文档
把盒子放在家里, 公司, 或学校, 让你的盒子变身为一个比花生棒更加强大的跳板机, 没错, 也是白嫖的!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # /etc/frp/frpc.ini [common] server_addr = frp.ecoo.ga server_port = 7000 log_max_days = 3 token = any168tomynas login_fail_exit = false [ssh-xxx] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 10086 [web-xxx] type = http local_ip = 127.0.0.1 local_port = 80 subdomain = nas-xxx # 添加以下内容变身 [web-xxx-synology] type = http local_ip = 192.168.1.222 #假设这是你的黑群IP local_port = 5000 subdomain = xxx-synology #你就可以在外网用ypng-synology.any168.net域名直接访问黑群的管理页面了 # 添加以下内容变身2 [web-xxx-mycompany] type = http local_ip = 192.168.1.10 #假设这是你公司的文档服务器 local_port = 80 subdomain = xxx-company #你就可以在外网用xxx-company.any168.net域名直接访问公司文档页面了 # 添加以下内容变身3 [web-xxx-myschool] type = http local_ip = 192.168.1.10 #假设这是你校园内网专用的考试查询内网地址 local_port = 80 subdomain = xxx-myschool #你就可以在外网用xxx-myschool.any168.net域名直接访问校园内网了 |
检查自己修改的配置是否成功(多人使用, 只能使用唯一的xxx名称):
1 2 3 4 5 6 | systemctl stop frpc #先停止frp客户端的服务 frpc -c /etc/frp/frpc.ini #试运行上面修改过的配置 #最后, 如果出现的都是蓝色的并且都显示success的结果, 则ok, #否则重新修改xxx的名称避免和其他人的设置重复 #按ctrl+c结束命令 systemctl restart frpc #重启服务 |
Socks5 服务器配置
限于研究学习的目的, 自带节点
安装下面的脚本后盒子打开了 Socks5 的代理服务功能, 端口号10808
你在浏览器或者系统自行设置通过盒子的IP192.168.100.141 代理 Socks5 上网即可
1 2 3 4 5 | install-v2ray.sh # 终端输入这句命令自行安装 systemctl status v2ray # 查看运行状态是否正常 curl --socks5 127.0.0.1:10808 google.com # 返回 301 字样则成功 install-v2ray.sh --remove # 终端输入命令即可卸载 v2ray |
本功能仅作为学习以及测试使用, 禁止用于非法用途! 测试完毕请立即卸载!
创建个人博客或家庭公告栏
点击打开个人博客, 点击“我准备好了, 开始下一步”, 输入新设登陆的密码, 点击“确认, 开始安装”
博客的用途非常广泛, 你甚至可以机智地把它当成家庭公告板提醒家里人上去写留言;
也可以当成自己的网络笔记本, 粘贴上你在网络上学习过的代码, 永久保留备查;
还可以把外网网址公开给私人好友, 分享你的能量
保存和重装后还原博客数据库
在 recoverbackup 重装系统之前, 一定要备份博客的数据库
数据库位置路径在 /var/www/html/blog/usr/623d62d5e5e96.db db 名称可能会不相同
操作如下:
1 2 3 4 5 | mkdir -p /mnt/sda1/blog-data 在U盘建立数据库一个文件夹 chmod -R 777 /mnt/sda1/blog-data 给文件夹赋予权限 cp /var/www/html/blog/usr/*.db /mnt/sda1/blog-data/myblog.db 把数据库文档移出来到U盘指定目录并重命名为 myblog.db |
下次重新安装博客时, 点击 “我准备好了, 开始下一步”, 数据库文件路径输入 /mnt/sda1/blog-data/myblog.db 然后无需设置密码直接点击 “确认, 开始安装”, 然后点击 “使用原数据” 这样就把数据还原了, 打开还是原来一样的所有文章
注意: 如果你常常使用的是外网网址登陆博客, 请在后台设置里填写正确的外网网址
如何安装和设置网络文档共享
第一步, 先运行命令 install-samba.sh 使用系统内置的脚本安装 Samba 软件
安装完成后会自动共享 /home/ubuntu/downloads 文件夹,
在文件管理器输入: \\192.168.100.141 即可访问
修改配置文档, 把U盘的文件夹共享出来
1 2 3 | mkdir -p /mnt/sda1/usb-share 在U盘建立一个文件夹 usb-share (当然, 你也可以建立其他文件夹) chmod -R 777 /mnt/sda1/usb-share 给这个文件夹赋予权限 |
输入命令 vi /etc/samba/smb.conf 修改配置, 在结尾下面添加如下代码:
1 2 3 4 5 6 7 8 | [usb-shares] path = /mnt/sda1/usb-share read only = no guest ok = yes create mask = 0777 directory mask = 0777 browseable = yes |
1 2 | systemctl restart smbd 修改完成后需要重启 Samba 服务 |
最后, 在文件管理器输入: \\192.168.100.141 即可访问在网上邻居也可以找到这个共享文件夹了
其他功能与使用技巧
NFS服务器 –
系统已内置 NFS 文件服务器
初始地址为 /home/ubuntu/downloads
1 2 3 4 | vi /etc/exports # 编辑配置文件, 加入以下内容 (请根据实际情况修改) /home/ubuntu/downloads *(rw,sync,no_root_squash,no_subtree_check) /mnt/sda1 *(rw,sync,no_root_squash,no_subtree_check) exportfs # 运行这个命令使配置生效 |
更改盒子网口 MAC 地址 –
1 2 3 4 5 | vi /etc/network/interfaces.d/eth0 # 编辑配置文件 注意:你改的mac地址必须符合16进制格式! 只能从 0123456789ABCDEF 这16个数字与字母中选。 # 在最下方增加下面的内容 (实际内容可按需修改) pre-up ifconfig eth0 hw ether 00:11:22:33:44:66 |
设置静态IP –
vi /etc/network/interfaces.d/eth0 # 修改配置文件
替换为下面的内容 (网关和IP必须按实际情况自行修改)
否则你将可能不得不重新刷机,承担修复 IP 无法访问的风险。
1 2 3 4 5 6 7 8 9 10 | auto eth0 iface eth0 inet static address 192.168.1.10 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1 pre-up ifconfig eth0 hw ether 00:11:22:33:44:55 |
WebDAV 服务器 –
已经内置 WebDAV 服务在 8081 端口, 默认文档位置在 /home/ubuntu/webdav
修改默认文档位置 vi /etc/nginx/sites-available/nginx_webdav
修改后输入 nginx -s reload 重启服务
Windwows 映射 WebDAV 目录
开启服务此电脑右键-管理-服务-WebClient 设为自动, 停止服务
修改注册表
修改注册表使得WIN同时支持http和https:
定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
把BasicAuthLevel 值改成2, 即同时支持http和https, 默认只支持https, 然后重启服务:
磁盘映射
在Windows资源管理器空白处右键, 选添加一个网络位置
填写正确的连接加端口号, 默认登陆用户名和密码 admin admin
1 2 3 4 5 | 修改用户名和密码: echo -n 'admin:' | tee /etc/nginx/passwords.list openssl passwd -apr1 | tee -a /etc/nginx/passwords.list nginx -s reload |
增加自建站 Nginx 模块 –
我就建个站
vi /etc/nginx/sites-available/mywebsite
复制下面代码粘贴
1 2 3 4 5 6 7 8 9 10 | server { listen 8088; listen [::]:8088; server_name example.com; root /var/www/html/example.com; index index.html; location / { try_files $uri $uri/ =404; } } |
1 2 3 | ln -sf /etc/nginx/sites-{available,enabled}/mywebsite nginx -s reload 最后运行上面两句使能 |
把网站文档放在 /var/www/html/example.com 你就可以打开 IP:8088 访问你自己的网站了 这个例子只是简单的模板, 详细情形请搜索学习
安装私人 Git 仓库 –
首先要挂载U盘, 并且在U盘创建 gitweb 文件夹并赋予 777 权限
命令行输入 install-gitweb.sh 自动安装小白脚本
安装完成后, 浏览 http://192.168.100.141 :8011 即可管理你的 Git 仓库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | cd /mnt/sda1/gitweb # 进入U盘 # 克隆一个 Github 上的库并建立裸库在服务器上 git clone --bare https://github.com/xxx/xxx.git xxx.git cd xxx.git # 进入该仓库 touch git-daemon-export-ok echo "xxx仓库" > description # 这样你就可以看到这个转移过来的仓库了 # 建立一个新的空仓库: cd /mnt/sda1/gitweb mkdir xxx.git cd xxx.git git init --bare touch git-daemon-export-ok echo "我的第一个新仓库" > description |
客户端克隆本服仓库命令:
1 2 | git clone root@192.168.xx.xx:/mnt/sda1/gitweb/xxx.git 密码与系统相同 |
MiniDLNA 局域网音视频广播 –
1 2 3 4 5 | apt install minidlna # 安装 MiniDLNA 软件 vi /etc/minidlna.conf # 修改配置文件 将 media_dir=/var/lib/minidlna 修改为 media_dir=/mnt/sda1/minidlna mkdir /mnt/sda1/minidlna # 在U盘创建目录 chmod 777 -R /mnt/sda1/minidlna # 赋予权限 |
在该文件夹下存放图片或音视频 MP3、MP4、PNG、JPG 等格式的文件
你就可以在局域网下的电脑、手机、电视等智能终端进行播放了
DDNS 解析自动更新脚本教程 –
阿里域名 DDNS 解析更新
1 2 3 4 5 6 7 8 9 10 11 | # 安装 nodejs: apt install nodejs # 修改配置文件: vi /home/ubuntu/client-mode/config.json 填写你的阿里提供的 keyid 和 keysecret, 并填写你需要解析的域名 { "AccessKeyId": "xxxx ", "AccessKeySecret": "xxxx ", "hostnames": ["@.ecoo.top", "www.ecoo.top"] } 保存并退出, 然后添加计划任务(每 15 分钟检查一次, 外网 IP 变化才自动更新) crontab -e 输入 */15 * * * * /home/ubuntu/client-mode/client.sh |
花生壳和 noip.com 解析脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 | 使用方法: # 花生壳修改配置文件: vi /home/ubuntu/client-mode/ddns_oray.sh # noip 配置文件: vi /home/ubuntu/client-mode/ddns_noip.sh 填写服务商提供的 DDNS 帐号和密码, 并填写你需要解析的域名 user= passwd= hostname= 保存并退出, 然后添加计划任务(每 15 分钟检查一次, 外网 IP 变化才自动更新) crontab -e */15 * * * * /home/ubuntu/client-mode/ddns_oray.sh 或者 */15 * * * * /home/ubuntu/client-mode/ddns_noip.sh |
挂载外置设备
系统支持自动挂载外置设备, 插入 U盘 或移动硬盘即可自动挂载到 /mnt 下, 插入 TF卡讲自动挂载到 /mnt/mmcblk1p1
- * 如果没有显示设备请尝试重新插拨, 查看是否自动挂载
- * 部分机型可能需要插上USB口以后热启动上电才会被盒子识别
- * 连接外置 3.5吋 移动硬盘盒请确保供电正常
强烈建议将 U盘 或 TF卡 格式化为 ext4 文件系统
- * 部分盒子建议插到靠近电源的USB口
- * 建议使用 Linux 自带的 fdisk 分区命令进行重新分区
- * 也可以使用 mkfs.ext4 /dev/sd? 命令格式化
- * 警告: (符号 ? 请自行匹配到对应的外置设备序号, 如 sda sdb)
使用 fdisk 工具格式化外置储存设备
- 123456789101112
umount -l /mnt/sda1 # 卸载分区 (根据情况修改, 有时并非 /mnt/sda1)
fdisk -l # 查看磁盘情况
fdisk /dev/sda # 进入命令行分区界面 (根据情况修改)
(注意, 这里是 sda 而不是 sda1)
输入 o 设置新分区为 msdos 格式
输入 n 建立新分区
接着输入 p 建立主分区
接着默认 2048 字节扇区头和自动的扇区尾
(按回车即默认)
输入 w 将上面的操作保存
mkfs.ext4 /dev/sda1 # 执行格式化
直链下载与 BT 种子下载
Aria2 直链下载
- * 访问地址 http://IP/ariang
- * 默认下载位置 /home/ubuntu/downloads
- * 请自行修改挂载U盘下载位置
- * 例如先在U盘建立一个文件夹 aria2
- * 更新 Tracker 列表(BT 下载提速): 打开终端, 执行指令 update-tracker.sh, 按照提示操作即可
修改 Transmission 密码
- 123456789101112
# 停止 Transmission 服务
/etc/init.d/transmission-daemon stop
# 修改密码
# 编辑配置文件: vi /etc/transmission-daemon/settings.json
# 找到以下内容:
"rpc-password": "{1e82c73f8f4b5c3ba4e2d94227fc19dc3442abf7nSWuZtsb",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "admin",
# 只需要修改 password、username 后面 "" 内的内容即可
# 开启 Transmission 服务
/etc/init.d/transmission-daemon start
Docker 容器使用基础教程
安装 Docker 程序apt update && apt install docker.io
- 1. 内置青龙面板的安装脚本
- install-qinglong.sh
- 2. 内置了容器管理面板的安装脚本
- install-portainer.sh
- 3. 内置了特斯拉监控程序的安装脚本
- install-teslamate1.sh
- 4. 安装电影播放削刮器 (测试中)
- Docker 很好用, 但并不是全部装上榨干就好, 而是适合自己用就好
- 如果你有好的建议, 请到论坛贴出你的脚本, 有机会被采纳
Docker 使用基础初学者可以尝试新建和删除 Docker 镜像和容器
- 1234567
docker images 列出已安装的镜像
docker ps 列出正在运行的容器
docker ps -a 列出所有容器,包括未运行
docker stop xxx 停止 xxx 容器
docker rm xxx 删除 xxx 容器
docker rmi xxx 删除 xxx 镜像
- 1234567891011
# 安装 Docker 镜像前设置安装位置到U盘
systemctl stop docker # 停止 Docker 服务
mkdir -p /mnt/sda1/docker # 建立文件夹
chmod 777 -R /mnt/sda1/docker # 赋予权限
vi /lib/systemd/system/docker.service # 编辑配置文件
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
插上一句 --graph="/mnt/sda1/docker" 变为如下:
ExecStart=/usr/bin/dockerd --graph="/mnt/sda1/docker" -H fd:// --containerd=/run/containerd/containerd.sock
systemctl daemon-reload
systemctl start docker
个人网盘 h5ai 应用
存档位置: /var/www/html/files/
如果要更改存档位置到外接设备 /mnt/sda1/usb-files
则执行: ln -s /mnt/sda1/usb-files /var/www/html/files/usb-files
系统默认配置已经作了一个软链接示范
/home/ubuntu/files软链接到/var/www/html/files/home
1 2 3 4 | mkdir -p /mnt/sda1/usb-files ln -s /mnt/sda1/usb-files /var/www/html/files/usb-files echo "## 这是页首显示" > /mnt/sda1/usb-files/_h5ai.header.md echo "## 这是页脚说明" > /mnt/sda1/usb-files/_h5ai.footer.md |
网盘系统可以直接播放音视频和查看文档内容
在文档名称前面打勾, 左上角的下载按钮, 可以直接将文档打包zip格式并浏览器下载
Version History (Changelog)
本操作系统基于 Ubuntu 20.04.4 LTS, 由 Teasiu 和 Hyy2001 定制
Changelog
Copyright and License
盒子内核及运行设计版权归神雕 teasiu@ecoo.top, 任何人使用或移植借鉴须注明出自 www.ecoo.top
未经作者授权, 不得将系统用于盈利售卖, 不得用于衍生的任何软件变相收费否则视为侵权行为! 一旦被举报, 必将追究!
官方网站 www.ecoo.top