Interface web Docker pour Autovisit — gestion et planification des visites automatiques de trackers BitTorrent privés pour éviter la désactivation des comptes inactifs.
autovisit.pyest intégré directement dans l'image Docker — pas besoin de l'installer séparément.
| Page | Fonctionnalités |
|---|---|
| Dashboard | Statut de chaque site (OK / ÉCHEC / alerte MP), stats ratio/upload/download, date du dernier passage |
| Sites | Ajouter / modifier / supprimer / activer-désactiver chaque site via interface graphique |
| Run | Lancer un run manuel sur un ou plusieurs sites, logs en temps réel, bouton stop |
| Logs | Consulter les logs mensuels générés par le script |
| Planification | Cron interne : toutes les X heures, chaque jour à heure fixe, ou certains jours de la semaine |
| Notifications | Configuration Apprise (Pushover, Telegram, Discord, etc.) avec test intégré |
- Docker + Docker Compose
git clone https://github.com/Gusdezup/Autovisit-Web.git
cd Autovisit-Web
cp sites.example.json data/sites.json
# Éditer data/sites.json avec vos sites et credentials
docker compose up -d --buildL'interface est accessible sur http://<IP-NAS>:4567.
Copiez sites.example.json vers data/sites.json et adaptez-le avec vos sites et identifiants.
data/sites.json est dans .gitignore — vos credentials ne seront jamais commités.
{
"pushover": {
"api_token": "TON_APP_TOKEN",
"user_key": "TON_USER_KEY"
},
"notifications": {
"apprise_url": "http://ton-serveur-apprise:8000",
"urls": ["pover://USER_KEY@API_TOKEN"],
"notify_error": true,
"notify_success": false,
"notify_success_after_failure": true,
"notify_mp": true
},
"sites": [
{ ... }
]
}Le fichier sites.example.json contient des exemples pour les cas les plus courants. Pour la référence complète de tous les champs disponibles (totp_secret, use_curl_cffi, use_playwright, stats, stats_json, session_cookies_file, etc.), consulte la documentation du script : Autovisit README.
git pull
docker compose down && docker compose up -d --build
docker compose restartne suffit pas — un rebuild est nécessaire pour prendre en compte les modifications du script ou de l'image.
Autovisit-Web/
├── autovisit.py # Script de visite (intégré dans l'image au build)
├── app.py # Backend Flask
├── templates/
│ └── index.html # Frontend single-page
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── sites.example.json # Modèle de configuration
└── data/ # Volume monté (non commité)
├── sites.json # Votre configuration
├── status.json # État généré automatiquement après chaque run
├── schedule.json # Planification sauvegardée
└── logs/ # Logs mensuels (visit_YYYY-MM.log)
L'interface intègre un planificateur (APScheduler) configurable directement depuis la page Planification. Trois modes disponibles :
- Toutes les X heures — ex: toutes les 6h
- Chaque jour à heure fixe — ex: tous les jours à 03h00
- Certains jours de la semaine — ex: lundi, mercredi, vendredi à 08h00
Si tu utilisais le Task Scheduler DSM pour lancer le script, tu peux le désactiver une fois la planification activée dans l'interface : Panneau de configuration → Planificateur de tâches.
Les deux peuvent coexister sans problème.
Les notifications passent par un serveur Apprise. Configure l'URL du serveur et tes URLs de notification dans la page Notifications de l'interface.
Format URL Pushover : pover://USER_KEY@API_TOKEN
data/sites.jsoncontient tes mots de passe et secrets TOTP en clair — protège-le- Ne partage jamais ton
sites.json data/est dans.gitignore— rien de ce dossier ne sera commité
Au premier lancement, les credentials par défaut sont admin / autovisit. Un avertissement est affiché dans les logs Docker. Change-les immédiatement depuis la page Paramètres de l'interface.
Les credentials sont stockés dans data/auth.json. Pour réinitialiser :
rm /chemin/vers/data/auth.json
docker compose restart autovisit-webAu redémarrage, auth.json est recréé avec les credentials par défaut (admin / autovisit).
| Variable | Défaut | Description |
|---|---|---|
AUTOVISIT_DIR |
/data |
Dossier des données utilisateur (sites.json, logs, etc.) |
AUTOVISIT_SCRIPT |
/app/autovisit.py |
Chemin du script dans l'image |
| Port | Usage |
|---|---|
| 4567 | Interface web |