I’ve been working on a desktop utility called Ripper, a Python + CustomTkinter app that downloads video and audio from supported sites (starting with YouTube). The app itself has been a bit rough to build and maintain — but distributing it has been the annoying part.
GitHub won’t host my repository, let alone the EXE, due to there size and I don’t want to rely on sketchy file hosts or temporary mirrors. So I finally figured out a temporary setup that’s stable and easy for users to follow.
This post explains the distribution workflow and why I’m using it.
Why I’m Using this Approach
The EXE and source code are too large to push to GitHub, even when the ffmpeg EXE is zipped, and one of my main goals is that I don’t want the user to have to hassle with getting ffmpeg. So, I set up a public Google Drive folder where users can get the zipped EXE file and use the app right away. But I want to emphasize that there’s nothing malicious.
- Google Drive Hosts the EXE
Google Drive ended up being the simplest reliable host. It gives me:
A clean public link
No ads
No expiration
No weird redirects
Instant updates when I replace the file
Here’s the current download link:
Download Ripper (Google Drive)https://drive.google.com/file/d/1w6rMgCAcSEteAssXIGJmYHrtyPHY99tC/view
This is the only official download source.
- GitHub Pages Hosts Everything Else
Since GitHub Pages can host static content, I built a simple project page that contains:
https://codebunny20.github.io/
The official download link
Feature list
Tech stack
Build instructions
Planned features
Version notes
Development updates
This page is now the “home base” for Ripper. Any time I push a new version, I update the Google Drive file and update the GitHub Pages site with the new version info.
It keeps everything centralized without relying on GitHub Releases.
Why This Setup Works Better
It’s not fancy — but it’s reliable.
I can update the EXE instantly
I can update the GitHub Pages site just as fast
Users always have one clean, official place to check for updates
I avoid hosting restrictions
I keep full control over distribution
For a small utility app, reliability matters more than anything else.
Current Status
Ripper is currently at v1.0.3 (as of 8/22/26). The GitHub Pages site is where I’ll be posting all future updates, dev logs, and release notes.
The app already supports:
MP4 downloads
MP3 downloads
MP3 extraction from local MP4 files
Live progress
Custom save folder
Bundled ffmpeg
And I have a long list of planned improvements — more formats, more sites, better UI polish, batch downloads, metadata editing, and more.
Closing
This distribution workflow gives me a clean, dependable way to share the app without fighting hosting limitations. If you’re building a small desktop tool and don’t want to deal with GitHub Releases, this setup might be worth copying.
I’ll keep posting updates on the GitHub Pages site as development continues.