DC的工作间 · 2024年11月20日 0

使用Linux代替Windows下载机

0.背景

目前的下载机用的是Windows 10,安装了坚果云、百度网盘、迅雷和qBitTorrent用于下载不同来源的资源。但是这台Windows虚拟机所需的资源(尤其是内存资源)越来越多,响应速度也越来越慢,加之Windows 10明年就将迎来EOL,于是下定决心准备将目前的下载机彻底迁移到Linux上。

先上小结:

  • 坚果云:提供Linux版应用程序,但启动后会立即卡死,没找到日志或对应问题的讨论,反正用的不多暂且作罢;后续考虑WINE使用Windows版应用程序
  • 百度云盘:提供Linux原生应用,与Windows版一致的使用体验,暂时没遇到任何问题
  • 迅雷极速版:仅有Windows版,但通过WINE基本能正常使用,存在一些不会彻底阻碍使用的问题
  • qBitTorrent:提供AppImage,暂时没遇到影响使用的问题
  • PeerBanHelper:搭配qBitTorrent使用,提供Linux原生版本,正常使用

1.系统选择和环境搭建

可能会出乎各位意料,但我这次没有选择一直使用的Ubuntu或Debian,而是使用了Linux Mint,理由无非三点:跟Windows相对接近,不用大幅改变下载习惯;默认关闭Snap,不用我自己操作;Cinnamon基于GNOME开发,从Ubuntu和Debian带来的习惯/常用应用这边照样可用。

可以剧透的是我给这台虚拟机只开了2CPU+2GB,而现在在其上运行的下载服务跟Windows下载机几乎完全相同——后者在2CPU+4GB情况下现在都很难流畅运行了。PVE上也没做特殊设置,一路默认创建的虚拟机。

2.安装和配置下载程序

2.1.坚果云

前面说过了,坚果云的Linux客户端一启动就卡死,连登入都做不到;更何况这玩意儿不登入的话每次桌面会话都很执着地自启动——然后马上卡死。没翻到日志啥的,也没查到相似问题的讨论,弄得糟心,看看Windows机器上的上次同步时间已是近两年前。似乎也不是啥常用软件,那就先卸载了,之后万一要用再说。

2.2.百度云盘

好久没关心,有Linux原生应用了,稍微有点意外。更意外的是安装后的使用体验跟Windows基本完全一致,尝试下载了点东西,没遇到任何问题,反而搞得我没东西写了。

2.3.迅雷极速版

使用的是上大学时候留下来的最后一版迅雷极速版安装包(1.0.35.366),在此之后迅雷就强推+强制升级到数字版了,极速版功能也开始受限,所以需要配置host文件屏蔽掉一些遥测,这些后面都会提到。

在安装WINE后,首先通过WINE启动安装程序,安装至“C盘”默认路径即可,经我确认安装过程不会出现异常。

安装程序会自动创建桌面快捷方式,WINE会将其自动转换为通过WINE启动的快捷方式,同样的也会在菜单栏添加相应项目。此时启动会遇到中文字体显示为方框的问题,退出迅雷并通过winetricks安装cjkfonts后即可解决。

接下来在hosts中添加以下条目,屏蔽掉针对老版本的遥测:

127.0.0.1       hub5btmain.sandai.net
127.0.0.1       hub5emu.sandai.net
127.0.0.1       upgrade.xl9.xunlei.com

随后在迅雷极速版中即可正常使用迅雷网络解析磁力链接和加速死链下载,也不会出现下载时“任务出错”了。

我在用于存储的磁盘上创建了WINE的D盘挂载点,迅雷可以正常将文件下载至“D盘”,也能从Linux原生文件系统读取torrent文件。

使用中主要遇到以下问题,但不会阻碍下载功能使用:

  • 悬浮窗功能不能正常使用,建议直接关掉
  • 焦点在迅雷窗口时,其会始终在最前,点击Linux系统原生窗口也不会切换焦点
  • 屏幕左上角一块区域会时不时被“截屏”,这一块玩意儿会作为WINE迅雷的一个窗口始终悬浮在最前挡住左上角区域,但通过任务栏关掉不影响后续使用
  • 新建下载任务时保存路径中的中文字符会挤成一坨,但通过下拉菜单等能正常浏览
  • 设置(包括设置窗口、下载限速等)的输入框响应非常迟缓,给我感觉像是keystroke register有很大概率失败,即便输入成功也不一定会马上回显,总之配下载限速TMD搞了半天,不过也就麻烦这一回,耐心点耐心点

除此之外意外的没遇到影响主要功能的问题,感叹于WINE确实比上大学那会儿能用多了。

2.4.qBitTorrent

使用AppImage,无需安装。由于在Windows上已经做过不少配置了,于是想把配置直接迁移过来,大致分为两部分:

  • 配置:将%APPDATA%\qBittorrent下所有内容拷贝至~/.config/qBittorrent/,注意需要将.ini文件后缀改成.conf,内容不需要改动,但建议把日志保存位置等含Windows路径的条目手动修改后再启动程序
  • 日志及已下载内容:将%LOCALAPPDATA%\qBittorrent下所有内容拷贝至~/.local/share/qBittorrent/

更详细的说明可以参考官方Wiki

说白了,AppImage也算原生吧,所以没啥问题,但不知为何类似日志保存路径等只能配置在AppImage所在目录下,可能是所有限制?暂时懒得深究了,能把下载文件保存至存储盘——也就是其它目录即可。

2.5.PeerBanHelper

项目地址在这里,考虑到国内PCDN泛滥导致P2P下载环境受其影响不断恶化,使用类似程序ban掉恶意刷下载的PCDN参与者已经是必要手段了。我这次使用deb包安装,需要前置手动安装Java;安装后PBH会拉取黑名单和地理信息库,会有点慢所以耐心等等,当服务启动后即可在WebUI进行配置和管理了。

没啥好说的,唯一值得一提的可能是“WebUI打不开就去看日志,可能是地理信息库还没下载完,程序没完成启动”,初次启动确实会比较慢,理解一下。

3.远程桌面及文件共享

XRDP搞得确实很麻烦,所以图省事我就用VNC了,能共享剪贴板中的文本就行了,因为用下载机下东西时也就需要往里拷贝下载链接。网上教程很多,我配置的很挫,就不在这献丑了。

文件共享的话用的SFTP,理由无非“足够快足够方便”和“懒得弄samba”。仔细想想也是,把下载机简化为黑箱的话,期望达成的目的无非是“丢一条下载链接给它,等下载完成后把文件拷出来”,这样一想也确实没必要跟RDP和SMB做捆绑,解脱出来反而轻量化了许多。

由于现在下载主力是靠qBitTorrent,在其他机器上通过WebUI能完成大部分操作,所以真正远程到下载机本体的情况也不多;但用到迅雷和百度网盘时还是没办法,好在VNC也足够方便了。

4.小结

虽然从结果来看,这次迁移只为PVE主机节省了2GB内存,而且下载流程也需要进行一些变动,但流畅度比此前的Windows下载机高了许多,也不用担心挂机过程中Windows更新了——一想到Windows 10 EOL后也没更新可更,还是觉得难绷。

国产软件对Linux的原生支持确实比我想象中要更多,虽然这次没安装使用,但看到QQ和微信这种躲不掉的软件也已经有Linux原生版本了,且大多不限制特定某个distro安装使用。迅雷虽然没有原生版,但通过WINE运行意外的不错。或许Windows 10 EOL后我会再次考虑在我的笔记本上安装Linux日常使用。

想想上次这样折腾Linux桌面发行版还是大学时在ThinkPad上安装的Ubuntu 18.04,除了IM、打游戏和写&交需要Office的作业外我还坚持用了近一个学期(Windows的部分由我的游戏本负责)。当时搞搞J2EE课程作业、做做非专业课的PPT还是够用的,但缺乏常用的国产软件确实导致没法在一台仅安装有Linux的电脑上完成工作相关的所有内容。希望能在Windows 10寿终正寝之时能把我私用的工作笔记本迁移到Linux上——也许更可能和更简单的是换台MacBook。