Skip to content

Repository files navigation

Freeme

Freeme Stockage

Sauvegarde automatique du NAS Freebox vers Google Drive

Version macOS Electron Licence

InstallationFonctionnalitésCompatibilitéConfigurationContribuer


Pourquoi Freeme ?

Les Freebox intègrent une fonction NAS solide (stockage, partage et accès à distance via Freebox Files). En revanche, la documentation officielle ne décrit pas de synchronisation native continue du NAS vers Google Drive. Freeme ajoute cette brique : il surveille votre NAS et synchronise automatiquement vos dossiers vers Google Drive.

  • Configurez et oubliez – Fonctionne silencieusement dans la barre de menu
  • Sync intelligent – Téléverse uniquement les fichiers modifiés, économisant la bande passante
  • macOS natif – Icônes SF Symbols, notifications et raccourcis clavier
  • Open source – Vos données, votre contrôle

Installation

Installation rapide (2 minutes)

  1. Télécharger la dernière version → Décompresser (optionnel recommandé: vérifier le fichier .sha256 associé)
  2. Double-cliquer sur install.command

C'est tout ! L'installeur s'occupe de tout :

  • ✅ Vérifie Homebrew/rclone/fswatch et affiche une action claire si une dépendance manque
  • ✅ Ouvre la configuration OAuth de Google Drive
  • ✅ Vous aide à connecter votre NAS Freebox
  • ✅ Lance Freeme dans votre barre de menu

Installation via Homebrew

brew tap mannahub/freeme && brew install --cask freeme

📖 Détails: docs/HOMEBREW.md


Fonctionnalités

📦 Application Barre de Menu

Icône macOS native avec SF Symbols qui s'adapte au mode clair/sombre.

Icône Statut
☁️ Nuage Connecté et inactif
🔄 Flèches Synchronisation en cours
⏸️ Pause Sync en pause
❌ Croix NAS déconnecté

Accès en un clic à la sync, pause, montage NAS et réglages.


⚡ Sync Intelligent

Freeme Synchronisation

  • Détection en temps réel avec fswatch – détecte les changements de fichiers instantanément
  • Sauvegarde incrémentale – seuls les fichiers modifiés sont téléversés
  • Planification flexible – sur changement, ou toutes les 5/10/30/60 minutes
  • Contrôles de pause – 30min, 1h, jusqu'à demain, ou indéfiniment

⚙️ Application Réglages

Onglet Fonction
Chemins Configure le chemin NAS, le remote Google Drive, l'intervalle de sync
Stockage Répartition visuelle des dossiers synchronisés (graphique style Apple)
Notifications Mode silencieux, heures Ne Pas Déranger, toggle son
À propos Infos version, logs, liens support

🔔 Notifications

Notifications macOS natives pour le statut de sync, erreurs et changements de connexion.

  • Mode silencieux intelligent pendant les heures de travail
  • Personnalisable : toutes, erreurs uniquement, ou désactivées

Compatibilité

Modèles Freebox Supportés

Modèle Support NAS Stockage
Freebox Ultra (V9) ✅ Complet NVMe SSD (M.2)
Freebox Delta (V7) ✅ Complet 4× SATA (RAID)
Freebox Revolution (V6) ⚠️ Limité 250 Go HDD
Freebox Pop (V8) ❌ Aucun USB uniquement

📖 Guide de compatibilité détaillé

Configuration Requise

  • macOS 12.0 Monterey ou ultérieur
  • Freebox avec NAS activé
  • Compte Google pour la sauvegarde Drive

Configuration

Les réglages sont stockés dans ~/.freeme_prefs :

PREF_NAS_PATH="/Volumes/NAS"           # Chemin du NAS monté
PREF_NAS_SMB="smb://mafreebox.freebox.fr/NAS"
PREF_RCLONE_REMOTE="gdrive:Backup_Freebox"
PREF_SYNC_INTERVAL="on_change"         # ou : 5, 10, 30, 60 (minutes)
NOTIFICATIONS="true"
NOTIFICATION_SOUND="true"

Architecture

~/Freeme/
├── settings-app/           # Application Electron
│   ├── main.js             # Processus principal, tray, IPC
│   ├── lib/
│   │   ├── tray.js         # Barre de menu (SF Symbols)
│   │   └── statsStore.js   # Persistance electron-store
│   └── tabs/               # Interface réglages
├── scripts/
│   ├── freeme_daemon.sh    # Daemon de sync en arrière-plan
│   └── lib/
│       ├── cli.sh          # Interface ligne de commande
│       ├── sync.sh         # Logique rclone
│       └── stats.sh        # Statistiques stockage
└── stats.json              # Stats sync (shell → electron-store → UI)

Flux de Données

stats.sh → stats.json → statsStore.js → UI
                          (electron-store)

FAQ

Comment activer le NAS sur ma Freebox ?
  1. Ouvrir mafreebox.freebox.fr
  2. Aller dans Paramètres → Avancé → Partage de fichiers
  3. Activer Partage Windows (SMB)
  4. Définir un mot de passe si demandé
Comment me connecter au NAS ?
  1. Dans le Finder, appuyer sur ⌘ + K
  2. Entrer : smb://mafreebox.freebox.fr/NAS
  3. Saisir vos identifiants Freebox
  4. Cocher "Mémoriser le mot de passe dans le trousseau"
Mes données sont-elles sécurisées ?

Oui. Freeme utilise OAuth – votre mot de passe n'est jamais stocké localement. Vous pouvez révoquer l'accès à tout moment depuis les Paramètres de votre compte Google.

Comment désinstaller ?

Double-cliquer sur uninstall.command ou exécuter :

~/Freeme/uninstall.command

Dépannage

Problème Solution
Le NAS ne se connecte pas Vérifiez que vous êtes sur le même WiFi que la Freebox
La sync échoue Exécutez rclone listremotes pour vérifier Google Drive
Icône barre de menu absente Exécutez npm start dans ~/Freeme/settings-app/
Onglet Stockage vide Attendez la fin de la première sync

Voir les Logs

# Daemon de sync
tail -f ~/Freeme/logs/freeme.log

# Electron
tail -f ~/Library/Logs/Freeme-electron.log

Contribuer

# Cloner
git clone https://github.com/mannahub/freeme.git
cd freeme/settings-app

# Installer les dépendances
npm install

# Lancer en développement
npm start

# Lancer les tests
npm test

Voir CONTRIBUTING.md pour les guidelines.


Sécurité

Pour signaler une vulnérabilité de sécurité, voir SECURITY.md.


Licence

Licence MIT – voir LICENSE


Remerciements

Construit avec ces projets open-source :

  • Electron – Applications desktop multi-plateformes
  • rclone – Moteur de synchronisation cloud
  • fswatch – Surveillant de système de fichiers
  • electron-store – Stockage persistant

Fait avec ❤️ par Andre Preda pour la communauté Freebox 🇫🇷

About

Sauvegarde automatique du NAS Freebox vers Google Drive

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages