我是小盒子, 也是大世界
盒子实测耗电仅约3瓦, 一杯奶茶的成本可以养它一年 (24h * 365天)!
就是这么优秀!
盒子运行 Linux Ubuntu 20.04.4 LTS 服务器系统, 同时配置了适量的常用软件, 完全可以满足个人家庭需求
WOO, 动手打造属于你的空间吧!
点击打开进行日常维护和使用.
如遇到不慎操作失误或者安装了自己不清楚的软件, 可以使用还原备份系统的命令: recoverbackup
需要等待约4分钟左右, 系统将自动覆盖根分区, 根分区内的数据将全部被原备份系统清除并覆盖, 请做好必要的资料保存, 还原后外网访问的网址将重新随机分配
建议使用 Edge、Chrome、火狐浏览器等访问和管理机顶盒 管理终端, 或者使用 Windows 10 的命令提示符、SSH终端管理器等登陆后台
1. linux服务器,可以作为你学习linux系统的一个样板
2. 盒子支持 docker 程序,你可以使用 docker 扩展你的需求
3. 用盒子作为自己家用的文件存储器,文件共享器
4. 可以把盒子作为内网穿透跳板机,或 p2p 把家里的设备跟异地的设备网络组成同一个内网
5. 可以用盒子的博客系统记录你学习和生活的点点滴滴,既能分享,又能保留历史记忆
6. 可以用盒子播放影音,视频,并推送到局域网内的电视
7. 可以用盒子系统自带的插件作为一个下载机,随时随地下载并存储在本地
8. 可以用盒子做个人网站个人数据库前端或后端
9. 可以做自己的 git 仓库,协助你建立或转存个人或群体仓库
10. 可以建立自己的 socks 网络中转,安全地科学使用网络。
11. 还可以做更多事情,等待你的发掘。或加入用户微信群交流,或加入社区交流。
ssh [email protected] 终端登陆服务器 df -H 查看磁盘使用详情 ls -al (ll) 查看当前目录下的所有文件 apt update && apt upgrade -y 更新官方源已安装的软件 cd /home/ubuntu 进入 /home/ubuntu 目录位置 wget http://xxx.com/xxx.xxx 下载网络链接文件到当前文件夹位置 passwd root 修改当前系统账号 root 的密码, 需要重复输入两次密码
盒子内置有以下几个基本功能的软件安装小白脚本, 直接输入以下命令即可自动安装并自动配置, 即装即用。部分脚本安装位置在 /opt/ 路径下,如有需要,请自行更改脚本。
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 命令对文档进行编辑;
vi abc 打开和进入 abc 文档 提示: 连续按下两下 dd 即可删除光标所在的行 按一次键盘的 Insert 或者 i 按键, 即可进入当前文件的编辑模式 键盘上下左右移动光标, 修改编辑完毕, 按一次 Esc 按键退出编辑模式, 然后输入 :wq 这三个符号, 回车即可保存并退出文档 若不保存当前修改, 即输入 :q! 这三个符号,回车即可直接退出文档编辑
可以采用 FTP 或 SCP 等方式对服务器文档进行管理, 上传和下载
初始账号: ubuntu 密码: 1234
已经搭建了一个位于国外的服务器作为 FRP 的服务端, 并自动分配给盒子一个随机的二级域名, 你可以轻松的在外面访问盒子首页本盒子外网网址 : https://nas-xxx.any168.net【此功能只限专业版用户使用】
服务器详情 分享与答疑修改和配置 /etc/frp/frpc.ini 文档
把盒子放在家里, 公司, 或学校, 让你的盒子变身为一个比花生棒更加强大的跳板机!
# /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 #你就可以在外网用xxx-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名称):
systemctl stop frpc #先停止frp客户端的服务 frpc -c /etc/frp/frpc.ini #试运行上面修改过的配置 #最后, 如果出现的都是蓝色的并且都显示success的结果, 则ok, #否则重新修改xxx的名称避免和其他人的设置重复 #按ctrl+c结束命令 systemctl restart frpc #重启服务
限于研究学习的目的, 自带节点
安装下面的脚本后盒子打开了 Socks5 的代理服务功能, 端口号10808
你在浏览器或者系统自行设置通过盒子的IP192.168.111.20
代理 Socks5 上网即可
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 名称可能会不相同
操作如下:
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 然后无需设置密码直接点击 "确认, 开始安装", 然后点击 "使用原数据" 这样就把数据还原了, 打开还是原来一样的所有文章。
注意: 如果你常常使用的是外网网址登陆博客, 请在后台设置里填写正确的外网网址。
否则首页将会造成js错乱而影响访问。(可用内网 IP 地址登陆去修改)
系统已经预先安装好 Samba 并自动共享 /home/ubuntu/downloads 文件夹,
在文件管理器输入: \\192.168.111.20
即可访问
mkdir -p /mnt/sda1/usb-share 在U盘建立一个文件夹 usb-share (当然, 你也可以建立其他文件夹) chmod -R 777 /mnt/sda1/usb-share 给这个文件夹赋予权限
输入命令 vi /etc/samba/smb.conf 修改配置, 在结尾下面添加如下代码:
[usb-shares] path = /mnt/sda1/usb-share read only = no guest ok = yes create mask = 0777 directory mask = 0777 browseable = yes
systemctl restart smbd 修改完成后需要重启 Samba 服务
最后, 在文件管理器输入: \\192.168.111.20 即可访问在网上邻居也可以找到这个共享文件夹了
系统已内置 NFS 文件服务器
初始地址为 /home/ubuntu/downloads
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 # 运行这个命令使配置生效
vi /etc/network/interfaces.d/eth0 # 修改配置文件
替换为下面的内容 (网关和IP必须按实际情况自行修改)
否则你将可能不得不重新刷机,承担修复 IP 无法访问的风险。
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
已经内置 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
修改用户名和密码: echo -n 'admin:' | tee /etc/nginx/passwords.list openssl passwd -apr1 | tee -a /etc/nginx/passwords.list nginx -s reload
我就建个站
vi /etc/nginx/sites-available/mywebsite
复制下面代码粘贴
server { listen 8088; listen [::]:8088; server_name example.com; root /var/www/html/example.com; index index.html; location / { try_files $uri $uri/ =404; } }
ln -sf /etc/nginx/sites-{available,enabled}/mywebsite nginx -s reload 最后运行上面两句使能把网站文档放在 /var/www/html/example.com 你就可以打开 IP:8088 访问你自己的网站了 这个例子只是简单的模板, 详细情形请搜索学习
首先要挂载U盘, 并且在U盘创建 gitweb 文件夹并赋予 777 权限
命令行输入 install-gitweb.sh 自动安装小白脚本
安装完成后, 浏览 http://192.168.111.20
:8011 即可管理你的 Git 仓库
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
客户端克隆本服仓库命令:
git clone [email protected]:/mnt/sda1/gitweb/xxx.git 密码与系统相同
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 解析更新
# 安装 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 解析脚本
使用方法: # 花生壳修改配置文件: 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 计划任务教程: https://www.runoob.com/w3cnote/linux-crontab-tasks.html
系统支持自动挂载外置设备, 插入 U盘 或移动硬盘即可自动挂载到 /mnt 下, 插入 TF卡讲自动挂载到 /mnt/mmcblk1p1
umount -l /mnt/sda1 # 卸载分区 (根据情况修改, 有时并非 /mnt/sda1) fdisk -l # 查看磁盘情况 fdisk /dev/sda # 进入命令行分区界面 (根据情况修改) (注意, 这里是 sda 而不是 sda1) 输入 o 设置新分区为 msdos 格式 输入 n 建立新分区 接着输入 p 建立主分区 接着默认 2048 字节扇区头和自动的扇区尾 (按回车即默认) 输入 w 将上面的操作保存 mkfs.ext4 /dev/sda1 # 执行格式化
# 停止 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
apt update && apt install docker.io
初学者可以尝试新建和删除 Docker 镜像和容器
docker images 列出已安装的镜像 docker ps 列出正在运行的容器 docker ps -a 列出所有容器,包括未运行 docker stop xxx 停止 xxx 容器 docker rm xxx 删除 xxx 容器 docker rmi xxx 删除 xxx 镜像
# 安装 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
存档位置: /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
默认登陆用户名和密码 admin admin
密码修改与 WebDav 的密码文件是同一个,参考 WebDav。
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
内网穿透即在局域网外部通过穿透技术直接访问局域网的设备,
目前现有穿透技术有很多种,其中有的需要限定端口,有的流量必须通过服务器转发。
本系统使用的穿透技术均无上述限制:
1、可以访问穿透设备的所有端口。
只需要使用穿透技术分配的专用IP地址,就能如同在局域网访问一样,互相访问穿透设备的所有端口,无任何限制。
2、使用P2P的点对点通讯技术。
客户端之间通讯默认使用直连通讯,无需经过服务器转发,大大加快设备间的传输速度,降低延迟,同时不受服务器限制传输带宽。
3、实现局域网打通。
即把客户端所在的局域网全部打通,其他局域网的客户端均可通过该被打通的客户端访问该客户端所在局域网的其他设备,而不仅仅是客户端设备,从此各地的局域网对彼此开放,实现互联互通。
如需其他客户端所在局域网的设备也能如同客户端一样访问被穿透的客户端局域网,则需要在各自的网络路由器上设置静态路由。
本操作系统基于 Ubuntu 20.04.4 LTS, 神雕定制,Xjm,Hyy2001贡献
盒子内核及运行设计版权归神雕 [email protected], 任何人使用或移植借鉴须注明出自 www.ecoo.top
未经作者授权, 不得将系统用于盈利售卖, 不得用于衍生的任何软件变相收费否则视为侵权行为! 一旦被举报, 必将追究!
官方网站 www.ecoo.top