Manga · Anime · Séries · Musique · Novels
Gratuit · Open-source · Cross-platform
🌐 Site web · 📥 Télécharger · 🚀 Déployer · 📋 Changelog
| 📺 Anime & Séries Streaming multi-sources, lecteur intégré |
📚 Manga & Novels Lecture hors-ligne, chapitres, marque-pages |
🎵 Musique Lecteur audio, playlists, sources JS |
🧩 Extensions JS Sources communautaires via QuickJS |
| 🌐 Cross-platform Android · iOS · Windows · Linux · macOS · Web |
☁️ Serveur headless Déploiement cloud (Railway, Render, Docker) |
🔒 Anti-bot & TLS Rotation UA, TLS custom via Rust |
⚡ Torrent intégré Client BitTorrent Go, streaming HTTP |
Watchtower repose sur trois couches qui partagent exactement les mêmes extensions JS :
watchtower/
├── lib/ ← Application Flutter principale
│ ├── modules/ · UI par média (anime, manga, music, novels, player)
│ ├── eval/ · Moteur d'extensions JS/Dart (QuickJS)
│ ├── remote/ · Serveur HTTP embarqué (shelf — port 4567)
│ ├── services/ · Réseau, téléchargements Aria2, anti-bot
│ ├── ffi/ · Bindings C → serveur torrent Go
│ └── src/rust/ · Bindings Rust (EPUB, image, TLS custom)
│
├── server/ ← Serveur headless Node.js (cloud)
│ ├── server.js · Express + QuickJS VM + bridges
│ ├── src/bridges/ · HTTP, DOM (Cheerio), crypto, prefs
│ ├── Dockerfile
│ ├── docker-compose.yml
│ └── .env.example
│
├── deployment/ ← Configs & guides de déploiement
│ ├── README.md · Toutes les options (Railway, Render, Docker, Colab…)
│ ├── render.yaml · Config Render (symlink depuis la racine)
│ └── colab_deploy.ipynb
│
├── rust/ ← Bibliothèque Rust (flutter_rust_bridge 2.x)
└── go/ ← Client BitTorrent + serveur streaming HTTP
| Mode | Fichiers | Quand l'utiliser |
|---|---|---|
| Embarqué | lib/remote/ — shelf port 4567 |
App installée (téléphone / desktop) |
| Headless | server/ — Node.js autonome |
Cloud : Railway, Render, VPS, Colab… |
| Plateforme | Comment obtenir |
|---|---|
| Android (arm64) | Actions → Build ARMv8 |
| iOS (TrollStore) | Actions → Build IPA |
| Windows x64 | Actions → Build Windows |
| Docker | ghcr.io/ferelking242/watchtower-server:latest |
| Web | watchtower-website-zeta.vercel.app/download |
| Plateforme | Bouton |
|---|---|
| Railway | |
| Render | |
| Google Colab |
📖 Guide complet de déploiement →
Railway · Render · Docker · Colab · HuggingFace · RunPod
git clone https://github.com/ferelking242/watchtower.git
cd watchtower/server
cp .env.example .env # remplis API_KEY
docker compose up -dcd watchtower/server
npm install
API_KEY=mysecretkey PORT=8080 node server.jsPrérequis
- Flutter SDK 3.38+
- Dart 3.10+
- Rust (pour les bindings flutter_rust_bridge)
- Java 17 (build Android)
- Go 1.21+ (optionnel — pour recompiler le client torrent)
git clone https://github.com/ferelking242/watchtower.git
cd watchtower
flutter pub get
flutter run # dev
flutter build apk --release --target-platform android-arm64 # Android
flutter build ipa # iOS
flutter build windows # Windows
flutter build linux # Linuxℹ️ Les builds de release sont gérés par GitHub Actions — voir
.github/workflows/.
| Repo | Rôle |
|---|---|
| ferelking242/watchtower | App principale — moteur, serveur, UI |
| ferelking242/watchtower-real | UI TikTok-style (feed vertical — fusion prévue) |
| ferelking242/watchtower-website | Site de documentation (VitePress / Vercel) |
| Couche | Tech |
|---|---|
| UI / App | Flutter 3.38+, Dart 3.10+ |
| State | Riverpod 3.x |
| DB locale | Isar (community fork) |
| Préférences | Hive 2.x |
| Vidéo | media_kit (kodjodevf fork) |
| Navigation | GoRouter 17.x |
| Extensions JS | QuickJS via FFI |
| Rust | flutter_rust_bridge 2.x |
| Go | Aria2 + streaming torrent |
| Serveur headless | Node.js 20 + Express + QuickJS VM |
| CI | GitHub Actions |
| Docs | VitePress + Vercel |
Distribué sous licence Apache 2.0 — voir LICENSE.