[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83804":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":9,"trendingCount":15,"starSnapshotCount":15,"syncStatus":13,"lastSyncTime":27,"discoverSource":28},83804,"harbor","harborstremio\u002Fharbor","harborstremio","A Custom Stremio Client Built for Adventure!",null,"TypeScript",194,9,2,42,0,54,142,241,93,"MIT License",false,"main",true,[],"2026-06-12 04:01:42","\u003Cdiv align=\"center\">\n\u003Ca name=\"readme-top\">\u003C\u002Fa>\n\n\u003Cpicture>\n  \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fharbor-wordmark-dark.svg\">\n  \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fharbor-wordmark-light.svg\">\n  \u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fharbor-wordmark-light.svg\" width=\"320\">\n\u003C\u002Fpicture>\n\n### A Stremio Client Built for Adventure!\n\n\nOffering things like a native player, a stream ranking engine, Wikidata, watch parties, PiP, DVR, Live TV, anime, a theme engine, and much more. Check out our website at www.harbor.site for an immersive experience.\n\n\u003Cbr\u002F>\n\n[![Version][badge-version]][releases] &nbsp;\n[![License][badge-license]][license] &nbsp;\n[![Tauri][badge-tauri]][tauri] &nbsp;\n[![React][badge-react]][react] &nbsp;\n[![Rust core][badge-rust]][rust] &nbsp;\n[![Platforms][badge-platforms]][releases]\n\n\u003Cbr\u002F>\n\n[Why Harbor](#why-harbor) &middot; [Features](#feature-tour) &middot; [Install](#install) &middot; [Configuration](#configuration) &middot; [Architecture](#architecture) &middot; [FAQ](#faq) &middot; [Contributing](#contributing)\n\n\u003C\u002Fdiv>\n\n\u003Cbr\u002F>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fhero.png\" width=\"900\">\n  \u003Cbr\u002F>\n  \u003Csub>Harbor on launch: a rotating hero, Continue Watching, and full width rails. Works on Cinemeta out of the box; richer with a free TMDB key.\u003C\u002Fsub>\n\u003C\u002Fp>\n\n\u003Cbr\u002F>\n\n> [!IMPORTANT]\n> Harbor is a media player and a client for the open Stremio addon protocol. It hosts, indexes, and ships no media, and it bundles no content addons. You bring your own addons and sources. See the [Disclaimer](#disclaimer).\n>Harbor is not for-profit and is a passion project, you are free to sell, re-use or profit off of it. All of your bugs, issues and feedbacks will be addressed promptly as long as scope permits. Please leave a Issue if you have feedback or a bug, so we can better address you. It is HIGHLY reccomended that you build your OWN Harbor from the latest source when available, as our bundled releases will not include windows\u002Fos certification\u002Fsig (it is a free project) so to avoid any popups we suggest building it yourself. We will try to push updates frequently but we are sometimes segmented by our timezones so it may take some time for your bugs to be rolled into the update endpoint and for us to test it! Thank you for trying it out and helping us make it a better project!\n\u003Cbr\u002F>\nATTENTION: HARBOR DOES NOT AND WILL NOT HAVE A DISCORD OR ASK YOU FOR DONATIONS! If someone claims to be us and asks you for donations or to join their discord, IT IS NOT US. Have an issue? Open it on github so you and everyone else can know and see exactly how we messed up, and how we will fix it!\n\u003Cbr\u002F>\n\u003Cbr\u002F>\n\u003Cdetails>\n\u003Csummary>\u003Ckbd>Table of contents\u003C\u002Fkbd>\u003C\u002Fsummary>\n\n\u003Cbr\u002F>\n\n- [Why Harbor](#why-harbor)\n- [Feature Tour](#feature-tour)\n  - [Rooms and views](#rooms-and-views)\n  - [The stream engine](#the-stream-engine)\n  - [The player](#the-player)\n  - [Casting](#casting)\n  - [Together: watch parties](#together-watch-parties)\n  - [Live TV and Multiview](#live-tv-and-multiview)\n  - [Anime](#anime)\n  - [Addons](#addons)\n  - [Themes and customization](#themes-and-customization)\n  - [Integrations](#integrations)\n  - [Quality of life extras](#quality-of-life-extras)\n- [Privacy](#privacy)\n- [Install](#install)\n- [Configuration](#configuration)\n- [Build from source](#build-from-source)\n- [Architecture](#architecture)\n- [Roadmap](#roadmap)\n- [FAQ](#faq)\n- [Contributing](#contributing)\n- [Disclaimer](#disclaimer)\n- [Acknowledgements](#acknowledgements)\n- [License](#license)\n\n\u003C\u002Fdetails>\n\n\u003Cbr\u002F>\n\n## Why Harbor\n\n**Harbor** is a self contained desktop client for the Stremio ecosystem. Out of the box it runs on Cinemeta. Add a free TMDB key and it blossoms into your ultimate companion for discovering and watching content. Harbor was built around the Stremio addon ecosystem with deep native integration of popular services and features into the UI. \n\n- **A native player.** libmpv decodes virtually any codec and container, with HDR passthrough, skip intro\u002Foutro, Anime4K upscaling shaders, and more. Delivering the same quality you are used to, but on a native custom player.\n- **Customize it your way.** Harbor is built in rust and tauri, allowing full on demand customization of the entire application. Harbor does not inject into stremio web, it is its own from scratch shell, layered over the stremio ecosystem, allowing you to go beyond the traditional themeing. Customize the player's UI, your fonts, seek bar, colors or the entire thing! \n- **Theme Studio & Editor** Noob friendly theme studio lets anyone create their own custom theme with no code. Those that want control over every file can use a built in code editor for your themes.\n- **Intelligent stream ranking.** A pure Rust engine (compiled to WASM, with a TypeScript fallback) that parses every stream, filters out scams and fakes, and ranks high quality sources first.\n- **Corpus Engine.** During the initial release of In-cinema movies, Harbor gates the results based on heuristic factors like file size, average quality consensus, year and metadata ranking and other factors to deliver you a cleaner experience during the period of a fresh release. Harbor will surface the most likely CAMS, TeleSyncs\u002FTelecines and other reasonable options without you needing to do anything.\n- **Go Deep.** Dive deep into your favorite shows, actors, genres and more. View lists of award recipients for the Oscars, BAFTA, Cannes, SAG, and more. Anime cast and award metadata, along with Episode\u002FSeason Deduplication and Merge. Your rows learn from your watch history and likes, to always suggest you your next best watch.\n- **Robust Appstore.** Harbor allows you to configure and install addons without leaving the desktop client by allowing you to natively install third party addons via a built in viewport. Easily manage your installed Addons and Browse for new ones in a bespoke experience that merges the Stremio Community addons API with the [Stremio-addons.net](https:\u002F\u002Fstremio-addons.net) API, giving you wide coverage and custom reccomendations.\n- **Stremio-addons.net Integration.** The first platform with direct community ratings, top trending, and manifest feed to the [Stremio-addons.net](https:\u002F\u002Fstremio-addons.net) API\n- **Watch together, on your own relay.** A synced watch party with live on screen cursors and drawing, on a relay that deploys to your own Cloudflare account in one click. No central server.\n- **Live TV and Multiview.** Bring M3U or Xtream playlists and get a real EPG grid guide, favorites, catchup, and up to four channels at once in a grid. Missed the show? play a rerun or record the next episode using built in DVR. Switch channels while in the live player at any time with the TV Guide\n- **Stream switcher** In player switcher allows you to hop streams if you get served a bad one without leaving the player and going through results again. Play next episodes with ease on the player UI controls or in a full \"Next Up\" sidebar. \n- **Casts across the room.** DLNA\u002FUPnP, Chromecast, AirPlay, and Roku via a bundled Rust cast server and a web cast receiver.\n- **Integrations.** Feature rich discord rich presence integration, webhooks for Discord and Telegram, Trakt Sync, and native integrations to TMDB, OMDB, Fanart.Tv, RPDB and more! Customize the  location and what badges are shown.\n- **And much more! (seriously this would be very long)** \n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## Feature Tour\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"33%\" valign=\"top\">\n\n**Browse and discover**\n\nTen primary rooms: Home, Discover, Movies, Shows, Anime, Live TV, Calendar, My Library, Addons, Settings. A taste scored Discover feed, a swipeable Discovery Queue, and a release Calendar that pulls from TMDB, your library, and Trakt.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\" valign=\"top\">\n\n**Play anything**\n\nNative libmpv with HDR passthrough, skip intro\u002Foutro, Anime4K shaders, custom subtitles , picture in picture, frame grab, A\u002FB loop, sleep timer, fully remappable hotkeys and more.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\" valign=\"top\">\n\n**Make it yours**\n\nEleven themes and seven font pairings, a live theme studio for every token, custom backgrounds and fonts, import\u002Fexport, and a theme library. Multiple profiles, parental PIN gates, 40+ regions, webhooks, and Telegram+Discord notifications.\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fdetail.png\" width=\"100%\">\u003Cbr\u002F>\n\u003Csub>\u003Cb>Detail page\u003C\u002Fb> &middot; ratings from IMDb, Rotten Tomatoes, and MAL, award laurels, cast and crew, episodes, and region aware Watch on chips.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fdiscover.png\" width=\"100%\">\u003Cbr\u002F>\n\u003Csub>\u003Cb>Discover\u003C\u002Fb> &middot; up to 14 rotating daily rails tuned by what you open, play, and save, plus a daily Critics Pick.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fplayer.png\" width=\"100%\">\u003Cbr\u002F>\n\u003Csub>\u003Cb>Player\u003C\u002Fb> &middot; native libmpv, trickplay seek previews, skip intro\u002Foutro, and a customizable seek bar.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Flive-tv.png\" width=\"100%\">\u003Cbr\u002F>\n\u003Csub>\u003Cb>Live TV\u003C\u002Fb> &middot; M3U and Xtream playlists rendered as a real EPG grid guide with favorites and catchup.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fmultiview.png\" width=\"100%\">\u003Cbr\u002F>\n\u003Csub>\u003Cb>Multiview\u003C\u002Fb> &middot; one, two, three, or 2x2 streams at once, with independent audio focus per tile.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Ftogether.jpg\" width=\"100%\">\u003Cbr\u002F>\n\u003Csub>\u003Cb>Together\u003C\u002Fb> &middot; synced playback, a live chat overlay, on screen cursors, and collaborative drawing.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd colspan=\"2\" align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fthemes.png\" width=\"80%\">\u003Cbr\u002F>\n\u003Csub>\u003Cb>Themes\u003C\u002Fb> &middot; eleven presets and a full visual studio. Colors, fonts, card and button shapes, backgrounds, and the entire nav layout.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr\u002F>\n\n### Rooms and views\n\nHarbor is organized into ten primary rooms, each with its own cinematic hero and curated rails, plus per title flows layered on top.\n\n| Room | What you get |\n|---|---|\n| **Home** | Rotating four slide hero with an image derived color halo &middot; Continue Watching (16:9 cards, polled while focused) &middot; Top 10 numerals row &middot; trending, theaters, popular, and per service rails &middot; Trakt recommendation rails &middot; a drag to reorder row customizer &middot; a Classic Stremio mode that renders raw addon catalogs |\n| **Discover** | A taste scored feed of up to 14 daily rails &middot; a cinematic featured banner that excludes what you have watched &middot; a genre tile grid &middot; a daily editorial Critics Pick &middot; a teaser into the swipeable Discovery Queue |\n| **Movies** | A CinemaHero banner &middot; Top 10 Today numerals &middot; 15+ paginating rails: trending, in theaters, mood rows, all time greats, hidden gems, quick watches under 90 minutes, decade rows, world cinema rows, documentaries |\n| **Shows** | A PeekHero banner &middot; Continue Watching for in progress series &middot; 18+ rails: on tonight, premiered this month, network rows (HBO, Apple TV+, AMC, FX and more), limited series, prestige drama, K-drama, British television |\n| **Anime** | An award winner first hero with a personalized Top Picks panel &middot; a genre \"tune picks\" filter &middot; Continue Watching scoped to Kitsu\u002FMAL &middot; 18 spec driven rails by era, genre, and ranking, with award badges on winners |\n| **Live TV** | M3U and Xtream playlists as a real EPG grid guide &middot; categories and favorites &middot; a channel picker &middot; top network rows by region &middot; catchup &middot; and Multiview (several channels at once) |\n| **Calendar** | A month grid across five sources (All\u002FTMDB, Library, Trakt watchlist, Trakt anticipated, Custom) &middot; filter pills with live counts &middot; a day modal with posters and synopses |\n| **My Library** | Watchlist, History, Local files, library repair, and a full Trakt library browser when connected |\n| **Addons** | Discover, Browse, and Installed tabs &middot; the [stremio-addons.net](https:\u002F\u002Fstremio-addons.net) community index &middot; add by URL &middot; configurable addon setup viewport &middot; addon detail pages with related and recommended &middot; an adult age gate |\n| **Settings** | Thirteen sections: account and profiles, library repair, Trakt, parental, relay, streaming keys, languages, player layout, hotkeys, bandwidth, themes, advanced, and onboarding replay |\n\nPer title flows add **Detail**, **Person**, **Award**, **Service**, and **Filter** views on top of the rooms above, each with full backdrops, clickable award laurels, drill down modals, and per key scroll memory.\n\n> [!NOTE]\n> Sports page will be rolled out in upcoming releases, Parental Controls being reworked (if you see parental controls stub itll be pruned we are gonna leave some temp stubs for parity sake (this note will be removed in upcoming releases)\n\n> [!TIP]\n> Scroll position is remembered per view, per title, per person, and per filter. Navigate back and you land exactly where you left off.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n### The stream engine\n\nWhen you press play, Harbor collects stream offers from every installed addon in parallel and runs them through a four stage pipeline. Inside the desktop app this runs in **harbor-core**, a pure Rust crate compiled to WASM and invoked from the UI, with a TypeScript fallback if it is ever unavailable.\n\n```\nparse  ->  trust  ->  score  ->  rank\n```\n\n| Stage | What happens |\n|---|---|\n| **Parse** | Extracts resolution, HDR flavor (Dolby Vision, HDR10, HDR10+, HLG), video codec, source type, audio codec and channel layout (Atmos, TrueHD, DTS-HD MA, 5.1\u002F7.1), languages, file size, seeders, container, release group, edition tags, season\u002Fepisode, and an anime aware filename pass for CRC and batch ranges |\n| **Trust** | Drops dead links, placeholders, cams and telecines, trailers and extras, undersized stubs, cinema window fakes, and title, year, season, or episode mismatches; floats well regarded release groups upward |\n| **Score** | Rewards debrid cached sources, resolution, HDR and lossless audio, seeders, trusted release groups, REMUX, and preferred language matches; penalizes cams, mismatches, and implausible sizes. Every signal is recorded so the reason is inspectable |\n| **Rank** | Sorts into quality tiers (4K DV, 4K HDR, 4K, 1080p HDR, 1080p, 720p, SD) and surfaces the best cached pick first, with partial results streamed to the UI as addons respond |\n\nDebrid services are checked live and uniformly: **Real-Debrid, AllDebrid, Premiumize, Debrid-Link, and TorBox**. Cache hints embedded by popular addons are read directly, and every torrent hash is cross checked against your debrid library to catch what the cache API misses. No debrid is required: Harbor can stream torrents directly through the bundled Stremio Server engine. All keys stay on your device.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n### The player\n\nA native libmpv player, with HLS and MPEG-TS engines for live and broadcast sources, and an Auto mode that picks the right backend per source.\n\n| Capability | Detail |\n|---|---|\n| **Engines** | Native libmpv (bundled) or HTML5\u002FWebView2, with an Auto mode; hls.js and mpegts.js for live; embedded or separate window mpv |\n| **Resilience** | Auto retry and auto advance that detect black screens, frozen positions, and hard stalls; fallback to the Stremio Server HLS transcoder on a decode error; automatic live IPTV reconnect |\n| **Picture** | HDR passthrough, HDR to SDR tonemapping (bt.2446a), Anime4K GLSL upscaling shaders, a stats overlay |\n| **Skip segments** | Intro, outro, and recap detection from AniSkip, TheIntroDB, and embedded chapter markers |\n| **Subtitles** | OpenSubtitles v3 and Wyzie plus your subtitle addons, deduped and language ranked; SRT\u002FVTT\u002FASS\u002FSUB with encoding detection; **dual tracks**; full styling (font, size, color, outline, box, margin, alignment, custom font upload); SDH and forced flags; ASS override; per item delay; and a show\u002Fhide toggle in picture in picture |\n| **Resume and sync** | Picks up from your saved position, merged with Stremio library mtime; writes progress back every few seconds and flags watched at 85% |\n| **Convenience** | Picture in picture, A\u002FB loop, sleep timer, frame grab, stream download via bundled yt-dlp, next\u002Fprevious episode with auto advance, and a fully remappable 21 action hotkey set |\n| **Seek bar** | Flat, glass, pinstripe, rainbow, or custom image styles; adjustable height, color, and dot shape, or use custom JS, all with a live preview |\n| **Player Editor** | Change your players UI layout, style, and more with a 1:1 player editor |\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n### Casting\n\nSend any playback across the room through a bundled Rust cast server and a web cast receiver.\n\n- **Chromecast** via Harbor's own CAF receiver (HLS, MP4, and unknown formats). (Visit harborstremio\u002Fcast-receiver-chrome)\n- **DLNA \u002F UPnP** with vendor aware handling for Samsung, Sony, LG, Panasonic, and Hisense.\n- **AirPlay** discovery and playback.\n- **Roku** via the ECP protocol, with guidance for network access and Media Assistant. (Pre and post roku update) Does require Roku tv addons\n- An optional \"always re-encode\" path pipes streams through ffmpeg (H264 + AAC + MPEGTS) for maximum receiver compatibility, and playback resumes locally when casting stops.\n\n> [!NOTE]\n> Casting support varies by device. Chromecast receiver and DLNA\u002FUPnP are tested and working, with verified success on devices such as Google Nest Hub + Chromecast Dongle and a Samsung Q60T. Apple TV 4K, HomePod, and Vision Pro require AirPlay 2 (Soon); legacy AirPlay 1 is rejected by most modern devices. Roku support is in testing please submit feedback!! If a device does not appear, please open an [issue][issues] with the model so we can expand the matrix.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n### Together: watch parties\n\n- Create or join a room with a six character code; invite by link.\n- Synced play, pause, and seek with RTT adjusted clock alignment so everyone stays together.\n- Live chat, **on screen cursors** with named colors, and **collaborative drawing** over the video.\n- A host can summon everyone to a view or a title and send play invites that late joiners receive on connect.\n- The relay deploys to **your own Cloudflare account in one click** (deploy, check, and delete from inside Harbor). There is no central Harbor server in the loop.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n### Live TV and Multiview\n\n| Area | Detail |\n|---|---|\n| **Sources** | M3U playlist URLs, Xtream Codes credentials (auto builds M3U + EPG), and standalone XMLTV; multiple playlists, on demand refresh, edit, delete, and export back to `.m3u` |\n| **Browser** | A responsive channel grid with logos, live program titles and progress, favorites, and posters for matched titles |\n| **Categories** | A chip strip and a searchable sidebar with counts; a Favorites virtual category; live text search |\n| **Top networks** | Auto generated curated network rows by region (US, UK, Brazil and more), with HD preferring channel scoring |\n| **EPG guide** | A horizontal timeline grid with a Now indicator and per program blocks; ended programs with catchup are replayable |\n| **Catchup** | Auto detected timeshift across default, append, shift, flussonic, and Xtream methods |\n| **Multiview** | One, two, three, or 2x2 streams at once; per tile channel swap, audio focus, and auto reconnect; native video geometry synced to the window layout |\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n### Anime\n\nAnime is a first class room with its own metadata stack. Metadata comes from **Kitsu** and **AniZip** for cross database ID mapping and per episode detail, with TMDB matching for logos and backdrops. Award winners from the Crunchyroll Awards, TAAF, JMAF, r\u002Fanime, and Animation Kobe are surfaced first and badged. Detail pages show MAL scores, streaming service chips (Crunchyroll, HIDIVE, Funimation and more), and an award corner. AniSkip drives skip intro\u002Foutro, and Anime4K shaders sharpen playback.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n### Addons\n\nThe Addons room is a full browser and installer for the Stremio ecosystem.\n\n- **Discover** trending and top community addons via the [stremio-addons.net](https:\u002F\u002Fstremio-addons.net) index.\n- **Browse** by category and open an addon's detail page with related and recommended addons.\n- **Install** from the catalog, add by URL, or follow a `harbor:\u002F\u002F` \u002F `stremio:\u002F\u002F` deep link.\n- **Configure** addons that require setup: Harbor opens the addon's own configuration view rather than installing without it.\n- **Manage** installed addons, which also sync to your Stremio account collection.\n- An age gate keeps adult addons behind an explicit opt in.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n### Themes and customization\n\nHarbor's theme engine changes more than colors. A theme can reshape the entire navigation layout.\n\n| | |\n|---|---|\n| **11 presets** | Harbor (default), Nord, Stremio, Crunchy, Royal, Dracula, Forest, Noir, Aurora, MinUI, Velvet |\n| **Layouts** | Left sidebar, top dock, icon rail, Stremio rail, floating dock, or fully custom HTML\u002FCSS chrome |\n| **Fonts** | Seven pairings plus custom TTF\u002FOTF\u002FWOFF\u002FWOFF2 upload |\n| **Surfaces** | Five card styles, four button styles, an optional animated bokeh layer, and a full bleed background image with a dim slider |\n| **Theme Studio** | A live slide in editor with Look, Layout, and Code tabs; a 10 swatch color editor; a custom chrome builder; raw CSS\u002FHTML\u002FJS layers; and a built in cheat sheet |\n| **Library** | Import and export `.harborstyle` files, manage a personal theme library, and apply, copy, download, or delete any theme, with a badge marking imported themes |\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n### Integrations\n\n| Service | What it adds |\n|---|---|\n| **Cinemeta** | Works out of the box: catalogs, metadata, and posters with no key |\n| **TMDB** (free key) | Trending, In Theaters, On The Air, Top Rated, and eight per service rails (Netflix, Disney+, Hulu, Prime, Apple TV+, Max, Paramount+, Peacock), region aware Watch on chips, trailers, full cast and crew, and IMDb ID resolution |\n| **RPDB** | Bakes rating overlays directly onto posters, for both IMDb and TMDB ID schemes, with transparent fallback |\n| **OMDB** | IMDb, Rotten Tomatoes, and Metascore ratings, a Certified Fresh flag, and structured award counts, with a daily request budget |\n| **Fanart.tv** | HD logos, backdrops, posters, banners, and thumbs for movies and series |\n| **Kitsu \u002F AniZip** | Anime metadata, cross database ID mapping, and per episode detail |\n| **Trakt** | OAuth device sign in, automatic scrobbling, watchlist and history, personalized movie and series recommendations, an Up Next calendar rail, and your avatar in the sidebar |\n| **Stremio** | Account sign in, Continue Watching sync, installed-addon collection sync, and catalog, meta, stream, and subtitle resources from every installed addon |\n| **Debrid** | Real-Debrid, AllDebrid, Premiumize, Debrid-Link, and TorBox for cached, instant playback |\n\nAwards laurels surface across detail pages, covering Oscar, Emmy, BAFTA, Golden Globe, SAG, Cannes, Berlin, Critics Choice, and Annie\u002FKobe honors.\n\n> [!TIP]\n> A free TMDB key from [themoviedb.org\u002Fsettings\u002Fapi](https:\u002F\u002Fwww.themoviedb.org\u002Fsettings\u002Fapi) is the single highest impact thing you can add. No payment required.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n### Quality of life extras\n\n- **Multiple profiles**, each with its own parental settings, content hiding, and PIN. Switching profiles resets unlocks.\n- **Parental controls** that PIN gate any room and hide Anime or Live TV per profile.\n- **A player layout editor** with drag and drop placement of the on screen HUD.\n- **Languages** with 26 options and reordering.\n- **Hotkeys** with a rebind UI and conflict detection.\n- **Bandwidth** controls including a cap and a built in speed test.\n- **Library repair** for your Stremio library.\n- **Region awareness** across 40+ regions, driving theatrical windows and streaming availability.\n- **Notifications** via Discord webhooks and Telegram, with calendar sources, media type filters, and per rule routing.\n- **Discord Rich Presence** with poster art, live progress, and watch party size.\n- **A built in bug reporter** that auto collects safe diagnostics (no secret values).\n- **Backup and restore** of your full setup to a `.harbx` file.\n- **Classic Stremio home mode** that renders every addon catalog row.\n- **Deep links** for `harbor:\u002F\u002F` and `stremio:\u002F\u002F`, with single instance focus.\n- **Custom CSS, JS, and HTML overlays** for power users.\n- **Trickplay scrub previews** decoded on the fly for torrents and local files, so the seek bar shows the exact frame you are hovering.\n\n\u003Cp align=\"left\">\n  \u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Ftrickplay.jpg\" width=\"720\">\n  \u003Cbr\u002F>\n  \u003Csub>Trickplay seek previews, generated live for torrents and local files.\u003C\u002Fsub>\n\u003C\u002Fp>\n\n\u003Cp align=\"left\">\n  \u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Frichactivity.gif\" width=\"320\">\n  \u003Cbr\u002F>\n  \u003Csub>Discord Rich Presence, cycling live as you browse and watch.\u003C\u002Fsub>\n\u003C\u002Fp>\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## Privacy\n\nHarbor is built to keep your data on your machine.\n\n- **No telemetry.** Harbor collects no analytics and sends nothing home.\n- **Your keys stay local.** TMDB, RPDB, OMDB, Trakt, and debrid credentials live on your device.\n- **No central server.** Watch party relays deploy to your own Cloudflare account, and casting runs on your own network. Nothing is routed through a Harbor operated backend.\n- **A built in privacy blocker** at the WebView level, with a live counter.\n- **You choose your sources.** What metadata and streams Harbor sees is entirely determined by the addons and services you configure.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## Install\n\nDownload the latest build for macOS or Windows from the [Releases page][releases], or open Harbor in your browser.\n\n| Platform | Format |\n|---|---|\n| **macOS** | `.dmg` (macOS 11.0 or newer) |\n| **Windows** | `.exe` NSIS installer (current user install) |\n| **Web** | Open in any modern browser, nothing to install |\n| **Linux** | In testing, coming soon (`.deb`, `.rpm`, and `.AppImage` planned) |\n\n> [!NOTE]\n> macOS, Windows, and the web are supported at launch. A native Linux build is in testing right now.\n\n### Linux (in testing, coming soon)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Flinux.png\" width=\"900\">\n  \u003Cbr\u002F>\n  \u003Csub>Harbor running natively on Linux, in a Together watch party.\u003C\u002Fsub>\n\u003C\u002Fp>\n\nLinux is up and running natively, and it is in active testing right now. We decided to take a couple extra weeks so the native player feels great for full time Linux users before we call it ready. Coming soon.\n\n**Out of the box, Harbor works on Cinemeta.** You can browse, play, and cast immediately. Adding a free **TMDB key** in Settings is optional and unlocks the richer trending, theaters, per service, and Watch on experiences described above. Your installed Stremio addons merge in automatically when you sign in, deduplicated against the built in rails.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## Configuration\n\nAll keys and preferences live in **Settings** and persist locally. Nothing is sent to a Harbor server.\n\n| Setting | Default | What it does |\n|---|---|---|\n| `Stremio sign in` | signed out | Library sync, Continue Watching, and installed-addon collection |\n| `TMDB API key` | none | Unlocks trending, in theaters, on the air, top rated, per service rails, and Watch on chips |\n| `RPDB API key` | none | Bakes rating overlays onto posters |\n| `OMDB API key` | none | Adds Rotten Tomatoes and Metascore ratings and award counts |\n| `Fanart.tv API key` | none | Adds HD logos, backdrops, and artwork |\n| `Region` | `US` | ISO 3166-1; drives theatrical windows and streaming availability |\n| `Debrid keys` | none | Real-Debrid, AllDebrid, Premiumize, Debrid-Link, TorBox; used by the stream engine |\n| `Player engine` | `Auto` | Auto, native libmpv, or HTML5\u002FWebView2 |\n| `Stream safety filter` | `Strict` | Strict, Balanced, or Off; controls how aggressively cams and mismatches are dropped |\n| `Trakt` | disconnected | OAuth device sign in for scrobbling, watchlist, history, and recommendations |\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## Build from source\n\nHarbor is a Tauri 2 app: a React + TypeScript frontend and a Rust shell, with the stream engine living in the `harbor-core` Rust crate.\n\n**Prerequisites**\n\n- [Node.js](https:\u002F\u002Fnodejs.org\u002F) 20+ and [pnpm](https:\u002F\u002Fpnpm.io\u002F)\n- The [Rust toolchain](https:\u002F\u002Frustup.rs\u002F) (stable)\n- The [Tauri 2 system prerequisites](https:\u002F\u002Fv2.tauri.app\u002Fstart\u002Fprerequisites\u002F) for your OS\n- [`wasm-pack`](https:\u002F\u002Frustwasm.github.io\u002Fwasm-pack\u002F) (only needed to rebuild the WASM stream core)\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Run in development\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cbr\u002F>\n\n```bash\npnpm install\npnpm tauri dev\n```\n\nFor frontend only iteration with hot reload:\n\n```bash\npnpm dev\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Build a release bundle\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cbr\u002F>\n\n```bash\npnpm install\npnpm tauri build\n```\n\nBundles are emitted for your platform (dmg on macOS, NSIS on Windows; Linux deb, rpm, and AppImage targets are in progress).\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Rebuild the Rust stream core (harbor-core)\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cbr\u002F>\n\n```bash\ncargo test --manifest-path harbor-core\u002FCargo.toml\nwasm-pack build harbor-core --target web\n```\n\n\u003C\u002Fdetails>\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## Architecture\n\n```mermaid\nflowchart TD\n  subgraph Window[\"Harbor window (WebView2)\"]\n    UI[\"React 19 + TypeScript + Tailwind v4\"]\n    Core[\"harbor-core (Rust to WASM)\u003Cbr\u002F>parse to trust to score to rank\"]\n    UI --> Core\n  end\n\n  subgraph Shell[\"Tauri 2 Rust shell\"]\n    Player[\"libmpv player\"]\n    Cast[\"Cast server (DLNA \u002F Chromecast \u002F AirPlay \u002F Roku)\"]\n    Sidecars[\"Sidecars: stremio-server, yt-dlp\"]\n  end\n\n  subgraph Net[\"Open ecosystem and services\"]\n    Stremio[\"Stremio addons + Cinemeta\"]\n    Meta[\"TMDB \u002F RPDB \u002F OMDB \u002F Fanart\"]\n    Anime[\"Kitsu \u002F AniZip\"]\n    Trakt[\"Trakt\"]\n    Debrid[\"Debrid: RD \u002F AD \u002F PM \u002F DL \u002F TorBox\"]\n    Relay[\"Your Cloudflare relay (Together)\"]\n  end\n\n  UI --> Shell\n  UI --> Stremio\n  UI --> Meta\n  UI --> Anime\n  UI --> Trakt\n  Core --> Debrid\n  UI --> Relay\n```\n\n\u003Cdetails>\n\u003Csummary>\u003Ckbd>Full stack and repo layout\u003C\u002Fkbd>\u003C\u002Fsummary>\n\n\u003Cbr\u002F>\n\n**Stack**\n\n- **Shell:** Tauri 2 (Rust + WebView2), frameless Mica window\n- **Frontend:** React 19, TypeScript 5.8, Tailwind v4 (`@theme` tokens), Vite 7, Lucide icons\n- **Stream core:** `harbor-core`, a pure Rust crate compiled to WASM and rlib\n- **Player:** native libmpv, with hls.js and mpegts.js for live\n- **Casting:** a bundled Rust cast server plus a web cast receiver\n- **Sidecars:** `stremio-server`, `yt-dlp`\n\n**Repo layout**\n\n```\nsrc\u002F                 React frontend (views, chrome, components, lib)\nsrc-tauri\u002F           Rust shell, player, casting, sidecars\n  src\u002F               cast.rs, dlna.rs, roku.rs, airplay.rs, transcode.rs, discord_rp.rs, ...\nharbor-core\u002F         pure Rust stream engine (parse, trust, score) -> WASM\ncast-receiver\u002F       web cast receiver app\ndocs\u002Fmedia\u002F          logos and screenshots\n```\n\n\u003C\u002Fdetails>\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## Roadmap\n\nDirectional, not a set of promises. Priorities shift with feedback.\n\n- [x] Native libmpv player with trickplay and skip segments\n- [x] Rust stream ranking core (`harbor-core`) compiled to WASM\n- [x] Watch parties with cursors and drawing on a self hosted relay\n- [x] Live TV EPG guide and Multiview\n- [x] First class anime room with Kitsu and AniZip\n- [x] Theme studio with custom layouts\n- [x] macOS, Windows, and web launch builds\n- [ ] Native Linux build (in testing, a couple weeks of native player polish to go)\n- [ ] Expanded casting device matrix (AirPlay 2, more Roku and Chromecast targets)\n- [ ] More translations\n- [ ] A growing theme gallery\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## FAQ\n\n**Does Harbor provide content?**\nNo. Harbor hosts and indexes nothing. It is a client for the Stremio addon protocol, and what you can browse or play depends entirely on the addons and services you configure.\n\n**Do I need a TMDB key?**\nNo. Harbor works out of the box on Cinemeta. A free TMDB key is recommended because it unlocks trending rails, in theaters, top rated, per service rows, and Watch on chips.\n\n**Is Harbor affiliated with Stremio?**\nNo. Harbor is an independent open source client built on the open Stremio addon protocol, by someone who loves the ecosystem.\n\n**Why Tauri instead of Electron?**\nTauri uses the system WebView and a Rust backend, which keeps the app small and lets the stream ranking core run as compiled WebAssembly.\n\n**Do I need a debrid account?**\nNo. You can stream torrents directly through the bundled Stremio Server engine. A debrid service is optional and adds cached, instant playback.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## Contributing\n\nContributions are very welcome, whether that is code, a bug report, a theme, or a docs fix.\n\n**Getting started**\n\n1. Fork the repo and clone your fork.\n2. Follow [Build from source](#build-from-source) to get a dev build running.\n3. Create a branch, make your change, and run `pnpm build` to verify the frontend compiles.\n4. Open a pull request with a clear description of what changed and why, with screenshots for UI work.\n\n**Filing issues**\n\n- Found a bug? Open an [issue][issues] with steps to reproduce. Harbor also has a built in **Report a Bug** form in Settings that attaches safe diagnostics for you.\n- Have an idea? Start a [discussion][discussions] or open a feature request issue.\n\nWe aim to respond to issues and pull requests promptly. Be kind, be specific, and assume good faith. We are glad you are here.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## Disclaimer\n\n> [!IMPORTANT]\n> Harbor is an independent, open source media player and a client for the open Stremio addon protocol. It is not affiliated with, endorsed by, or associated with Stremio Ltd. Harbor hosts no media, indexes no media, and ships no content addons. It provides no streams of its own. You choose which addons and sources to configure, and you are responsible for ensuring that your use complies with the laws of your jurisdiction and with the terms of any service you connect.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## Acknowledgements\n\nHarbor stands on the shoulders of a generous open ecosystem and the people who build it.\n\n- The **Stremio addon protocol** and the **Stremio** team, for an open, well designed standard worth building on.\n- The **[Stremio-addons.net](https:\u002F\u002Fstremio-addons.net) Team** for providing an excellent service (please consider supporting them).\n- [@stass_motion](https:\u002F\u002Fpro.fiverr.com\u002Ffreelancers\u002Fstass_motion) for the lottie animations, he is fantastic consider supporting him.\n- **Cinemeta** and the wider **addon community**, whose work makes the experience possible out of the box.\n- **TMDB**, **Trakt**, **OMDB**, **Fanart.tv**, **RPDB**, **Kitsu**, and **AniZip** for the metadata that brings catalogs to life.\n- **libmpv** for a world class playback engine, and the **Anime4K** project for its upscaling shaders.\n- **Tauri**, **React**, **Vite**, **Tailwind CSS**, **Rust**, and **Lucide** for the foundation.\n- **OpenSubtitles**, **Wyzie**, **AniSkip**, and **TheIntroDB** for subtitles and skip data.\n\n\nThank you to everyone, named and unnamed, whose open work Harbor builds upon.\n\n\u003Cp align=\"right\">\u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fp>\n\n## License\n\n[MIT](.\u002FLICENSE) &copy; 2026 Harbor contributors. Free Speech!\n\n\u003Cbr\u002F>\n\n\u003Cdiv align=\"center\">\n\u003Cpicture>\n  \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fharbor-mark.svg\">\n  \u003Cimg src=\"https:\u002F\u002Fharbor.site\u002Freadme-media\u002Fharbor-mark.svg\" width=\"48\">\n\u003C\u002Fpicture>\n\u003Cbr\u002F>\u003Cbr\u002F>\n\u003Csub>Built with care for the people who love good cinema and an open web. \u003Ca href=\"#readme-top\">&#9650; back to top\u003C\u002Fa>\u003C\u002Fsub>\n\u003C\u002Fdiv>\n\n\u003C!-- reference links -->\n[releases]: https:\u002F\u002Fgithub.com\u002Fharborstremio\u002Fharbor\u002Freleases\n[issues]: https:\u002F\u002Fgithub.com\u002Fharborstremio\u002Fharbor\u002Fissues\n[discussions]: https:\u002F\u002Fgithub.com\u002Fharborstremio\u002Fharbor\u002Fdiscussions\n[license]: .\u002FLICENSE\n[tauri]: https:\u002F\u002Fv2.tauri.app\u002F\n[react]: https:\u002F\u002Freact.dev\u002F\n[rust]: https:\u002F\u002Fwww.rust-lang.org\u002F\n\n\u003C!-- badges -->\n[badge-version]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fversion-0.9.2-D9A441?style=for-the-badge&labelColor=1a1a1a\n[badge-license]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-D9A441?style=for-the-badge&labelColor=1a1a1a\n[badge-tauri]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTauri-2-24C8DB?style=for-the-badge&logo=tauri&logoColor=white&labelColor=1a1a1a\n[badge-react]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FReact-19-61DAFB?style=for-the-badge&logo=react&logoColor=white&labelColor=1a1a1a\n[badge-rust]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcore-Rust%20to%20WASM-DEA584?style=for-the-badge&logo=rust&logoColor=white&labelColor=1a1a1a\n[badge-platforms]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FmacOS%20%C2%B7%20Windows%20%C2%B7%20Web-Linux%20soon-8a8a8a?style=for-the-badge&labelColor=1a1a1a\n","2026-06-11 04:11:31","CREATED_QUERY"]