V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yunnysunny
V2EX  ›  程序员

批量下载 sourceforge 的小工具

  •  
  •   yunnysunny · 1 天前 · 943 次点击

    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
    

    它会将包下载到缓存目录中,然后直接运行命令。

    2 条回复    2025-09-10 10:35:04 +08:00
    nenosyyan
        1
    nenosyyan  
       1 天前
    star 了~
    yunnysunny
        2
    yunnysunny  
    OP
       1 天前
    @nenosyyan 谢谢
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3157 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:00 · PVG 19:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.