V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yunnysunny
V2EX  ›  程序员

批量下载 sourceforge 的小工具

  •  
  •   yunnysunny · Sep 9, 2025 · 2214 views
    This topic created in 233 days ago, the information mentioned may be changed or developed.

    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 replies    2025-09-10 10:35:04 +08:00
    nenosyyan
        1
    nenosyyan  
       Sep 9, 2025
    star 了~
    yunnysunny
        2
    yunnysunny  
    OP
       Sep 10, 2025
    @nenosyyan 谢谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2559 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:42 · PVG 20:42 · LAX 05:42 · JFK 08:42
    ♥ Do have faith in what you're doing.