Skip to content

meponderR/HyperionDownloader

Repository files navigation

Hyperion Downloader

Latest Release GitHub GitHub Nightly Status GitHub Nightly (Android) Status GitHub Nightly (iOS) Status GitHub Workflow Status GitHub All Releases GitHub Issues GitHub Pull Requests

Hyperion Downloader is a lightweight multithreaded downloader built with Wails. It currently supports Windows, macOS, Linux, iOS, and Android.

Hyperion Downloader Logo

Download

You can download the latest release from the Releases page. iOS builds are available on TestFlight. Android builds will eventually be available on Google Play. They are currently available as a release on GitHub.

Features

  • Multithreaded downloading
  • Pause and resume downloads
  • Cookies, user agent, referrer, authorization header support

Known Issues

  • Some servers may not support range requests, which is not fully handled yet. Regardless, the downloader would not be able to download any faster from these servers as it would download the same as a browser would.

Resuming Downloads

If you want to resume a download, add the same URL again and it will resume the download.

Building from Source

Desktop

Prerequisites:

  1. Clone wails v3:
git clone --depth 1 https://github.com/wailsapp/wails.git
  1. Clone the repository:
git clone https://github.com/meponderR/HyperionDownloader.git
cd HyperionDownloader
  1. Run wails3 build:
wails3 build

iOS

Prerequisites:

  1. Clone my fork of Wails, merge with upstream, and install:
git clone https://github.com/meponderR/wails.git
cd wails
git remote add upstream https://github.com/wailsapp/wails.git
git fetch upstream
git merge upstream/main
cd v3/cmd/wails3
go install
cd ../../../..
  1. Clone the repository:
git clone https://github.com/meponderR/HyperionDownloader.git
cd HyperionDownloader
  1. Open the iOS project in Xcode:
open build/ios/xcode/main.xcodeproj
  1. In Xcode, select your development team and allow it to configure signing.
  2. Build and run the project on your device or simulator.

Android

Building on Windows

Prerequisites:

  1. Install the required Android SDK components:
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0" "ndk;26.3.11579264"
  1. Clone wails v3:
git clone --depth 1 https://github.com/wailsapp/wails.git
  1. Clone the repository:
git clone https://github.com/meponderR/HyperionDownloader.git
cd HyperionDownloader
  1. Ensure that the JAVA_HOME, ANDROID_HOME, and ANDROID_NDK_HOME environment variables are set correctly. For example:
setx JAVA_HOME "C:\Program Files\Eclipse Adoptium\jdk-21"
setx ANDROID_HOME "C:\Users\YourUsername\AppData\Local\Android\Sdk"
setx ANDROID_NDK_HOME "C:\Users\YourUsername\AppData\Local\Android\Sdk\ndk\26.3.11579264"
  1. Run .\build\android\buildAndroid.ps1 to build the Android APK:
.\build\android\buildAndroid.ps1 -BuildType "production" #can be "production" or "debug"
  1. Output APKs will be located in the build\android\app\build\outputs\apk\release\ or build\android\app\build\outputs\apk\debug\ directories.

Building on Linux or macOS

Prerequisites:

  1. Install the required Android SDK components:
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0" "ndk;26.3.11579264"
  1. Clone wails v3:
git clone --depth 1 https://github.com/wailsapp/wails.git
  1. Clone the repository:
git clone https://github.com/meponderR/HyperionDownloader.git
cd HyperionDownloader
  1. Ensure that the JAVA_HOME, CC, CXX, CGO_ENABLED environment variables are set correctly. For example:
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
export CC=$ANDROID_HOME/ndk/26.3.11579264/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang
export CXX=$ANDROID_HOME/ndk/26.3.11579264/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang++
export CGO_ENABLED=1
wails3 task android:package:fat
  1. Output APKs will be located in the build/android/app/build/outputs/apk/release/ directory.

License

This project is licensed under the ISC License. See the LICENSE file for details

Acknowledgements

Donations

If you find this project useful and would like to support its development, you can donate via the following methods:

  • "Buy Me A Coffee"
  • Cryptocurrency:
    • Bitcoin (Mainnet): bc1qyneg42agd8qv3qnm22w7cnclj8s4s8mtj9crsy
    • Ethereum-Based: 0x9E21F92BDC48f791B8a4f259c09c9573f22D04cD
    • Monero: 45PeDfaWjLcDdYQ8SE1jvVJHDU6gwhzQQB6zoMvwsSDTMWaVWZbjKHxdE9rGDNVYd9Wpw4E7MQaqs32DyXMwXc3XL4dywJB

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors