macOS · Swift · SwiftUI · Apple Silicon

Tot el camp

Today's match. Picked, found, played.

A native macOS app that lists today's football fixtures, finds an Acestream broadcast for the one you pick, and plays it inline. The Acestream engine runs inside a bundled Linux VM (Virtualization.framework + Rosetta-for-Linux). The player is VLCKit, embedded. Tor fallback baked in for ISPs that block stream catalogues. Nothing else to install.

Tot el camp app icon — a scoreboard tile in Barça colours

Apple Silicon · macOS 14+ · Notarized Developer ID

What it does

Today's fixtures from football-data.org. Pick one. App finds the stream and plays it inline. Nothing else to install.

📅

Today's fixtures, listed

Pulls today's matches from football-data.org across the free-tier competitions (La Liga, Premier League, Bundesliga, Serie A, Ligue 1, Champions League). Live scores auto-refresh in place.

📺

Bundled Acestream engine

The Acestream engine runs inside a tiny Alpine Linux VM via Virtualization.framework + Rosetta-for-Linux. No standalone engine install, no port juggling, no manual setup.

▶️

VLCKit player, embedded

Playback happens inside the app — full VLCKit decoder, native fullscreen, no handoff to a second player. Pick a match, hit a stream, watch.

🧅

Tor fallback, bundled

Stream catalogue blocked by your ISP? The app ships its own tor binary and falls back automatically. No VPN, no Tor Browser, no DNS hacks.

📦

Self-contained, notarized

Drag TotElCamp.app into Applications and you're done. Signed + notarized + stapled with Apple Developer ID — Gatekeeper accepts it on first launch without prompts.

🦴

Native, no junk

Pure SwiftUI + AppKit. No Electron, no Chromium, no Node runtime. File → Export Logs… bundles diagnostics for triage in one click.

How it works

Four steps. One window.

01

Pick a fixture

Today's matches load from football-data.org. You tap one — live matches are flagged with a pulsing mustard dot.

02

Find a stream

The app queries search-ace.stream for an Acestream broadcast of that fixture. Direct first; if your ISP blocks it, the bundled Tor falls back automatically.

03

Boot the engine

The bundled Linux VM (booted at app launch via Virtualization.framework) resolves the acestream:// ID into an HTTP stream URL on :6878.

04

Play, in-app

VLCKit opens the HTTP stream in a dedicated playback window. Native fullscreen with ⌃⌘F; close with ⌘W.

Built with

Native macOS stack, no Electron, no JavaScript runtime.

Language

Swift 5.9 SwiftUI AppKit

Platform

macOS 14+ Apple Silicon XcodeGen

Engine + Player

Virtualization.framework Rosetta-for-Linux Acestream engine VLCKit

Data + Network

football-data.org search-ace.stream Tor (bundled) SOCKS5

Download

macOS 14+ on Apple Silicon. Grab the .dmg, drag TotElCamp.app into Applications, launch.

First launch: the DMG is signed with Apple Developer ID and notarized — Gatekeeper accepts it without prompts.

One-time prerequisite: the bundled Acestream engine is x86_64 and runs through Rosetta inside the Linux VM, so install Rosetta for Linux once via Terminal:
softwareupdate --install-rosetta --agree-to-license