批量下载 sourceforge 的小工具
sourceforge 作为一个老牌代码托管网站,现在依然有很多开源软件将其作为下载站。前些天,想折腾 pinn 这个树莓派多操作系统安装工具,其系统镜像就是托管在 sourceforge 上的。由于项目中涉及的文件比较多,如果整体达成一个下载压缩包的话个头太大,所以这这将其放置在文件列表中,供给大家选择进行下载。还有就是 pinn 这个工具是可以指定描述文件来远程下载镜像来完成安装的,所以提供一个完整包意义也不大。
sourceforge 目前在国内访问是没有问题的,但是下载速度却是龟速,考虑到每个镜像文件都比较大,即使你有科学上网工具,一般带宽都不会很大。使用 cloudflare zero trust 可能是一个更好的解决方案,我测试能有接近 5OMbps 的下行带宽。但是树莓派这种操作系统没法直接用 cloudflare zero trust ,所以我想的是在电脑上下载镜像,拷贝到 SD 卡中进行安装。但是考虑到文件列表比较多,一个个手动点击下载又太费劲了,找了一下网上关于 sourceforge 批量下载的工具,也没有找到,于是决定自己手写一个。
目前项目已经托管到 github 上了: https://github.com/whyun-pages/sf-down 。开发语言用到 nodejs ,所以你需要安装 node 运行时。然后通过 npm i sf-down -g
安装到全局目录(注意需要将全局目录添加到环境变量 PATH
中),然后运行
sf-down --project nodebook-code --paths /chapter2 /chapter3 --dir ./downloads --concurrency 5 --timeout 15000
来将项目 nodebook-code
中的 /chapter2
/chapter3
两个目录中的文件下载到当前运行目录下的 downloads 子文件夹中。
或者你不安装直接运行如下命令:
npx sf-down --project nodebook-code --paths /chapter2 /chapter3 --dir ./downloads --concurrency 5 --timeout 15000
它会将包下载到缓存目录中,然后直接运行命令。