FileCentipede:集HTTP/BT/FTP/WebDAV/SSH于一体的开源下载管理器
平时下载文件,不同协议要装不同客户端:HTTP用IDM,BT用qBittorrent,FTP开FileZilla,WebDAV还要另外找工具。FileCentipede把这些全部整合到一个软件里,省去了反复切换的麻烦。
协议覆盖
FileCentipede支持的传输协议包括HTTP/HTTPS、FTP/FTPS、BitTorrent(磁力链接和种子文件均可)、WebDAV、SSH/SFTP。国内常用的迅雷、快车、QQ旋风专用链接也认,还支持JSON格式的批量任务导入。
m3u8流媒体下载功能内置了AES-128解密,可以直接下载加密的流媒体视频,不需要额外解密工具。任务层面支持多连接并行下载、断点续传,每个任务可以单独设置上传和下载限速,随时调整配置而不用重建任务。Torrent做种时可以设置上传比率限制,Tracker列表可以自定义管理,过期的下载地址也支持一键刷新。
上传功能同样完整:支持上传单个文件、上传整个目录、从远程服务器下载整个目录。WebDAV、FTP、SSH这三种协议都配备了全功能文件管理器,能在软件窗口内直接浏览远程目录、拖拽操作文件。文件浏览器带有持久化缓存,再次打开同一个远程目录时加载速度明显更快。
浏览器扩展
配套扩展支持Chrome和Firefox,核心用途是从网页上抓取媒体资源。视频和音频能被自动识别并下载,加密视频也可以处理。扩展还能扫描当前页面上的所有磁力链接,或者按自定义规则筛选可下载的文件类型。
扩展内置了资源浏览器,可以按图片、脚本、样式表等类别分类查看网页资源,方便定位具体要下载的文件。还可以通过自定义面板,手动添加特定类型的文件链接进行批量下载。视频预览功能支持下载前先确认内容,避免下错文件。
内置工具
软件附带了一组常用工具,省去额外安装的步骤:翻译工具支持多语种互译;HTTP请求器可以构造自定义请求并查看完整响应;URI编解码、Base64编解码、正则表达式测试器属于日常开发辅助。文件处理类有Torrent种子制作、种子与磁力链接互转、文件合并、校验和计算。任务过滤器支持按规则筛选下载内容,站点规则可以为不同域名配置各自策略,代理管理也集成在整体设置中。
技术实现
项目用C++写成,底层依赖Boost、Qt和libtorrent。UI部分使用自研的.sml格式来描述界面布局,作者的观点是C++写UI的效率和表现力可以超过HTML/JavaScript。需要指出的是,README中说明源代码仅供演示参考,项目依赖的部分第三方库并未开源。
本地化与社区
软件界面、网站、浏览器扩展三部分均支持多语言。目前已覆盖俄语、繁体中文、法语、韩语、越南语、土耳其语、德语、日语、波兰语、波斯语等十余种语言,全部由社区贡献者协作翻译完成。软件内部直接提供了翻译工具,用户可以在工具界面里参与翻译贡献。
项目在GitHub上获得超过1万Star,仍在保持更新。对于日常需要同时处理多种协议下载任务的用户来说,这个工具减少了在不同客户端之间反复切换的成本。