1 arm盒子刷linux
优点:
- 功耗低,普遍在3-4w
- 一般情况不修改盒子的Loader,系统不管怎么被损坏都可以通过刷机恢复
缺点:需要折腾
2 选择盒子
价格 | 型号 | cpu | 内存 | 硬盘(EMMC) | HDMI | 推荐 |
---|---|---|---|---|---|---|
269 | 荐片TV | rk3566(4核64位) | 8g | 32g | ||
120 | 黑豹x2 | rk3566(4核64位) | 4g | 32g | ||
80 | 斐讯N1 | S905(4核64位) | 2g | 8g |
理由
荐片TV:不推荐。之前开车160,现在价格高,而且我个人主观认为超过250元应该买x86
黑豹x2:推荐。一个月前买了一个105,附送64g闪迪a2卡,现在120,个人主观认为还可以
- 注意
- 此盒子没有任何hdmi接口,无法做电视盒子
- 此盒子产品本身做挖矿用途,个别奸商出售的盒子EMMC挖矿废了,无法刷机
- 解决:可以买商家代刷好系统的盒子(证明EMMC没问题)
- 我个人买了2个,都是全新未用(我感觉存货比较大)
- 不是每一家都送64G的TF卡,问好了在入手
斐讯N1:不推荐。这个老将出产时间太久了,硬盘也不够用
其他(玩客云、移动魔百盒):要么硬盘太小、要么cpu性能差、要么内存不足
3 刷机
- 每个盒子都有自己的刷机方式,一般商家会给一些资料
- 本身这种盒子,大多数都可以刷OpwnWRT、Linux等,因为我们是linux论坛,就展示Linux!!
3.1 事前准备
提前准备:
- 黑豹x2的盒子 1个
- USB公对公线 1条
- 下载地址:刷机资料
- 虽然刷机资料有很多东西,但是我们只在 rk3566-armbian\刷ArmBian\刷机方式\线刷 这个目录即可,其他的我也没实测,不保证其他情况
3.2 选择系统
这里我们选择ophub/amlogic-s9xxx-armbian这个项目
-
打开该地址 → 刷机包的下载地址:Releases · ophub/amlogic-s9xxx-armbian
-
因为ArmBian系统基于Debian系开发,所以此时选择自己喜好的debian系
名称 | 对应Linux版本 |
---|---|
bullseye | Debian 11 |
bookworm | Debian 12 |
jammy | Ubuntu 22.04 |
lunar | Ubuntu 23.04 |
noble | Ubuntu 24.04 |
例如:我想要debian12,它对应名称为bookworm
- 打开该地址 → 刷机包的下载地址:Releases · ophub/amlogic-s9xxx-armbian
- 选择标签为
Armbian_bookworm_save_2024.03
,打开它的Assets
列表 - 按键盘Ctrl + F,搜索"panther-x2",下载名称为"Armbian_24.5.0_rockchip_panther-x2_bookworm_6.1.79_server_2024.03.01.img.gz"即可
3.3 开始刷机(恢复系统也是该步骤)
按照: 刷机资料 的 rk3566-armbian\刷ArmBian\刷机方式\线刷\Rockchip(rk3566)装置的通用刷机指南v2.pdf 文档操作即可
4 进入系统
因为黑豹x2没有hdmi,所以只能使用ssh连接。但是怎么知道地址呢??
- 黑豹x2,开机
- 黑豹x2,插入网线到路由器
- 登录 路由器 的后台,查看名称为armbian的设备的ip地址
- ssh连接该地址即可
系统的中文文档:amlogic-s9xxx-armbian/README.cn
-
账号root
-
密码1234
5 搞机
5.1 初始设置
5.1.1 更换软件源
# 备份原软件源
cp /etc/apt/sources.list{,.bak}
# 修改为国内镜像源
sed -i "s@http://\(deb\|security\).debian.org@https://mirrors.aliyun.com@g" /etc/apt/sources.list
# 更新软件源
apt-get update
# 安装常用软件
apt-get install -y vim unzip wget curl git
5.1.2 安装Docker
参考:Install Docker Engine on Debian
方式一:一键脚本
curl -s https://get.docker.com/ | sudo sh
方式二:手动
# 1. 软件包以允许使用 基于 HTTPS 的存储库
apt-get install ca-certificates curl gnupg
# 2. 添加 Docker 的官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 3. 使用以下命令设置存储库
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 4. 安装 Docker Engine、containerd 和 Docker Compose
# 刷新步骤3👆设置的存储库中的软件到本地索引中
apt-get update
# 安装Docker
sudo apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin
# 5. 开机启动
systemctl enable docker
# 6. 开机Docker
systemctl start docker
- 配置Docker
# 编辑Docker配置文件
vim /etc/docker/daemon.json
粘贴如下配置
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn"
],
"log-level": "warn",
"log-driver":"json-file",
"log-opts": {"max-size":"10m", "max-file":"1"}
}
- registry-mirrors:镜像源加速
- 日志配置
- log-level:日志等级
- max-size:意味着一个容器日志大小上限是10M
- max-file:意味着一个容器有1个日志,分别是id+.json
应用配置生效,重启Docker
systemctl daemon-reload
systemctl restart docker
5.1.2.1 管理Docker-Portainer
- 安装
mkdir -p ~/docker-data/portainer
docker run -d \
-p 9000:9000 \
-p 9443:9443 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/docker-data/portainer:/data \
portainer/portainer-ce:latest
- 使用
- web 网页:http://ip:9000 (ip 为盒子主机的地址)
- 账号、密码
- 用户名:admin
- 设置新密码: # 密码位数要大于 8 位
5.2 玩法
5.2.1 代理
5.2.1.1 OpenWRT旁路由
方式一:Docker
- 查看当前网卡名称
- 例如显示eth0、eth33等等
ip addr
-
开启网卡混杂模式
-
临时开启
ip link set eth0 promisc on
-
永久开启-开机脚本
mkdir -p ~/docker-data/openwrt # 新建脚本 cat >~/docker-data/openwrt/open-network-promisc.sh <<EOF #!/bin/bash sudo ip link set eth0 promisc on EOF # 给执行权限 chmod +x ./open-network-promisc.sh # 创建服务 cat >/usr/lib/systemd/system/onp.service <<EOF [Unit] Description=开启网卡的混杂模式 After=network.target [Service] Type=simple User=root Group=root ExecStart=/root/docker-data/openwrt/open-network-promisc.sh Restart=always [Install] WantedBy=multi-user.target graphical.target EOF # 安装服务 systemctl daemon-reload systemctl enable onp systemctl start onp systemctl status onp
-
-
创建docker网络
# 需要修改的信息 docker network create \ -d macvlan \ --subnet=当前局域网的子网段/24 \ # 👈 --gateway=当前局域网的网关地址 \ # 👈 -o parent=eth0 自定义docker网络的名称 # 👈
# 例如,我的局域网地址是192.168.2.0/24,我将填入如下信息 docker network create \ -d macvlan \ --subnet=192.168.2.0/24 \ --gateway=192.168.2.1 \ -o parent=eth0 macnet
-
创建、启动openwrt
docker rm -f openwrt docker run -d \ --restart=unless-stopped \ -e TZ=Asia/Shanghai \ --name openwrt \ --network macnet \ --privileged \ registry.cn-shanghai.aliyuncs.com/suling/openwrt:armv8 /sbin/init
-
修改openwrt的网络配置
# 进入容器 docker exec -it openwrt bash # 修改网络配置 vim /etc/config/network
-
原版配置如下
config interface 'lan' option type 'bridge' option ifname 'eth0' option proto 'static' option ipaddr '192.168.123.100' option netmask '255.255.255.0' option ip6assign '60' option gateway '192.168.123.1' option broadcast '192.168.123.255' option dns '192.168.123.1'
-
修改如下
# 需要修改的信息 config interface 'lan' option type 'bridge' option ifname 'eth0' option proto 'static' option ipaddr '自定义局域网内的openwrt地址' # 👈 option netmask '255.255.255.0' option ip6assign '60' option gateway '局域网网关地址' # 👈 option broadcast '局域网广播地址' # 👈 option dns 'dns地址' # 👈
# 例如,我的局域网地址是192.168.2.0/24,我将填入如下信息 config interface 'lan' option type 'bridge' option ifname 'eth0' option proto 'static' option ipaddr '192.168.2.100' option netmask '255.255.255.0' option ip6assign '60' option gateway '192.168.2.1' option broadcast '192.168.2.255' option dns '192.168.2.1'
-
-
重启网络
/etc/init.d/network restart # 查看容器中的Docker能联网 ping www.baidu.com
-
进入控制面板,配置OpenWRT
- 输入步骤5手动配置的 openwrt 网址,例如 http://192.168.2.100
- 用户名:root
- 密码:password
- 关闭 DHCP 服务
- 在 “网络 - 接口 - Lan - 修改” 界面中,勾选下方的 “忽略此接口(不在此接口提供 DHCP 服务)”,并“保存&应用”。
- 输入步骤5手动配置的 openwrt 网址,例如 http://192.168.2.100
配置完毕,OpenWRT启动!
【可选】全局旁路由
- 主路由 DHCP 设置:将
网关、DNS
设置为步骤6的openwrt的网络地址 - 将连接主路由的电子设备,断开连接,重新连接主路由(让旁路由生效)
【可选】指定设备走旁路由
- 不要开启全局旁路由,将指定设备的网络配置:网关、 DNS。指定为OpenWRT的地址 192.168.2.100
方式二:将盒子刷为OpenWRT系统
参考:ophub/amlogic-s9xxx-openwrt
5.2.1.2 clash.meta
方式一:Docker
前提:自行准备yaml配置文件
默认配置目录为 /etc/.clash.meta.d ,可通过环境变量 CLASH_META_CONFIG_DIRECTORY 修改。
docker run --name clash-meta -d \
--restart=unless-stopped \
-p 7890:7890/tcp \
-p 7890:7890/udp \
-p 9090:9090 \
-v $(pwd):/etc/.clash.meta.d \
yikyo/clash.meta
方式二:可执行文件
5.2.1.3 v2rayA
文档:介绍 - v2rayA
端口代理
docker run -d \
--name v2raya \
-p 2017:2017 \
-p 20170-20172:20170-20172 \
-e V2RAYA_ADDRESS=0.0.0.0:2017 \
-v ~/docker-data/v2raya:/etc/v2raya \
--restart=always \
--privileged \
mzz2017/v2raya
访问:http://ip:2017 (ip 为盒子主机的地址)
5.2.1.4 proxychians
项目地址:GitHub - rofl0r/proxychains-ng
-
源代码安装
git clone https://github.com/rofl0r/proxychains-ng.git apt-get install gcc cd proxychains-ng ./configure --prefix=/usr --sysconfdir=/etc make make install make install-config cd .. && rm -rf proxychains-ng which proxychains4
生成的文件
/usr/lib/libproxychains4.so /usr/bin/proxychains4 /usr/bin/proxychains4-daemon # 配置文件 /etc/proxychains.conf
-
ProxyChain配置使用
- 提前准备好一个可用的
socks
或http
代理。例如刚才的clash、v2ray - 安装后默认配置文件在
/etc/proxychains.conf
或/etc/proxychains4.conf
,通过vi或nano编辑该文件,拉到最下面填入自己的代理信息,如果没设置用户密码认证则省略,添加后保存退出。
[ProxyList] # add proxy here ... # meanwile # defaults set to "tor" #socks4 127.0.0.1 9050 ##注释掉或者直接删掉默认的本地代理 http 连接IP地址 连接端口 用户名 密码 ```
- 提前准备好一个可用的
-
这时候通过在安装命令前加上proxychains4就可以使用了,比如
proxychains4 curl cip.cc
我们可以看到IP已经变成代理的IP。proxychains4 curl cip.cc
-
但proxychains4太长不好记忆,可以通过alias给它设置了一个别名 pc 。
命令行输入: vi /etc/profile 编辑文件,在最后面添加如下内容
alias pc=proxychains4 source /etc/profile pc curl cip.cc
【可选:未测试】全局代理
也可以命令行直接输入
proxychains4 bash
这样就能新建一个具有全局代理功能的新终端,不需要在每条命令前都加proxychains了,输入exit退出终端。
5.2.2 nas
5.2.2.1 samba
docker rm -f samba
docker run -it \
-e TZ=Asia/Shanghai \
--name samba \
--restart=always \
--user 0 \
-p 139:139 \
-p 445:445 \
-m 512m `防止内存泄漏` \
-v ~/disk:/mount `👈指定挂载目录` \
-d dperson/samba \
-w "WORKGROUP" \
-u "root;root" \
-s "shared;/mount;yes;no;no;root;root;root"
参数说明:shared;/mount;yes;no;no;all;none
分别是
- shared:共享文件夹的路径名称
- /mount:共享在samba容器中的路径(/mount)
- yes:共享名称对所有工作组用户可见
- no:不是只读(也就是说可写)
- no:不允许guest用户
- 允许的用户:all 或者用户列表","间隔
- 指定共享的超级用户:none 或用户列表
- 指定具有写权限的用户:不能写all,可以写用户列表
挂载磁盘:\\ip\shared
(ip 为盒子主机的地址)
5.2.2.2 下载器QBittorrent
mkdir -p ~/docker-data/qbittorrent
docker rm -f qb
docker run -d \
--name qb \
--restart unless-stopped \
--memory 1g \
--memory-swap 2g \
-e TZ=Asia/Shanghai \
-e PUID=0 \
-e PGID=0 \
-e WEBUI_PORT=8080 \
-p 8080:8080 \
-p 36880:6881 \
-p 36880:6881/udp \
-v ~/docker-data/qbittorrent:/config \
-v ~/docker-data/downloads/qbittorrent:/downloads \
lscr.io/linuxserver/qbittorrent:arm64v8-4.4.5
5.2.2.3 挂载白给的64g内存卡
方式一:手动挂载
-
查看磁盘中的sd卡
# 找到大小为59.4g左右的,sd卡 fdisk -l
-
挂载sd卡
# 创建目录 mkdir -p ~/sdcard # 挂载sd卡 sudo mount /dev/mmcblk0p1 ~/sdcard
方式二:开机自动挂载
- 查看sd卡的UUID
-
记录下 uuid,例如 5036cf2b-1c9c-4f8c-aa48-af52b9bd38c7 这样一串
blkid | grep mmcblk0p1 | grep v
-
配置开机自动挂载
vim /etc/fstab
在末尾添加如下面东西
# UUID=sd卡的uuid 挂载的路径 ext4 defaults,nofail,noatime,nodiratime,x-systemd.device-timeout=9 0 1 # 我的sd卡,如下 UUID=5036cf2b-1c9c-4f8c-aa48-af52b9bd38c7 /root/sdcard ext4 defaults,nofail,noatime,nodiratime,x-systemd.device-timeout=9 0 1
-
验证挂载是否正确,无输出为正确
mount -a
-
重启开机查看是否挂载成功
reboot # 查看开机挂载是否成功 lsblk
5.2.2.4 webdav
- 创建配置文件
mkdir ~/docker-data/webdav-go
cd ~/docker-data/webdav-go
vim config.yaml
- 填入如下信息,然后
:wq!
保存
# 监听任意网卡,多网卡可指定对应ip
address: 0.0.0.0
port: 8081
auth: true
prefix: /
modify: true
rules: []
# 用户信息,如果 auth 为 true 生效
users:
- username: admin
password: password
# 配置自己的 webdav 访问范围,此例为 容器的/data 内所有文件
scope: /data
- 启动webdav
docker run -d \
--name webdav-go \
--restart unless-stopped \
-p 8081:8081 `这里才是实际的端口`\
-v ~/docker-data/webdav:/data `挂载的目录`\
-v $(pwd)/config.yaml:/config/config.yaml \
hacdias/webdav:latest --config /config/config.yaml
使用winscp可以登录测试该webdav
5.2.3 kms激活
- 启动kms服务
docker run -d -p 1688:1688 --restart=always --name kms mikolatero/vlmcsd
-
激活
-
KMS安装密钥
-
安装密钥
slmgr /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
-
设置KMS服务器IP
slmgr /skms 192.168.2.100
-
立即激活Windows
slmgr /ato
-
查看激活的详细信息
slmgr /dlv
默认情况下,会激活 180天,然后每 10080 分钟自动续期一次(只要KMS服务器可用)
-
5.3 其他玩法
省电
按需使用
关闭wifi、蓝牙(节省1w功耗):Linux 命令行关闭无线WiFi_linux 关闭wifi
CasaOS
- casaOS就一个可视化docker管理器
- 项目:IceWhaleTech/CasaOS: CasaOS - A simple, easy-to-use, elegant open-source Personal Cloud system.
- 官方一键脚本:
curl -fsSL https://get.casaos.io | sudo bash
istoreOS
OP套皮
运维:Open IP-KVM
核心:
- 显示器接口 + 视频采集卡
- USB接口 + Arduino Leonardo(模拟 HID:单片机键鼠模拟)
参考:
- DIY 一个运维神器 Open IP-KVM - 知乎
- 解锁N1新玩法,生产力工具,BIOS级别远程管理Open IP-KVM-斐讯无线路由器以及其它斐迅网络设备-恩山无线论坛 - Powered by Discuz!
- N1盒子安装PiKVM 远程控制 平替IPMI_哔哩哔哩_bilibili
服务监控uptime kuma
文档
mkdir -p ~/docker-data/uptime-kuma
docker stop uptime-kuma
docker rm uptime-kuma
docker run -d \
--name uptime-kuma \
--restart=always \
-p 3001:3001 \
-v ~/docker-data/uptime-kuma:/app/data \
-v /var/run/docker.sock:/var/run/docker.sock \
louislam/uptime-kuma:1
http://ip:3001 (ip为盒子主机的地址)
智能家居HomeAssistant
-
前置
- Github账号
- 完成5.2.1代理 其中的一个
-
Docker安装HA
-
官方文档:树莓派 - Home Assistant
mkdir -p ~/docker-data/homeassistant/config cd ~/docker-data/homeassistant/config docker rm -f homeassistant docker run -d \ --name homeassistant \ --privileged \ --restart=unless-stopped \ -e TZ=Asia/Shanghai \ -e "DISABLE_JEMALLOC=true" \ -e http_proxy="http://192.168.2.3:7890" `代理的ip和端口,视你的情况而定`\ -e https_proxy="http://192.168.2.3:7890" `代理的ip和端口,视你的情况而定`\ -e ALL_PROXY="http://192.168.2.3:7890" `代理的ip和端口,视你的情况而定`\ -v $(pwd):/config \ --network=host \ ghcr.io/home-assistant/home-assistant:stable
-
-
进入网址http://ip:8123 (ip 为盒子主机的地址),进行初始化
-
安装HACS
-
脚本安装
# 进入容器 docker exec -it homeassistant bash # 一键安装 wget -O - https://hacs.vip/get | bash -
-
手动安装
-
进入HA配置目录
cd ~/docker-data/homeassistant/config
-
在配置目录,新建
custom_components
目录 -
把步骤1下载的hacs.zip解压到该目录
# 目录结构 armbian:/config/custom_components/hacs# ls -l total 160 -rw-r--r-- 1 root root 9361 Jul 26 23:19 __init__.py -rw-r--r-- 1 root root 45325 Jul 26 23:19 base.py -rw-r--r-- 1 root root 7237 Jul 26 23:19 config_flow.py -rw-r--r-- 1 root root 3507 Jul 26 23:19 const.py -rw-r--r-- 1 root root 1963 Jul 26 23:19 data_client.py -rw-r--r-- 1 root root 2762 Jul 26 23:19 diagnostics.py -rw-r--r-- 1 root root 3559 Jul 26 23:19 entity.py -rw-r--r-- 1 root root 2160 Jul 26 23:19 enums.py -rw-r--r-- 1 root root 1363 Jul 26 23:19 exceptions.py -rw-r--r-- 1 root root 2640 Jul 26 23:19 frontend.py drwxr-xr-x 3 root root 4096 Jul 26 23:19 hacs_frontend drwxr-xr-x 3 root root 12288 Jul 26 23:19 hacs_frontend_experimental -rw-r--r-- 1 root root 3842 Jul 26 23:19 iconset.js -rw-r--r-- 1 root root 533 Jul 26 23:19 manifest.json -rw-r--r-- 1 root root 1765 Jul 26 23:19 repairs.py drwxr-xr-x 2 root root 4096 Jul 26 23:19 repositories -rw-r--r-- 1 root root 1949 Jul 26 23:19 sensor.py -rw-r--r-- 1 root root 1842 Jul 26 23:19 system_health.py drwxr-xr-x 2 root root 4096 Jul 26 23:19 translations -rw-r--r-- 1 root root 5724 Jul 26 23:19 update.py drwxr-xr-x 2 root root 4096 Jul 26 23:19 utils drwxr-xr-x 2 root root 4096 Jul 26 23:19 validate drwxr-xr-x 2 root root 4096 Jul 26 23:19 websocket
-
安装Xiaomi Miot Auto
- 安装完毕HACS,点击==侧边栏 → HACS==
- 搜索:Xiaomi Miot Auto,安装
- 配置Xiaomi Miot Auto
- 配置 > 设备与服务 > 集成 > 添加集成 > 搜索 Xiaomi Miot Auto
- 重启HA
安装美的Midea AC LAN
同上
酷夏来袭,HA让您的美的空调更智能:小米小爱苹果Siri语音、远程、局域网皆可控_智能家居_什么值得买
- 苹果homekit同步HA的设备
AdGuardHome
可以在Docker-OpenWRT中安装、使用
私人同步网盘
Syncthing
文档:
mkdir -p ~/docker-data/syncthing
docker rm -f syncthing
docker run -d \
--name=syncthing \
--restart=unless-stopped \
--network=host \
-e PUID=0 \
-e PGID=0 \
-e TZ=Asia/Shanghai \
-p 8384:8384 \
-p 8443:8443 \
-p 22000:22000/tcp \
-p 22000:22000/udp `路由器,端口映射出去`\
-p 21027:21027/udp \
-v ~/docker-data/syncthing/config:/config \
-v ~/docker-data/data:/data \
syncthing/syncthing:latest
network_mode: host 这里开启性能优化(Docker 的默认网络模式会阻止发现本地 IP 地址,因为 Syncthing 只能看到 172.17.0.0/16 子网中容器的内部 IP。如果没有手动配置本地设备地址,这将导致传输速率低下。因此,建议使用主机网络模式),会导致该docker容器的端口设置失效
访问:http://ip:8384 (ip 为盒子主机的地址)
Resilio Sync
服务端
mkdir -p ~/docker-data/resilio-sync
cd ~/docker-data
docker rm -f resilio-sync
docker run -d \
--name resilio-sync \
--restart unless-stopped \
-e PUID=0 \
-e PGID=0 \
-e TZ=Asia/Shanghai \
-v $(pwd)/resilio-sync/config:/config \
-v $(pwd)/resilio-sync/downloads:/downloads \
-v $(pwd)/resilio-sync/sync-data:/sync \
-p 8888:8888 \
-p 55555:55555 \
lscr.io/linuxserver/resilio-sync:latest
访问:http://ip:8888 (ip 为盒子主机的地址)
微力同步
- 微力同步官网 - 私有云盘 企业文件同步 团队文件共享协助工具
- 官方Docker:jonnyan404/verysync
- 私人中继:中继服务 · GitBook
脚本qinglong
mkdir -p ~/docker-data/qinglong
docker rm -f qinglong
docker run -dit \
-v ~/docker-data/qinglong:/ql/data \
-p 5700:5700 \
-e TZ=Asia/Shanghai \
--name qinglong \
--restart unless-stopped \
whyour/qinglong
访问:http://ip:5700/ (ip 为盒子主机的地址)
新版青龙可以配置npm、pip的镜像加速,安装依赖应该问题不大
PCDN:网心云-容器魔方
容易宽带拉闸
docker run -d \
--name=wxedge \
--restart=always \
--privileged \
--net=host \
--tmpfs /run \
--tmpfs /tmp \
-v 磁盘路径:/storage:rw \
registry.hub.docker.com/onething1/wxedge
Alist
mkdir -p ~/docker-data/alist
cd ~/docker-data/alist
docker rm -f alist
docker run -d \
--restart=always \
--name="alist" \
-v $(pwd):/opt/alist/data \
-p 5244:5244 \
-e TZ="Asia/Shanghai" \
-e PUID=0 \
-e PGID=0 \
-e UMASK=022 \
xhofe/alist:latest
访问:http://ip:5244 (ip 为盒子主机的地址)
异地组网
因为我本人是家宽ipv4公网,使用白嫖的ddns二级域名。使用ZeroTier、Tailscale不太方便
SoftEther
服务端
docker run -d \
--cap-add NET_ADMIN `给Docker网络权限,该配置会覆盖-p的端口配置`\
-p 5555:5555/tcp \
-e SPW=123456 `服务端管理密码,需要下载服务端,管理软件`\
--name vpnconf \
siomiz/softethervpn
使用配置文件启动服务端
docker run -d \
--restart=always \
--name vpn \
-p 5555:5555/tcp \
-e SPW=Q3OcWsORYKhdjJZNqi \
-v ~/docker-data/SoftEther/vpn_server.config:/usr/vpnserver/vpn_server.config \
siomiz/softethervpn
客户端
docker run --rm -d \
--name=vpncli \
--privileged \
--net host \
-e TZ=Asia/Shanghai \
-v /etc/localtime:/etc/localtime:ro `同步主机的时间` \
-v /etc/timezone:/etc/timezone:ro `同步主机的时区` \
-e SE_SERVER=域名:5555 `vpn的地址、端口`\
-e SE_HUB=DEFAULT `需要连接的网桥名称`\
-e SE_USERNAME=zhangsan `用户名`\
-e SE_PASSWORD=123456 `密码`\
containinger/docker-softether-vpn-client:latest
N2N
这个用来联机打游戏是真爽
开启服务端
# 建立目录
mkdir -p ~/docker-data/n2n
cd ~/docker-data/n2n
# 防止服务器被白嫖
cat >./community.list <<EOF
#允许连接到supernode的组名称列表,一行一个,例如
suibian
EOF
# 开启服务端
docker run \
-d \
--restart=always \
--name=n2n-supernode \
-p 10090:10090/udp \
-e MODE="SUPERNODE" \
-e SUPERNODE_PORT=10090 \
-v ~/docker-data/n2n/community.list:/community.list \
-e N2N_ARGS="-c /community.list" \
zctmdc/n2n
开启客户端
docker rm -f n2n-edge
docker run -d \
--restart=always \
--name n2n-edge \
--privileged \
--net=host \
zctmdc/n2n:build-latest \
edge -d n2n-static -a 10.10.10.2 -c suibian -l 域名:10090 -Efr -e auto
6 使用感觉
用下来,我觉得armbian和debian差不多,当然用来jenkins的cicd那肯定不行,平时做一个小nas问题不大
以上Docker-cli命令都可以替换为Docker-compose