Skip to content

Repository files navigation

MaroHub

A game discovery hub for Linux: browse, filter, and grab ready-to-run games via magnet links. No ads, no accounts, no tracking.

Next.js TypeScript Tailwind License


What it does

  • Browse the catalog: filter by genre, year, rating, or download size; search by name.
  • Magnet links: download directly with any torrent client (qBittorrent, Transmission, and so on).
  • Native + Wine/Proton badges: know at a glance whether a game runs natively or needs a compatibility layer.
  • Privacy by design: wishlist lives in your browser and never leaves it.

Getting started

Requirements

  • Node.js 22+ and pnpm 9+

Run locally

pnpm install
pnpm dev

Open http://localhost:3000.

Static export

The app is a fully static Next.js export (no servers or runtime fetch):

pnpm build   # writes the static site to out/

Deployment

GitHub Actions deploys the static export to GitHub Pages on every push to main (see .github/workflows/deploy.yml). The site lives at:

The build must be served from the /MaroHub base path. Set it for local previews of the export:

NEXT_PUBLIC_BASE_PATH=/MaroHub pnpm build && pnpm dlx serve out

Project structure

MaroHub/
├── app/                  # Next.js App Router routes (home, game detail, docs, download)
├── components/           # React components
├── lib/                  # Data layer, sanitizer, wishlist, formatting
├── types/                # TypeScript types
├── public/               # Static assets (icons)
├── data/                 # games.json catalog + backups/
├── CLI/                  # Maro CLI tool (maro script + build.sh)
├── DESIGN.md             # Design system and direction
├── next.config.mjs       # Next.js configuration (static export + base path)
├── .github/workflows/    # GitHub Pages deployment
└── package.json

Maro CLI

A terminal tool for the same catalog:

cd CLI
./maro help

See the Documentation page in the app (/docs) for the CLI reference, FAQ, and contributing guide.

Data & content

  • data/games.json is the catalog. Every game boots the app with its stats, genres, ratings, and magnet link.
  • backups/games.json.bak is the rollback snapshot:
cp backups/games.json.bak data/games.json

Design

The visual language, palette, and rules are documented in DESIGN.md.


Connect with the creator


MaroHub is built for the Linux community. No ads. No nonsense. Just games.

About

MaroHub is the ultimate game discovery and download platform made for Linux gamers and open-source fans.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Contributors

Languages