🚀 NVIDIA Driver Downloader

Fast & Reliable Linux Driver Download Tool

About

A Go-based command-line tool for downloading NVIDIA Linux drivers with advanced features to avoid 403 errors and ensure reliable downloads.

Features

✅ Browser Simulation Simulates real browser headers to prevent 403 Forbidden errors
✅ Streaming Download Memory-efficient streaming for large file downloads
✅ Progress Tracking Real-time download progress display
✅ Auto Management Automatic directory creation and file existence checks
✅ Cross-Platform Available for both Linux and Windows
✅ Large File Support Optimized for downloading 200-300MB driver files

Usage

Basic Usage

# Use default URL and output directory
./nvidia-downloader

# Specify custom URL and output directory
./nvidia-downloader -url "https://cn.download.nvidia.com/XFree86/Linux-x86_64/595.58.03/NVIDIA-Linux-x86_64-595.58.03.run" -output "./"

Run Without Compilation

# Use default parameters
go run main.go

# Specify custom parameters
go run main.go -url "YOUR_URL" -output "YOUR_OUTPUT_DIR"

Command Line Options

-url      Download URL (default: pre-configured NVIDIA driver URL)
-output  Output directory (default: ./models/nvidia_drivers)
-h       Show help message

Build from Source

# Requirements: Go 1.21 or higher

# Clone the repository
git clone https://github.com/your-username/simple-downloader.git
cd simple-downloader

# Build
go build -o nvidia-downloader

# Run
./nvidia-downloader

How It Works

The downloader uses several techniques to ensure successful downloads:

  • User-Agent: Simulates Chrome browser to prevent blocking
  • Referer Header: Sets proper referrer to NVIDIA's download page
  • Accept Headers: Mimics browser content negotiation
  • Sec-Fetch Headers: Modern browser security fetch simulation
  • Streaming: Uses io.CopyBuffer for chunked downloads

GitHub Actions

This project uses automated CI/CD:

  • Automatic builds on tag push (v* format)
  • Manual trigger option from Actions tab
  • Cross-platform builds (Linux & Windows)
  • Automated release creation with assets

Troubleshooting

403 Forbidden Errors

  • Verify the download URL is correct
  • Check your network connection
  • Try updating the User-Agent string in the code

Slow Download Speed

  • Check your network connection
  • Try using a closer mirror server
  • Check for network restrictions

Insufficient Disk Space

Ensure you have at least 500MB of free disk space (driver files typically require 200-300MB).