DownVid
This supports 1000+ websites, with a clean interface, across macOS / Windows / Linux.
AI translation
Find where movies or shows are available worldwide
Translation pending
AI summary · website content
MediaTypeScript · CSSGitHub @ChristopherLsrdOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Outil personnel pour chercher un film ou une série et voir dans quels pays il est disponible, sur quelles plateformes, avec quel type d'offre (abonnement, gratuit, location, achat) et avec quelles langues audio et sous-titres.
Application à un seul utilisateur, protégée par mot de passe, déployée sur Vercel.
Les drapeaux des pays viennent de la police TwemojiCountryFlags (projet country-flag-emoji-polyfill, graphismes Twemoji sous licence CC-BY 4.0), intégrée à l'application parce que Windows n'affiche pas les emoji de drapeaux.
mongodb).vercel.json.mongodb-memory-server pour les adaptateurs Mongo.Clean architecture proportionnée : le domaine ne dépend de rien, et JustWatch peut être remplacé derrière le port CatalogProvider.
src/
domain/ entités et objets-valeurs (Title, Offer, Availability, Country…), ports
application/ cas d'usage (recherche, disponibilités, liste à voir, abonnements,
historique, préférences, vérification quotidienne) et fonctions pures
de regroupement, de tri et de filtrage
infrastructure/ JustWatch (GraphQL), TMDB, adaptateurs Mongo, authentification,
assemblage des dépendances (container.ts)
config/ listes modifiables : priorité des pays, langues proposées,
regroupement des plateformes
app/ pages, composants et routes API Next.js, middleware d'accès
APP_PASSWORD), comparé en temps constant.SESSION_SECRET), valable 30 jours./api/cron/*) n'exige pas de session : elle demande à la place l'en-tête Authorization: Bearer <CRON_SECRET>.Prérequis : Node.js 20 ou plus, et une base MongoDB (Atlas ou locale).
npm install
cp .env.example .env.local # puis remplir les valeurs
npm run dev # http://localhost:3000
| Variable | Rôle |
|---|---|
APP_PASSWORD | Mot de passe de connexion |
SESSION_SECRET | Secret de signature du cookie (au moins 32 caractères aléatoires) |
CRON_SECRET | Secret attendu par la route du cron (Vercel l'envoie automatiquement) |
MONGODB_URI | Chaîne de connexion MongoDB |
MONGODB_DB | Nom de la base (facultatif, geowatch par défaut) |
TMDB_API_KEY | Clé API TMDB v3 ou jeton v4 (facultatif : sans clé, la langue originale reste inconnue) |
npm run dev # serveur de développement
npm run build # build de production
npm start # serveur de production
npm test # tests (Vitest)
Le projet est relié à Vercel par l'intégration Git :
main déploie en production.La branche main est protégée : toute modification passe par une pull request. Les variables d'environnement sont définies dans Vercel, en Production et en Preview. Le cron quotidien ne tourne que sur la production. On peut aussi le lancer à la main depuis le tableau de bord Vercel (Settings → Cron Jobs).
Le code de GeoWatch est distribué sous licence MIT.
Cette licence ne couvre que le code. Les données et les images affichées restent soumises aux conditions de leurs sources :
L'application affiche ces crédits dans son pied de page et sous la photo de chaque personne.