Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Vedinsoh/github-downloader

Open more actions menu

Repository files navigation

githubdl.com

The easiest way to download apps from GitHub. Paste a repo link, get the download.


How it works?

Simply add dl after github in any GitHub repo URL:
github.com/... becomes -> githubdl.com/...

Try me!
https://githubdl.com/Vedinsoh/github-downloader

Or...

Go to githubdl.com and paste any GitHub repo link (e.g. https://github.com/obsidianmd/obsidian). You'll land on a clean page with the right download for your OS surfaced first.

Direct shapes also work:

  • githubdl.com/{owner}/{repo} — latest releases
  • githubdl.com/{owner}/{repo}/v/{version} — a specific version
  • githubdl.com/{owner}/{repo}/v/latest — alias to the latest non-prerelease

What it does

  • Auto-detects your OS from the User-Agent and surfaces the matching download as the primary action.
  • Groups other-OS downloads in a collapsed section, so they're one click away.
  • Hides unnecessary files, surfaces only actual program files.
  • Beta toggle (?beta=show) for repos where the latest release is a pre-release.
  • Share-link previews: /{owner}/{repo} URLs unfurl with an Open Graph image on Discord, Slack, Twitter, etc.

How it's built

Server-rendered Next.js app deployed to Cloudflare Workers. Releases are pulled from the GitHub REST and GraphQL APIs, normalized into a small storage shape, and cached at three layers (a request-scope unstable_cache, a Cloudflare KV blob as the application source-of-truth, and OpenNext's R2 incremental cache). The asset classifier maps filenames to OS + architecture so the right download lands at the top.

Stack:

The architecture, caching contract, and explicit out-of-scope list live in CONTEXT.md.

Run it locally

pnpm install
cp .dev.vars.example .dev.vars   # fill in GITHUB_TOKEN
pnpm dev                         # plain Next.js (no Workers runtime)
pnpm dev:worker                  # full Workers runtime via Miniflare

pnpm dev is fastest for UI work. KV and the rate limiter no-op in this mode. Use pnpm dev:worker to exercise the Workers bindings end-to-end.

Other commands:

pnpm typecheck   # tsc --noEmit
pnpm lint        # eslint
pnpm test        # vitest run
pnpm build       # next build

Contributing

PRs are welcome. Please:

  1. Read CONTEXT.md first — it covers the architecture, the caching contract, and the deliberate out-of-scope list (no search bar, no accounts, no release notes rendering, etc.).
  2. Open an issue before larger changes so we can talk scope.
  3. Run pnpm typecheck && pnpm lint && pnpm test && pnpm build before pushing.

License

Source-available under the PolyForm Noncommercial License 1.0.0. Personal use, learning, hobby projects, and contributions back are unambiguously fine. Commercial use requires permission — see the linked license for details.


githubdl.com is not affiliated with or endorsed by GitHub, Inc. "GitHub" is a trademark of GitHub, Inc.

About

The easiest way to download apps from GitHub. Paste a repo link, get the download.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.