Repository navigation
Releases
v0.4.1
Torrents and streaming. Hurtle now downloads magnet links and .torrent files with its own BitTorrent client: pick which files you want, seed to a ratio, and play videos in VLC (or mpv and others) while they download, with seeking. The extension catches magnet clicks and .torrent downloads and shows the torrent's file list before you start. Hurtle registers itself as an app for magnet links and .torrent files, and Settings → Make default makes it the default. The app now shows its version (footer and Settings → About), and hurtle --version prints it.
Install
| System | Download | Then |
|---|---|---|
| Windows (x64) | hurtle-*-windows-x86_64-setup.exe |
Run it (per-user, no admin rights). hurtle-*-windows-x86_64.zip is the portable build |
| macOS (Apple Silicon) | hurtle-*-macos-aarch64.dmg |
Drag Hurtle.app to Applications, open it (the .zip works too) |
| macOS (Intel) | hurtle-*-macos-x86_64.dmg |
Same as above |
| Debian / Ubuntu (x64, arm64) | hurtle_*_amd64.deb / hurtle_*_arm64.deb |
sudo apt install ./hurtle_*.deb |
| Linux (x64) | hurtle-*-linux-x86_64.tar.gz |
Extract, run ./install.sh (or just ./hurtle) |
| Linux (arm64) | hurtle-*-linux-aarch64.tar.gz |
Same as above |
Or install from a terminal: curl -fsSL https://arafays.github.io/hurtle/install.sh | sh (Linux, macOS) or irm https://arafays.github.io/hurtle/install.ps1 | iex (Windows). Every download is checked against SHA256SUMS.txt.
Running Hurtle once registers it with Chrome, Chromium, Brave, Edge, Vivaldi and Firefox, so the extension can reach it. If you move the files, run hurtle-host --register again (and hurtle-host --unregister to remove it).
Browser extension
- Chrome / Brave / Edge: unzip
hurtle-chrome-*.zip, openchrome://extensions, turn on Developer mode, click Load unpacked, and pick the unzipped folder. - Firefox, Zen, LibreWolf: open
hurtle-firefox-<version>.xpi(signed by Mozilla) and confirm. Once installed, it updates itself about once a day;about:addons→ ⚙ → Check for Updates checks now. If you loaded it as a temporary add-on before, remove that first.
Video sites (YouTube etc.) and HLS/DASH streams use yt-dlp, ffmpeg and deno. Installed copies are used if you have them; otherwise Hurtle fetches them from their official releases the first time you save a video, checks their SHA-256 sums, and keeps yt-dlp up to date.
macOS: the app is not notarized. If macOS says it is damaged or can't be opened, run xattr -dr com.apple.quarantine /Applications/Hurtle.app.
Windows: builds are unsigned, so SmartScreen may say "Windows protected your PC". Choose More info, then Run anyway.
Windows and macOS: there is no tray icon yet, so closing the window quits Hurtle. It starts again on the next browser download.
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Torrents and streaming. Hurtle now downloads magnet links and .torrent files with its own BitTorrent client: pick which files you want, seed to a ratio, and play videos in VLC (or mpv and others) while they download, with seeking. The extension catches magnet clicks and .torrent downloads and shows the torrent's file list before you start. Hurtle registers itself as an app for magnet links and .torrent files, and Settings → Make default makes it the default. The app now shows its version (footer and Settings → About), and hurtle --version prints it.
Install
| System | Download | Then |
|---|---|---|
| Windows (x64) | hurtle-*-windows-x86_64-setup.exe |
Run it (per-user, no admin rights). hurtle-*-windows-x86_64.zip is the portable build |
| macOS (Apple Silicon) | hurtle-*-macos-aarch64.dmg |
Drag Hurtle.app to Applications, open it (the .zip works too) |
| macOS (Intel) | hurtle-*-macos-x86_64.dmg |
Same as above |
| Debian / Ubuntu (x64, arm64) | hurtle_*_amd64.deb / hurtle_*_arm64.deb |
sudo apt install ./hurtle_*.deb |
| Linux (x64) | hurtle-*-linux-x86_64.tar.gz |
Extract, run ./install.sh (or just ./hurtle) |
| Linux (arm64) | hurtle-*-linux-aarch64.tar.gz |
Same as above |
Or install from a terminal: curl -fsSL https://arafays.github.io/hurtle/install.sh | sh (Linux, macOS) or irm https://arafays.github.io/hurtle/install.ps1 | iex (Windows). Every download is checked against SHA256SUMS.txt.
Running Hurtle once registers it with Chrome, Chromium, Brave, Edge, Vivaldi and Firefox, so the extension can reach it. If you move the files, run hurtle-host --register again (and hurtle-host --unregister to remove it).
Browser extension
- Chrome / Brave / Edge: unzip
hurtle-chrome-*.zip, openchrome://extensions, turn on Developer mode, click Load unpacked, and pick the unzipped folder. - Firefox, Zen, LibreWolf: open
hurtle-firefox-<version>.xpi(signed by Mozilla) and confirm. Once installed, it updates itself about once a day;about:addons→ ⚙ → Check for Updates checks now. If you loaded it as a temporary add-on before, remove that first.
Video sites (YouTube etc.) and HLS/DASH streams use yt-dlp, ffmpeg and deno. Installed copies are used if you have them; otherwise Hurtle fetches them from their official releases the first time you save a video, checks their SHA-256 sums, and keeps yt-dlp up to date.
macOS: the app is not notarized. If macOS says it is damaged or can't be opened, run xattr -dr com.apple.quarantine /Applications/Hurtle.app.
Windows: builds are unsigned, so SmartScreen may say "Windows protected your PC". Choose More info, then Run anyway.
Windows and macOS: there is no tray icon yet, so closing the window quits Hurtle. It starts again on the next browser download.
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Installers, notifications and auto-retry. Hurtle now ships a per-user setup.exe for Windows, .dmgs for macOS, .debs for Debian/Ubuntu, and one-line install scripts. Finished and failed downloads raise a desktop notification, and failed downloads retry on their own (both can be turned off in the app or the extension popup). Downloads also survive more server quirks, and the list keeps working when one saved entry is corrupt.
Install
| System | Download | Then |
|---|---|---|
| Windows (x64) | hurtle-*-windows-x86_64-setup.exe |
Run it (per-user, no admin rights). hurtle-*-windows-x86_64.zip is the portable build |
| macOS (Apple Silicon) | hurtle-*-macos-aarch64.dmg |
Drag Hurtle.app to Applications, open it (the .zip works too) |
| macOS (Intel) | hurtle-*-macos-x86_64.dmg |
Same as above |
| Debian / Ubuntu (x64, arm64) | hurtle_*_amd64.deb / hurtle_*_arm64.deb |
sudo apt install ./hurtle_*.deb |
| Linux (x64) | hurtle-*-linux-x86_64.tar.gz |
Extract, run ./install.sh (or just ./hurtle) |
| Linux (arm64) | hurtle-*-linux-aarch64.tar.gz |
Same as above |
Or install from a terminal: curl -fsSL https://arafays.github.io/hurtle/install.sh | sh (Linux, macOS) or irm https://arafays.github.io/hurtle/install.ps1 | iex (Windows). Every download is checked against SHA256SUMS.txt.
Running Hurtle once registers it with Chrome, Chromium, Brave, Edge, Vivaldi and Firefox, so the extension can reach it. If you move the files, run hurtle-host --register again (and hurtle-host --unregister to remove it).
Browser extension
- Chrome / Brave / Edge: unzip
hurtle-chrome-*.zip, openchrome://extensions, turn on Developer mode, click Load unpacked, and pick the unzipped folder. - Firefox, Zen, LibreWolf: open
hurtle-firefox-<version>.xpi(signed by Mozilla) and confirm. Once installed, it updates itself about once a day;about:addons→ ⚙ → Check for Updates checks now. If you loaded it as a temporary add-on before, remove that first.
Video sites (YouTube etc.) and HLS/DASH streams use yt-dlp, ffmpeg and deno. Installed copies are used if you have them; otherwise Hurtle fetches them from their official releases the first time you save a video, checks their SHA-256 sums, and keeps yt-dlp up to date.
macOS: the app is not notarized. If macOS says it is damaged or can't be opened, run xattr -dr com.apple.quarantine /Applications/Hurtle.app.
Windows: builds are unsigned, so SmartScreen may say "Windows protected your PC". Choose More info, then Run anyway.
Windows and macOS: there is no tray icon yet, so closing the window quits Hurtle. It starts again on the next browser download.
Full Changelog: v0.2.2...v0.3.0
v0.2.1
Surge is now Hurtle. The app, binaries, data folder and browser add-on all have the new name. Your downloads list and settings move over on first start. Firefox users: remove the old Surge add-on and install the Hurtle one from this release (it has a new add-on ID). Chrome-family users: reload the unpacked extension from the new zip.
Install
| System | Download | Then |
|---|---|---|
| Windows (x64) | hurtle-*-windows-x86_64.zip |
Unzip anywhere, run hurtle.exe |
| macOS (Apple Silicon) | hurtle-*-macos-aarch64.zip |
Unzip, move Hurtle.app to Applications, open it |
| macOS (Intel) | hurtle-*-macos-x86_64.zip |
Same as above |
| Linux (x64) | hurtle-*-linux-x86_64.tar.gz |
Extract, run ./hurtle |
| Linux (arm64) | hurtle-*-linux-aarch64.tar.gz |
Extract, run ./hurtle |
Running Hurtle once registers it with Chrome, Chromium, Brave, Edge, Vivaldi and Firefox, so the extension can reach it. If you move the files, run hurtle-host --register again (and hurtle-host --unregister to remove it).
Browser extension
- Chrome / Brave / Edge: unzip
hurtle-chrome-*.zip, openchrome://extensions, turn on Developer mode, click Load unpacked, and pick the unzipped folder. - Firefox: open
hurtle-firefox-*.xpiif this release has one (signed). Otherwise useabout:debugging→ Load Temporary Add-on →manifest.jsonfromhurtle-firefox-*.zip. A temporary add-on is removed when Firefox restarts. - Zen / LibreWolf: set
xpinstall.signatures.requiredtofalseinabout:config, thenabout:addons→ ⚙ → Install Add-on From File… →hurtle-firefox-*-unsigned.xpi.
Video sites (YouTube etc.) and HLS/DASH streams use yt-dlp, ffmpeg and deno. Installed copies are used if you have them; otherwise Hurtle fetches them from their official releases the first time you save a video, checks their SHA-256 sums, and keeps yt-dlp up to date.
macOS: the app is not notarized. If macOS says it is damaged or can't be opened, run xattr -dr com.apple.quarantine /Applications/Hurtle.app.
Windows and macOS: there is no tray icon yet, so closing the window quits Hurtle. It starts again on the next browser download.
What's Changed
- Bump the actions group across 1 directory with 7 updates by @dependabot[bot] in #1
- Bump dirs from 6.0.0 to 7.0.0 by @dependabot[bot] in #2
New Contributors
- @dependabot[bot] made their first contribution in #1
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Surge is now Hurtle. The app, binaries, data folder and browser add-on all have the new name. Your downloads list and settings move over on first start. Firefox users: remove the old Surge add-on and install the Hurtle one from this release (it has a new add-on ID). Chrome-family users: reload the unpacked extension from the new zip.
Install
| System | Download | Then |
|---|---|---|
| Windows (x64) | hurtle-*-windows-x86_64.zip |
Unzip anywhere, run hurtle.exe |
| macOS (Apple Silicon) | hurtle-*-macos-aarch64.zip |
Unzip, move Hurtle.app to Applications, open it |
| macOS (Intel) | hurtle-*-macos-x86_64.zip |
Same as above |
| Linux (x64) | hurtle-*-linux-x86_64.tar.gz |
Extract, run ./hurtle |
| Linux (arm64) | hurtle-*-linux-aarch64.tar.gz |
Extract, run ./hurtle |
Running Hurtle once registers it with Chrome, Chromium, Brave, Edge, Vivaldi and Firefox, so the extension can reach it. If you move the files, run hurtle-host --register again (and hurtle-host --unregister to remove it).
Browser extension
- Chrome / Brave / Edge: unzip
hurtle-chrome-*.zip, openchrome://extensions, turn on Developer mode, click Load unpacked, and pick the unzipped folder. - Firefox: open
hurtle-firefox-*.xpiif this release has one (signed). Otherwise useabout:debugging→ Load Temporary Add-on →manifest.jsonfromhurtle-firefox-*.zip. A temporary add-on is removed when Firefox restarts. - Zen / LibreWolf: set
xpinstall.signatures.requiredtofalseinabout:config, thenabout:addons→ ⚙ → Install Add-on From File… →hurtle-firefox-*-unsigned.xpi.
Video sites (YouTube etc.) and HLS/DASH streams use yt-dlp, ffmpeg and deno. Installed copies are used if you have them; otherwise Hurtle fetches them from their official releases the first time you save a video, checks their SHA-256 sums, and keeps yt-dlp up to date.
macOS: the app is not notarized. If macOS says it is damaged or can't be opened, run xattr -dr com.apple.quarantine /Applications/Hurtle.app.
Windows and macOS: there is no tray icon yet, so closing the window quits Hurtle. It starts again on the next browser download.
Full Changelog: v0.1.1...v0.2.0
v0.1.1
Install
| System | Download | Then |
|---|---|---|
| Windows (x64) | surge-*-windows-x86_64.zip |
Unzip anywhere, run surge.exe |
| macOS (Apple Silicon) | surge-*-macos-aarch64.zip |
Unzip, move Surge.app to Applications, open it |
| macOS (Intel) | surge-*-macos-x86_64.zip |
Same as above |
| Linux (x64) | surge-*-linux-x86_64.tar.gz |
Extract, run ./surge |
| Linux (arm64) | surge-*-linux-aarch64.tar.gz |
Extract, run ./surge |
Running Surge once registers it with Chrome, Chromium, Brave, Edge, Vivaldi and Firefox, so the extension can reach it. If you move the files, run surge-host --register again (and surge-host --unregister to remove it).
Browser extension
- Chrome / Brave / Edge: unzip
surge-chrome-*.zip, openchrome://extensions, turn on Developer mode, click Load unpacked, and pick the unzipped folder. - Firefox: open
surge-firefox-*.xpiif this release has one (signed). Otherwise useabout:debugging→ Load Temporary Add-on →manifest.jsonfromsurge-firefox-*.zip. A temporary add-on is removed when Firefox restarts. - Zen / LibreWolf: set
xpinstall.signatures.requiredtofalseinabout:config, thenabout:addons→ ⚙ → Install Add-on From File… →surge-firefox-*-unsigned.xpi.
Video sites (YouTube etc.) and HLS/DASH streams need yt-dlp, ffmpeg and deno:
- Windows:
winget install yt-dlp.yt-dlp Gyan.FFmpeg DenoLand.Deno, or putyt-dlp.exenext tosurge.exe - macOS:
brew install yt-dlp ffmpeg deno - Linux: install them with your package manager
macOS: the app is not notarized. If macOS says it is damaged or can't be opened, run xattr -dr com.apple.quarantine /Applications/Surge.app.
Windows and macOS: there is no tray icon yet, so closing the window quits Surge. It starts again on the next browser download.
Full Changelog: v0.1.0...v0.1.1
v0.1.0
Install
| System | Download | Then |
|---|---|---|
| Windows (x64) | surge-*-windows-x86_64.zip |
Unzip anywhere, run surge.exe |
| macOS (Apple Silicon) | surge-*-macos-aarch64.zip |
Unzip, move Surge.app to Applications, open it |
| macOS (Intel) | surge-*-macos-x86_64.zip |
Same as above |
| Linux (x64) | surge-*-linux-x86_64.tar.gz |
Extract, run ./surge |
| Linux (arm64) | surge-*-linux-aarch64.tar.gz |
Extract, run ./surge |
Running Surge once registers it with Chrome, Chromium, Brave, Edge, Vivaldi and Firefox, so the extension can reach it. If you move the files, run surge-host --register again (and surge-host --unregister to remove it).
Browser extension
- Chrome / Brave / Edge: unzip
surge-chrome-*.zip, openchrome://extensions, turn on Developer mode, click Load unpacked, and pick the unzipped folder. - Firefox: open
surge-firefox-*.xpiif this release has one (signed). Otherwise useabout:debugging→ Load Temporary Add-on →manifest.jsonfromsurge-firefox-*.zip. A temporary add-on is removed when Firefox restarts. - Zen / LibreWolf: set
xpinstall.signatures.requiredtofalseinabout:config, thenabout:addons→ ⚙ → Install Add-on From File… →surge-firefox-*-unsigned.xpi.
Video sites (YouTube etc.) and HLS/DASH streams need yt-dlp, ffmpeg and deno:
- Windows:
winget install yt-dlp.yt-dlp Gyan.FFmpeg DenoLand.Deno, or putyt-dlp.exenext tosurge.exe - macOS:
brew install yt-dlp ffmpeg deno - Linux: install them with your package manager
macOS: the app is not notarized. If macOS says it is damaged or can't be opened, run xattr -dr com.apple.quarantine /Applications/Surge.app.
Windows and macOS: there is no tray icon yet, so closing the window quits Surge. It starts again on the next browser download.
Full Changelog: https://github.com/arafays/surge/commits/v0.1.0