更新
从
novnc换成了xpra,个人感觉更快了,剪切板支持也更好了支持环境变量
XPRA_PASSWORD更换密码镜像:
springhack/nas_xunlei_docker:latest支持latest其他的部分没区别
背景
说白了还是存在一些应用场景,某些资源还是需要迅雷
现存方案
docker + xware:基本凉透了- 虚拟机跑
windows:太卡太慢太吃硬件 - 玩物下载:威联通没有官方下载(查了下,其实
AppCenter里有下载,官网没有,不知道是不是因为我自己添加qnapclub的原因),并且还有著名的偷跑流量硬盘事件;最重要的是,我特喵的试了下登陆不上(一开始我是想用它来搞个docker限制后台流量和io的) - 迅雷自己的
nas套件:邀请阶段,而且没有威联通 wine:说白了不太想用这个,控制欲比较强,我会对每个程序的每个进程做的事知根知底,这样基本等于裸跑迅雷,兼容性也是个问题docker + lxde + nvc + novnc + baidudisk + neteasemusic + xunlei:镜像太大,搜到的原文是这个:bilibili
我的方案
- 先调查下上述方案 5 跑的到底是个什么玩意,所以我就拉他的
docker镜像,但是我本地都是在虚拟机里测试,硬盘没分够,又懒得重启改硬盘大小,Orz… - 突然想起了前段时间公司的产品适配
UOS系统,我冥冥之中感觉他用的就是这个版本的迅雷,搜了一下图,果然是,那就开搞 - 我一开始想装个
USO虚拟机,提取他的源地址,但是我发现根本不用这么麻烦,Arch AUR里有人已经帮我做了这件事,我就直接拿来主义了(反正只是为了一个地址写Dockerfile文件嘛):Xunlei Bin - 为了不把镜像搞得特别大,所以我决定从
ubuntu:20.04开始搞起,基本思路就是安装以下几个基础组件:tightvncserver + novnc + icewm + com.xunlei.download - 这里说说坑:一个是
UOS的包不是适配到其他系统的deb只是借了个格式,而且还有一些很恶心的依赖,这里我的解决方法是弄个假的deepin-elf-verify包,只是为了过dpkg的依赖检查;另外就是electron(迅雷是基于它的不是)本身的依赖没有写进来,所以我在Dockerfile里写好了安装依赖的命令 - 废话不多说,上地址,截止本文最新版本的迅雷是
1.0.0.2,代码写的比较偷懒(复制了好多其他人的步骤):springhack/nas_xunlei_docker
使用方法
- 灰常简单,你需要注意的只有两个地方:挂载的目录和端口,懂得都懂,不设置你就没法用了,命令:
docker run \
--name xunlei \
-v /shares/Public/Downloads:/root/downloads \
-p 1234:6080 \
springhack/nas_xunlei_docker:1.0.0.2
建议国内用户配个
docker registry-mirrors不然会很慢打开浏览器,输入
http://{你的IP}:1234,开始下载吧(/root/downloads)
存在缺点
- 镜像体积还是很大,因为装了很多和
GUI相关的东西以及依赖,后续看看能不能精简吧 - 装了个
icewm,无奈之举,一开始我是不带icewm跑的,能跑,但是窗口不能移动和焦点/菜单/选择目录等各种问题让我放弃了 - 剪切板不是那么完美,主要归咎于
novnc,其实可以做到完美,后续我看看能不能出个优化方案(TODO +1) - 启动稍慢(我
sleep 5让他慢点启),不过满足了我用的时候再开启的愿望,防止他后台偷偷做事情 - 提示硬盘空间不足(
0MB),不过不影响使用
重要信息
- 默认密码:
sksks,vnc不能设置短密码,所以我写了个工具放在/root/vncpwd,可以设置任意长度密码
开拓思路
其实这个
Dockerfile简单改改(依赖/下载地址/启动路径),就可以跑起UOS里其他的软件,可以作为基础镜像用来移植其他软件不仅是
UOS软件,其他linux软件也可以直接改改用,就看你硬件吃不吃得消了(这里推荐一下我司的飞书,支持UOS,可以随时随地云办公了lol)
屏幕截图
我就简单放几个我的
nas实机截图吧

