Articles plus anciens

En fin de compte j’ai changé d’avis pour mon Dockstar et j’y ai installé MySQL, en effet la plupart des sites/scripts on en pré-requis MySQL.

Or quand j’ai réinstallé MySQL :

sudo aptitude install mysql-server mysql-client

J’ai eu les erreurs suivantes :

Les paquets partiellement installés suivants seront configurés : 
 mysql-server mysql-server-5.1 
 Aucun paquet ne va être installé, mis à jour ou enlevé.
 0 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
 Il est nécessaire de télécharger 0 o d'archives. Après dépaquetage, 0 o seront utilisés.
 Paramétrage de mysql-server-5.1 (5.1.49-3) ...
 Stopping MySQL database server: mysqld.
 /etc/init.d/mysql: WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz ... (warning).
 Starting MySQL database server: mysqld.
 /etc/init.d/mysql: line 120: /etc/mysql/debian-start: Aucun fichier ou dossier de ce type
 invoke-rc.d: initscript mysql, action "start" failed.
 dpkg : erreur de traitement de mysql-server-5.1 (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 127
 configured to not write apport reports
 dpkg : des problèmes de dépendances empêchent la configuration de mysql-server :
 mysql-server dépend de mysql-server-5.1 ; cependant :
 Le paquet mysql-server-5.1 n'est pas encore configuré.
 dpkg : erreur de traitement de mysql-server (--configure) :
 problèmes de dépendances - laissé non configuré
 configured to not write apport reports
 Des erreurs ont été rencontrées pendant l'exécution :
 mysql-server-5.1
 mysql-server
 E: Sub-process /usr/bin/dpkg returned an error code (1)
 Échec de l'installation d'un paquet. Tentative de réparation : 
 Paramétrage de mysql-server-5.1 (5.1.49-3) ...
 Stopping MySQL database server: mysqld.
 /etc/init.d/mysql: WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz ... (warning).
 Starting MySQL database server: mysqld.
 /etc/init.d/mysql: line 120: /etc/mysql/debian-start: Aucun fichier ou dossier de ce type
 invoke-rc.d: initscript mysql, action "start" failed.
 dpkg : erreur de traitement de mysql-server-5.1 (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 127
 dpkg : des problèmes de dépendances empêchent la configuration de mysql-server :
 mysql-server dépend de mysql-server-5.1 ; cependant :
 Le paquet mysql-server-5.1 n'est pas encore configuré.
 dpkg : erreur de traitement de mysql-server (--configure) :
 problèmes de dépendances - laissé non configuré
 Des erreurs ont été rencontrées pendant l'exécution :
 mysql-server-5.1
 mysql-server

Voici la solution que j’ai trouvé sur [ubuntu] mysql problem – Ubuntu Forums :

Créer un fichier /etc/mysql/debian-start (avec sudo) et y copier ceci :

#!/bin/bash
 #
 # This script is executed by "/etc/init.d/mysql" on every (re)start.
 #
 # Changes to this file will be preserved when updating the Debian package.
 #
 
source /usr/share/mysql/debian-start.inc.sh
 
MYSQL="/usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf"
 MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
 MYUPGRADE="/usr/bin/mysql_upgrade --defaults-extra-file=/etc/mysql/debian.cnf"
 MYCHECK="/usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf"
 MYCHECK_SUBJECT="WARNING: mysqlcheck has found corrupt tables"
 MYCHECK_PARAMS="--all-databases --fast --silent"
 MYCHECK_RCPT="root"
 
# The following commands should be run when the server is up but in background
 # where they do not block the server start and in one shell instance so that
 # they run sequentially. They are supposed not to echo anything to stdout.
 # If you want to disable the check for crashed tables comment
 # "check_for_crashed_tables" out.
 # (There may be no output to stdout inside the background process!)
 echo "Checking for corrupt, not cleanly closed and upgrade needing tables."
 (
 upgrade_system_tables_if_necessary;
 check_root_accounts;
 check_for_crashed_tables;
 ) >&2 &
 
exit 0

Rendre le fichier exécutable :

sudo chmod 755 /etc/mysql/debian-start

Et reprendre l’installation (un dpkg reconfigure aurait sûrement aussi fait l’affaire):

sudo aptitude install mysql-server mysql-client

Normalement il n’y a plus d’erreurs:

Les paquets partiellement installés suivants seront configurés :
 mysql-server mysql-server-5.1
 Aucun paquet ne va être installé, mis à jour ou enlevé.
 0 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
 Il est nécessaire de télécharger 0 o d'archives. Après dépaquetage, 0 o seront utilisés.
 Paramétrage de mysql-server-5.1 (5.1.49-3) ...
 Stopping MySQL database server: mysqld.
 Starting MySQL database server: mysqld.
 Checking for corrupt, not cleanly closed and upgrade needing tables..
 Paramétrage de mysql-server (5.1.49-3) ...

J’ai enfin eu le courage d’écrire un nouvel article, ce n’est pas l’inspiration ou les sujets qui manquent mais l’envie d’écrire de décrire….

Sur mon Dockstar je souhaite avoir un dépôt de fichier, un endroit ou je (ou des personnes de confiance) puisse facilement uploader des fichiers et avoir un lien vers ce fichier.

Premier logiciel testé Jyraphe.

Pour casser le suspense je tiens à préciser tout de suite que ce dernier ne répond à mes attentes

Installation

On télécharge et décompresse les sources :

wget http://download.gna.org/jyraphe/jyraphe-0.5.tar.gz
tar -xvf jyraphe-0.5.tar.gz

 

Puis on installe le package gettext, en effet jyraphe est livré avec les traductions Française mais il faut les « compiler » pour qu’elles soient accessibles :

sudo aptitude install gettext
cd jyraphe
./update-po.sh
./update-mo.sh

Cela créé le fichier Jyraphe.mo contenant la traduction Française de Jyraphe dans le sous-répertoire lib/locale/fr_FR.UTF-8/LC_MESSAGES/

 

On déplace les scripts php vers son arborescence Web (à adapter)

sudo mv pub /var/www/jyraphe
sudo chown www-data:www-data /var/www/jyraphe -R

 

Pour que le site soit accessible il se peut qu’il faille que vous configuriez votre serveur web, je ne décrirais pas ici cette étape….

Puis on lance l’installeur :

http://votre-domaine/jyraphe/install.php

On choisi la langue, si l’interface n’est pas en Français quelque chose à dû mal se passer avec les scripts update-po/mo

 

Jyraphe stockera les fichiers uploadé dans un sous-répertoire de sa racine web dans un répertoire var-xxxx où xxxx est généré aléatoirement

 

Et voila c’est presque fini, il ne reste plus qu’a supprimer le script d’installation :

 

sudo rm /var/www/jyraphe/install.php

 

Jyraphe est prêt à l’emploi :

Donc voici ma conclusion, j’ai aimé, la protection par mot de passe du téléchargement de fichier, la durée limitée de téléchargement (pas testé)

Mais voici les défauts rédhibitoires pour moi :

Il n’est pas possible de protéger l’upload de fichier, il n’y a pas d’authentification, n’importe qui peut uploader des fichier sur votre serveur (plutôt risqué).

J’ai bien pensé mettre un accès protégé par mot de passe (équivalent du .htaccess pour apache) mais dès lors le téléchargement serait protégé par ce même mot de passe.

En fait si, voir Edit ci-dessous

 

Enfin il n’y a pas d’administration pour purger les fichiers (pour cela il faut supprimer fichiers dans var-xxx/files et var-xxx/links) et lister les fichiers disponibles

 

J’ai plus qu’à trouver un autre logiciel…

 

Edit :

Le commentaire de tomamplius a piqué ma curiosité et j’ai voulu tester si sous NGINX il était possible de protéger spécifiquement un fichier, en l’occurrence le index.php pour empêcher l’ouverture à tous le monde de l’upload.

Et après pas mal d’essai voici ma configuration :

location /jyraphe {
        location ^~ /jyraphe/index.php {
		auth_basic            "Section privee";
		auth_basic_user_file  $document_root/jyraphe/.htpasswd;
		include         /etc/nginx/fastcgi_params;
		fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
		fastcgi_pass    127.0.0.1:9000;
	}
	location ~ \.php$ {
		include         /etc/nginx/fastcgi_params;
		fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
		fastcgi_pass    127.0.0.1:9000;
	}
}

Voici un article décrivant tout un workflow de téléchargement automatisé de séries au fur et à mesure de leur diffusion sur Internet.

Cette article est la compilation de nombreux de mes articles qui traitaient d’un bout du sujet

Les manipulation décrites ont été testé sur mon Dockstar mais peuvent être adaptées sans grand efforts sur tout autre machine Linux.

 

Cette article met en œuvre différentes briques logiciels et différents scripts :

  • Flexget : Surveille un flux RSS listant la disponibilité des épisodes de série, si la série est configurée, télécharge le fichier .torrent correspondant et le place dans un répertoire surveillé par Transmission
  • Transmission : télécharge la série via le protocole P2P bittorent
  • Scripts Transmission : un ensemble de scripts qui limitent la bande passante dès lors qu’un PC du LAN est allumé (pour ne pas perturber la navigation sur Internet), déplacent le fichier vidéo de la série dans une répertoire particulier dès lors que le téléchargement par Transmission est terminé (et que le ratio de partage est atteint)
  • Periscope : Scrute à intervalle régulier le répertoire où sont placé les téléchargements terminés et cherche sur divers sites la disponibilité de sous-titres, auquel cas le fichier de sous titre est téléchargé et renommé automatiquement avec le même nom que le fichier vidéo
  • Script de rangement : ce script scrute à son tour le répertoire où sont placé les téléchargements terminés et si sont présents à la fois le fichier vidéo et le fichier de sous-titre il les déplace dans un répertoire où la série peut être visionné (répertoire accessible par un HTPC ou par une Freebox)

 

Enfin avertissement d’usage : Télécharger c’est mal, cet article est une démonstration des possibilités de Linux et non pas une incitation à commettre un crime…

 

Flexget : téléchargement des fichiers torrent à partir d’un flux RSS

Installation

Dépendances : Flexget est un programme python distribué sous la forme d’un paquet egg installable via la commande easy_install du paquet python-setuptools :

sudo aptitude install python2.6 python-setuptools

(Cette installation est assez gourmande en espace disque presque 17Mo sur mon Dockstar)

Comme indiqué l’installation de Flexget est ensuite simple car packagé sous la forme d’un egg :

sudo easy_install flexget

Les paquets egg s’assurent de l’installation des dépendance (en terme de librairies Python). Lors de l’installation de PyYAML j’ai eu cette erreur qui ne semble pas avoir de conséquences :

libyaml is not found or a compiler error: forcing --without-libyaml
(if libyaml is installed correctly, you may need to
specify the option --include-dirs or uncomment and
modify the parameter include_dirs in setup.cfg)
zip_safe flag not set; analyzing archive contents...
Adding PyYAML 3.09 to easy-install.pth file

 

Configuration

Par défaut Flexget va chercher sa configuration dans un fichier config.yml dans un répertoire .flexget du répertoire  home de l’utilisateur le lançant, on créé donc ce fichier :

mkdir ~/.flexget
cd ~/.flexget
touch config.yml

Vient ensuite la configuration proprement dite de Flexget et partie la plus compliquée (enfin le temps de comprendre la syntaxe de la configuration Flexget).

Pour vous aider vous pouvez :

presets:
  global:
    email:
      from: adresse@free.fr
      to:
        - adresse@free.fr
      smtp_host: smtp.free.fr
feeds:
  Series_torrent:
    rss: http://showrss.karmorra.info/xxx
    series:
       settings:
         hdtv:
           timeframe: 3 hours
           quality: hdtv
         720p:
           timeframe: 3 hours
           quality: 720p
       hdtv:
         - Nom série 1
         - Nom série 2
       720p:
         - Nom série téléchargée en HD
    download: /data/downloads/torrents/watch/

 

Transmission : téléchargement de la série

Flexget télécharge le fichier .torrent correspondant à un épisode de série, Transmission se charge de télécharger l’épisode.

Installation

sudo aptitude install transmission-daemon transmission-cli

(place occupé sur mon système : 1 692 ko)

Le paquet transmission-cli n’est utile que pour les scripts périphériques à Transmission (déplacement des torrents terminés, économie de bande passante)

Pour ma configuration j’utilise l’arborescence de répertoire suivante :

download/
    torrents/
        complete/
        downloading/
        seeding/
        watch/
  • watch : répertoire configuré dans Flexget dans lequel les fichiers .torrent vont être déposés, Transmission est configuré pour surveiller ce répertoire et démarrer automatiquement le téléchargement correspondant
  • downloading : répertoire ou sont situés les fichiers en cours de téléchargement (fichier avec une extension part pour partial)
  • seeding : fichier complet mais pour lesquels le ratio de partage n’a pas encore été atteint
  • complete : répertoire où sont déposés in-fine les fichiers complétement téléchargés (et ayant atteint le bon ratio de partage). Ce répertoire est ensuite scruté pour la recherche des sous-titres

 

Changement de l’utilisateur démarrant Transmission (optionnel)

Stopper Transmission :

sudo /etc/init.d/transmission-daemon stop

Éditer le fichier default du script d’init :

sudo vim /etc/default/transmission-daemon

Mettre la ligne OPTIONS en commentaire :

#OPTIONS="--config-dir $CONFIG_DIR"

Éditer le script d’init

sudo vim /etc/init.d/transmission-daemon

Changer l’utilisateur démarrant le service en modifiant la ligne USER :

USER=mon_utilisateur #debian-transmission

Copier le fichier de configuration vers le HOME de notre utilisateur (et mettre à jour les droits) :

mkdir -p $HOME/.config/transmission-daemon
sudo cp /etc/transmission-daemon/settings.json $HOME/.config/transmission-daemon/
sudo chown mon_utilisateur:mon_utilisateur $HOME/.config/transmission-daemon/ -R

 

Configuration de Transmission

La configuration de Transmission doit se faire lorsque ce dernier ne fonctionne pas, il faut donc arrêter le démon si cela n’est pas déjà fait :

sudo /etc/init.d/transmission-daemon stop

On édite ensuite le fichier settings.json qui contient tous les paramètres de Transmission, selon si vous avez réalisé la configuration du paragraphe ci-dessus ce fichier se situe dans votre $HOME dans .config/transmission-deamon sinon il est dans /etc/transmission-deamon

Je ne reprendrais pas ici l’explication des différents paramètres voir pour cela mon article Installer et configurer Transmission en tant que démon

 

Paramétrage d’une Blocklist personnalisée

Une blocklist est une liste d’adresse IP avec qui on ne souhaite pas partager les fichiers en cours de téléchargement. Pour mettre à jour cette liste ou en utiliser une personnalisée se référer à mon article utiliser des listes de blocage personnalisées (blocklist) avec le démon Transmission

Déplacement des téléchargements terminés

Par défaut une fois les téléchargements terminés Transmission partage indéfiniment le fichier, ce comportement peut être modifié par script voir mon article Déplacer/enlever les téléchargements terminés de Transmission (démon)

Limitation automatique de la bande passante

Lorsque Transmission télécharge il prendra par défaut toute la bande passante, pénalisant les autres usage d’Internet sur le réseau.

Il est possible de définir des vitesses maximales de téléchargement afin de limiter ce comportement, voir il est possible de définir 2 vitesses maximales et de les planifier en fonction des jours / heures.

Mais encore mieux grâce a un petit script qui s’exécute à intervalle régulier le basculement de la vitesse maximal à la vitesse modéré se fait automatiquement dès lors qu’un PC du réseau est allumé, pour en savoir plus voir mon article Limiter l’usage de la bande passante par Transmission automatiquement

 

Periscope : recherche des sous-titres

Périscope permet de télécharger les sous-titres associés à un fichier vidéo. Il se base sur divers sites fournissant des sous titres (dont OpenSubtitles.org)

Personnellement je l’installe depuis les sources ainsi :

Installation de subversion pour récupérer le dernier code source et des dépendances de Périscope :

sudo aptitude install subversion python-setuptools python-beautifulsoup python-xdg

Téléchargement du code source :

svn checkout http://periscope.googlecode.com/svn/trunk/ periscope-svn

Installation :

cd periscope-svn
sudo python setup.py install

Bonus : mon plugin sous-titres.eu (pour l’installer copier le fichier dans le répertoire plugins des sources et ajouter la ligne « from SousTitresEu import SousTitresEu » dans le fichier __init__.py du répertoire plugins puis compiler)

 

Configuration de la langue via le fichier ~/.config/periscope

[DEFAULT]
 lang = fr
 plugins =

Plus de détails :Téléchargement automatique des sous-titres de série avec Periscope et Installer Periscope depuis les sources + activation / désactivation des plugins

 

Script de déplacement des fichiers

Dernière étape, on a le fichier vidéo (téléchargé via Flexget et Transmission) et le fichier de sous-titre (téléchargé par Periscope), tous deux portent le même nom (merci Periscope) maitenant on veut pouvoir les ranger, c’est à dire les déplacer vers un autre espace disque où ils pourront être visionnées.

Ce répertoire est très spécifique à l’installation de chacun je vais ici décrire la mienne, à vous de l’adapter à votre architecture.

 

Donc dans mon cas c’est mon dockstar qui réalise toutes les opération de téléchargement, les séries sont ensuite déplacé vers le Freebox Server pour celle en HD et vers mon mediacenter pour les séries SD.

 

Mon mediacenter est une machine Linux le plus simple est donc de monter le répertoire de destination via sshfs.

Préparation déplacement de fichier via sshfs

Sur la machine cible le client openssh (paquet openssh-client) devra être installé.

Sur la machine source (Dockstar) ayant réalisée les téléchargements et sur laquelle le script va tourner on crée ce qu’il faut pour établir une connexion SSH sans mot de passe (donc scriptable)

Création des clés :

ssh-keygen -t rsa -b 2048

Ce qui donne :

Generating public/private rsa key pair.
 Enter file in which to save the key (/home/mon_user/.ssh/id_rsa):
 Enter passphrase (empty for no passphrase):
 Enter same passphrase again:
 Your identification has been saved in /home/mon_user/.ssh/id_rsa.
 Your public key has been saved in /home/mon_user/.ssh/id_rsa.pub.
 The key fingerprint is:
 bb:3c:91:f4:6f:cb:da:b1:32:7b:08:f8:4b:33:35:44 mon_user@mon_dockstar
 The key's randomart image is:
 +--[ RSA 2048]----+
 |          E      |
 |         .       |
 |          .      |
 |        ..       |
 |       oSoo      |
 |      . +o..     |
 |       .=o o.    |
 |       oo++o+o   |
 |        +ooB=.   |
 +-----------------+

Copie de la clé  publique sur la mahcine cible (le mediacenter) :

ssh-copy-id -i /home/mon_user/.ssh/id_rsa.pub mon_user_distant@IP_machine_distante

Ce qui donne :

Now try logging into the machine, with "ssh 'mon_user_distant@IP_machine_distante'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

On obéit au recommandation ci-dessus et on se connecte en SSH sur la machine cible (mediacenter) et on ajoute l’ordinateur distant à liste des known_host, puis on se déconnecte.

On installe ensuite le paquet sshfs (2 879 ko sur mon Dockstar)

sudo aptitude install sshfs

Préparation du répertoire devant accueillir le montage via sshfs et gestion des droits utilisateur :

sudo mkdir /mnt/sweetbox
sudo chown mon_user:mon_user /mnt/sweetbox
sudo adduser mon_user fuse
sudo chown root:fuse /dev/fuse

Et on reboot, on peut ensuite (toujours du Dockstar) tester le montage sshfs :

sshfs mon_user_distant@IP_mediacenter:/chemin/cible/vers/les/series /mnt/sweetbox/

Pour démonter :

fusermount -u /mnt/sweetbox

Script de déplacement des fichiers

Voici le script de déplacement des fichier de série proprement dit (voir les explication après le script) :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
 
SERIESNONTRIE=/data/downloads/torrents/complete
SERIES_SD_PATH=/mnt/sweetbox
SERIES_HD_PATH=/mnt/freebox
 
cd $(dirname "${0}")
 
FREEBOX_MOUNTED=false
function chechAndMountFreebox {
  if [ $FREEBOX_MOUNTED == false ]; then
    echo "Montage du répertoire contenant les séries de la Freebox"
    curlftpfs ftp://192.168.1.254/Disque%20dur/Vidéos/Séries /mnt/freebox/ -o user=freebox:password,uid=1000,gid=1000,umask=003
    FREEBOX_MOUNTED=true
  fi
}
 
SWEETBOX_MOUNTED=false
function chechAndMountSweetbox {
  if [ $SWEETBOX_MOUNTED == false ]; then
    echo "Montage du répertoire contenant les séries de Sweetbox"
    ./wakeonlan.sh "adresse MAC" "Adresse IP"
    sshfs user_distant@adresse_ip:/chemin/cible/vers/les/series /mnt/sweetbox/
    SWEETBOX_MOUNTED=true
  fi
}
 
#pour tous les éléments présents dans le repertoire à trier 
for F in $SERIESNONTRIE/*
do
  # si c'est un fichier
  if [ -f "$F" ]; then
    extension=`echo ${F##*.} | tr "[:upper:]" "[:lower:]"`
    if [ $extension == "avi" ] ; then
      SERIES_PATH=$SERIES_SD_PATH
      chechAndMountSweetbox
    elif [ $extension == "mkv" ] ; then
      SERIES_PATH=$SERIES_HD_PATH
      chechAndMountFreebox
    else
      continue
    fi
 
    # on deduit le nom de la serie à partir du nom du fichier
    serie=`basename "$F" | sed 's/\([a-zA-Z.]*\.S[0-9]\{2\}\)E[0-9]\{2\}.*/\1/'`
 
    # si il existe un fichier srt portant le meme nom dans le meme repertoire
    if [ -f "${F%.*}.srt" ]; then
 
      # on deplace les 2 fichiers dans un repertoire portant le nom de la serie et de la saison
      echo Deplacement de "${F%.*}.*" dans $SERIES_PATH/$serie
 
      # si le repertoire destination n'existe pas
      if [ ! -d "$SERIES_PATH/$serie" ]; then
        # on le crée
        echo Creation du repertoire $SERIES_PATH/$serie
        mkdir -p "$SERIES_PATH/$serie/Vus"
      fi
 
      mv ${F%.*}.srt $SERIES_PATH/$serie
      mv ${F%.*}.$extension $SERIES_PATH/$serie
    fi
  fi
done
 
if [ $FREEBOX_MOUNTED == true ]; then
  echo "Démontage du répertoire contenant les séries de la Freebox"
  sudo umount /mnt/freebox/
fi
if [ $SWEETBOX_MOUNTED == true ]; then
  echo "Démontage du répertoire contenant les séries de Sweetbox"
  fusermount -u /mnt/sweetbox
  ./shutdown.sh "mon_user_distant" "IP distante"
fi

 

Le principe de ce script est le suivant, on parcours tous les fichiers présents dans le répertoire où sont stocké les téléchargements terminés (download/torrents/complete/)  (ligne 29)

Ligne 37 : Si le fichier à l’extension .mkv c’est une série en HD on va donc potentiellement le déplacer vers la Freebox.

On verifie donc que le disque dur de la Freebox est bien monté (via un booléen) sinon on le fait (voir mon article Monter le disque dur du Freebox Server (v6) en ligne de commande) (ligne 39 et fonction en ligne 9-16)

Ligne 34 : Si le fichier à l’extension .avi c’est une série en SD on va donc potentiellement le déplacer vers le mediacenter (sweetbox) via sshfs.

Je fais alors appel à mon script de démarrage via WakeOnLan qui démarre la machine dont on passe l’adresse IP et MAC en paramètre si elle ne l’est pas déjà, sinon on flag le fait que le mediacenter était déjà allumé pour ne pas l’éteindre à la fin (voir Allumer / éteindre un PC sous Linux à distance (scripts)). Puis on monte le répertoire de destination. (ligne 36 et fonction en ligne 18-27)

Ligne 48 : on vérifie si on a un fichier de sous-titre, si oui on est OK pour déplacer les 2 fichiers (lignes 60-61) vers le chemin cible déterminé en fonction du type du fichier vidéo en cours de traitement (lignes 35 et 38)

Les séries sont rangé dans le répertoire cible dans un sous répertoire du nom de la série (ligne 45) que l’on crée le cas échéant (lignes 54-58)

Lignes 66-74 : Puis on range comme c’était avant notre arrivé, on démonte les point de montage et on n’éteint le mediacenter si ce dernier n’était pas allumé avant le script (voir Allumer / éteindre un PC sous Linux à distance (scripts))

 

Planification

Dans cette article de nombreux scripts ont été mis en œuvre il faut les planifier via CRON, en voici un exemple :

MAILTO=""
 LANG=fr_FR.UTF-8
 PATH=/usr/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin
 ##########################################################
 #minute (0-59),                                          #
 #|  hour (0-23),                                         #
 #|  |  day of the month (1-31),                          #
 #|  |  |  month of the year (1-12),                      #
 #|  |  |  |  day of the week (0-6 with 0=Sunday)         #
 #|  |  |  |  |       commands                            #
 ##########################################################
 
##### Opérations pour Transmission
# téléchargement d'une blocklist personnalisé une fois par semaine
0 0 * * 0 $HOME/bin/blocklist_transmission.sh > $HOME/tmp/maintenance/blocklist.log
# Toutes les 3h on vérifie s'il n'y a pas une téléchargement terminé à déplacer
30 */3 * * * $HOME/bin/remove_completed_torrents.sh
# Toutes les minutes on vérifie s'il n'y a pas un PC qui s'allume sur le réseau pour basculer en vitesse lente
*/1 * * * * $HOME/bin/alt_speed_transmission.sh
 
##### Téléchargement des séries, on enchaine flexget, periscope et le déplacement des fichier toutes les 3h (les 3 scripts étant espacé de 20 minutes)
0 */3 * * * flexget -v --cron > $HOME/tmp/flexget.log
20 */3 * * * periscope /data/downloads/torrents/complete/
40 */3 * * * $HOME/bin/move_tv_show.sh

 

Sources:

Flexget :

Transmission :

TVNamer (pas utilisé encore) :

SSHFS :

La nouvelle (enfin plus tant que ça) Freebox v6 possède un boîtier serveur (comme la v5), ce dernier est équipé d’un disque dur de 250 Go.

Voici les différentes techniques que j’ai testé pour monter ce disque dur sous Linux (Debian/Ubuntu)

Montage via Samba :

Si vous ne l’avez pas déjà, installer le paquet cifs-utils (lors de l’installation une question relative au workgroup de travail est posé, ne pas s’en occuper)

La montage se fait ensuite via la commande mount :

sudo mount -t cifs //mafreebox.freebox.fr/Disque\ dur/Vidéos  /mnt/freebox/ -o user=freebox,password=password,uid=1000,gid=1000,rw

L’utilisateur et le mot de passe sont configurables via la console locale de la freebox (http://mafreebox.freebox.fr) :

L’accès est anonyme par défaut (pas de login / mot de passe) mais si vous utilisez cette commande dans un script il faut mettre un login / mot de passe sinon la commande mount demande un mot de passe (pour lequel vous pouvez sisir n’importe quoi)

Montage via FTP

Installer le paquet curlftpfs, puis le montage se fait avec la commande du même nom :

curlftpfs ftp://192.168.1.254/Disque%20dur/Vidéos /mnt/freebox/ -o user=freebox:password,uid=1000,gid=1000,umask=003

(pas besoin de sudo ici)

Le login, mot de passe est aussi défini dans la console locale de la freebox mais dans al zone FTP :

Contrairement à l’accès Samba, l’accès au FTP n’autorise pas par défaut l’accès anonyme, mais vous pouvez le forcer.


Source :

[resolu] Monter le HDD NAS d’une FreeBox V6 ‘revolution’ ? – Forum Ubuntu-fr.org : presque tout y est, sauf 2-3 réglage concernant les droits (uid / gid)

24 juin 11

Firefox 5.0 est sorti cette semaine, bien que n’apportant aucune révolution j’ai voulu l’installer sur mon poste de travail sous Windows XP.

L’installation s’est déroulé sans problème mais au démarrage j’ai eu cette erreur :

Echofon (extension twitter) n’arrive pas à se connecter, ce qui est très gênant pour moi, je suis donc repassé sous Firefox 4.0.1.

Après quelques recherches sur internet voici le lien pour télécharger l’installeur qui permet de ré-installer Firefox 4.0.1 en Français : Firefox 4.0.1 – Win – 32bits

 

Source : Mozilla Firefox 5.0 : en fin d’article les liens pour les 3 dernières versions de Firefox 2.0.0.20, 3.6.18 et 4.0.1 pour Windows, Linux et OSX

Commentaires fermés