前言
有时候需要下载百度网盘上的资料,但是百度网盘下载速度非常慢,又不想一直开着电脑挂着百度云盘费电。可以试着将百度网盘客户端下载到树莓派上。目前百度网盘的官网下载页面虽然有提供Linux版的安装包,但是没有提供arm架构的安装包。
不过,通过搜索发现百度其实有提供arm的安装包,通过链接 https://issuepcdn.baidupcs.com/issue/netdisk/LinuxGuanjia/${版本号}/baidunetdisk_${版本号}_arm64.deb 就能得到,但是有时候amd64的版本arm64不一定有。目前我测试到最新的arm版本号是4.14.6。
总结起来,现在有下面这几个问题:
- 只有rpm和deb包,其他linux系统比如archlinux和openwrt安装就无从下手。
- 需要有桌面环境,没有桌面环境就无法使用。
- 版本维护麻烦。
怎么样才能够在各种Linux发行版上运行,不依赖桌面环境。那就是使用docker,将百度网盘安装docker容器里。再借助docker-baseimage-gui 项目,这样就可以通过浏览器或任何VNC客户端访问百度网盘的GUI。
总之,最后我整理了一下把项目放到github了,项目地址:
用法
可以通过docker或者docker-compose来部署,使用前确保你安装了docker或者docker-compose。
docker 部署
docker run -d \
--name baidunetdisk-vnc \
-p 5800:5800 \
-p 5900:5900 \
-v /配置文件位置:/config \
-v /下载位置:/config/baidunetdiskdownload \
--restart unless-stopped \
emuqi/baidunetdisk-arm64-vnc:latest
其中需要修改的是/配置文件位置:/config
和/下载位置:/config/baidunetdiskdownload
,冒号前的路径修改为你希望储存位置(比如将下载文件存放到你树莓派上挂载的硬盘上)。
修改5800:5800
冒号前的数字可以修改通过浏览器访问的端口号,修改5900:5900
冒号前的数字可以修改VNC的端口号。
如果希望用密码限制访问,在-p 5900:5900 \
后加上-e VNC_PASSWORD=password \
,等号后面写你要设置的密码。如果你只在你的家的内部网络环境使用,可以不设置密码,但是如果你将端口暴露到外网,那么强烈建议你设置密码以防止隐私泄露。
执行完成后,可以在浏览器中访问noVNC端口,例如http://localhost:5800
,网页打开后等待加载就行,使用方法和正常客户端一致,确保下载位置为baidunetdiskdownload
。也通过VNC客户端来访问vnc://localhost:5900
。
注意:如果百度网盘弹出升级提示,请忽略,点击升级按钮并不会执行程序升级而且新版本不一定有适配arm。可以将截图版本号提交到issue,我会根据适配情况维护升级。
常用docker命令:
docker stop baidunetdisk-vnc # 启动容器
docker stop baidunetdisk-vnc # 停止容器
docker rm baidunetdisk-vnc # 删除容器
docker image rm johngong/baidunetdisk:latest #删除镜像
docker-compose 部署
# 创建文件夹用于存放docker-compose配置文件
mkdir baidunetdisk-vnc
# 进入 baidunetdisk-vnc 文件夹
cd baidunetdisk-vnc
# 下载docker-compose配置文件
wget https://raw.githubusercontent.com/eMUQI/baidunetdisk-arm64-vnc/main/docker-compose.yml
# 根据需要修改docker-compose配置文件
nano docker-compose.yml
# 以后台形式运行
docker-compose up -d
你可能希望修改docker-compose.yml
里配置存放的位置${PWD}/bdnetdisk-config:/config
和下载文件的位置${PWD}/downloads:/config/baidunetdiskdownload
。修改冒号前的部分。
修改5800:5800
冒号前的数字可以修改通过浏览器访问的端口号,修改5900:5900
冒号前的数字可以修改VNC的端口号。
如果希望用密码限制访问,在- GROUP_ID=1000
后加上- VNC_PASSWORD=password
,等号后面写你要设置的密码。如果你只在你的家的内部网络环境使用,可以不设置密码,但是如果你将端口暴露到外网,那么强烈建议你设置密码以防止隐私泄露。
执行完成后,可以在浏览器中访问noVNC端口,例如http://localhost:5800
,网页打开后等待加载就行,使用方法和正常客户端一致,确保下载位置为baidunetdiskdownload
。也通过VNC客户端来访问vnc://localhost:5900
。
注意:如果百度网盘弹出升级提示,请忽略,点击升级按钮并不会执行程序升级而且新版本不一定有适配arm。可以将截图版本号提交到issue,我会根据适配情况维护升级。
常用docker-compose命令:
docker-compose up -d # 以后台形式运行
docker-compose stop # 停止
docker-compose down # 停止并删除
配置
参数 | 说明 |
---|---|
--name=baidunetdisk |
容器名 |
-p 5800:5800 |
Web界面访问端口 |
-p 5900:5900 |
VNC协议访问端口。如果未使用VNC客户端,则为可选 |
-v /配置文件位置:/config |
baidunetdisk配置文件位置 |
-v /下载位置:/config/baidunetdiskdownload |
baidunetdisk下载路径 |
-e VNC_PASSWORD=VNC密码 |
VNC密码,默认为无 |
-e USER_ID=1000 |
uid设置,默认为1000 |
-e GROUP_ID=1000 |
gid设置,默认为1000 |
-e NOVNC_LANGUAGE="zh_Hans" |
(zh_Hans|en)设定novnc语言,默认为中文 |