Skip to content

About

⚡ High-speed GoFile desktop downloader with multi-threaded Goroutines, folder crawling, batch link export, and modern UI built with Golang & Wails v2.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

🚀 GoFile Downloader (Golang Desktop Edition)

Modern, high-speed native Desktop application for downloading files and folders from GoFile, built with Golang and Wails v2.


🌟 Features

  • ⚡ Goroutines Multi-Worker Pool: High-speed parallel file downloading with automatic connection management and bandwidth saturation.
  • 🌐 Multi-Language (i18n): Instant switcher between English (EN) and Tiếng Việt (VI) in the top navigation bar.
  • 📂 Native Windows Integration: Native folder picker dialog (runtime.OpenDirectoryDialog) and 1-click "Open Explorer" button upon completion.
  • 🔍 Recursive Folder Crawler & Inspector: Automatically parses subfolders, albums, and single files, displaying file names, icons, and formatted file sizes.
  • 📋 Batch Link Export: Copy all direct download links to clipboard or export a .txt list for third-party download accelerators (IDM, FDM, Aria2, JDownloader).
  • 📊 Real-time Live Dashboard: Displays overall percentage, real-time speed (MB/s), countdown ETA, active worker progress bars, and live Go runtime console logs.
  • 🔒 Password-Protected Content: Full support for password-protected GoFile folders and albums.
  • 🪶 Ultra Lightweight: Standalone portable executable (~9.8 MB), minimal RAM consumption (~30MB - 50MB), no runtime installation required.

📦 Downloads & Releases

Pre-compiled standalone Windows executables are available on the GitHub Releases page:

👉 Download Latest Release (Windows x64)

  • GoFileDownloader-Windows-x64.exe (Portable executable — just double click and run!)
  • GoFileDownloader-Windows-x64.zip

🛠️ Development & Building from Source

Prerequisites:

  • Go (version 1.21 or higher, recommended 1.23+)
  • Node.js (version 18 or higher) & npm
  • Wails v2 CLI:
    go install github.com/wailsapp/wails/v2/cmd/wails@latest

Run in Development Mode (Live Hot-Reload):

wails dev

Build Production Standalone Executable:

wails build

The compiled .exe will be located in: build/bin/GoFileDownloader.exe.


🏗️ Project Architecture

GoFileDownloader/
├── .github/workflows/
│   └── release.yml          # GitHub Actions CI/CD automated release builder
├── app.go                   # Wails App Controller & Windows Native API bindings
├── main.go                  # Window configuration & Wails application entry point
├── wails.json               # Wails v2 project configuration
├── go.mod & go.sum          # Go module definitions
├── pkg/
│   └── gofile/
│       ├── client.go        # GoFile API client, authentication & tree crawler
│       ├── downloader.go    # Goroutines worker pool & speed/ETA engine
│       ├── types.go         # Shared data structs & models
│       └── client_test.go   # Automated unit tests
├── frontend/                # Desktop UI (Vite + Tailwind CSS + Lucide Icons)
│   ├── src/
│   │   ├── i18n.js          # Multi-language dictionary (English / Vietnamese)
│   │   ├── main.js          # Frontend event handlers & Wails bindings
│   │   └── style.css        # Tailwind CSS styles
│   └── index.html           # Desktop dashboard UI layout
└── build/                   # Application icons & Windows manifest resources

📄 License

This project is open source and available under the GPL-3.0 License.

About

⚡ High-speed GoFile desktop downloader with multi-threaded Goroutines, folder crawling, batch link export, and modern UI built with Golang & Wails v2.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages