• Seedbox
  • [Résolu] Ajouter un Flux RSS à ma Seedbox

Bonsoir,

j'aimerai une nouvelle fois abuser de votre expertise je voudrais être sûr de ne pas faire connerie avec la configuration que je viens de mettre en place.
J'ai suivi les étapes suivantes dans cet ordre :
1 - Installation auto via le script http://mondedie.fr/d/5399
2 - Sécurisation et log http://mondedie.fr/d/5318
3 - installation de cakebox light pour chaque user (super relou le truc ) http://mondedie.fr/d/5314

comme je pense que tout est propre (du moins j'en ai l'impression) et que je veux rajouter une fonction la dedans je voudrais votre avis.

Dans mon ancienne installation de seedbox nous étions aussi plusieurs mais il n'y avait pas de comptes utilisateur donc on avait chacun un dossier où télécharger.

Comme pour certains d'entre nous, nous avons un NAS syno et pour les autres simplement des FreeboxV6, j'avais ajouté une page rss.php sur mon server qui scannait toute l'arbo ou alors par dossier en lui spécifiant un nom. Il suffisait alors de rajouter le flux aux centre de téléchargement des synos et des freebox.

Je précise avant d'aller plus loin que j'ai vu qu'il existait sur le forum un tuto pour synchroniser une seedbox avec un NAS (http://mondedie.fr/d/5433) mais cela n'est pas applicable au cas Freebox.

Du coup je cherche à être sûr de pas me louper avec le fichier rss.php
- vis à vis des droits des différents utilisateurs et leurs dossiers
- pour pouvoir donner accès aux fichiers téléchargés par d'autres à tout le monde
- que ça soit toujours sécurisé comme maintenant.

avant de modifier quoi que ce soit j'aurais aime donc avoir l'avis des pros... siouuuuuplait

Pour information le code que j'utilisais (visible ici http://www.nas-forum.com/forum/topic/37336-ssh-download-station-ou-notification/)
<?php

//Utilisation : <-----------URL------------>/rss.php?dossier=<NOM_DU_DOSSIER>
//Si le paramêtre dossier n'est pas mis, le dossier par défaut est listé.

/********************************/
/*        CONFIGURATION         */
/********************************/

	$physical_path = '/var/www/'; // Dossier à lister par défaut (ex : /var/www/download)
	
	$max = 20; //Nombre de fichiers à afficher dans le flux RSS

	$site = 'https://127.0.0.1'; // IP ou NDD (http://<IP> ou htps://<IP> ou ftp://<IP> etc... utilisé pour télécharger les fichiers)

	$nomDePage = 'Le flux RSS de mon site';// Nom affiché

	$lienInterne = '/var/www/'; //position non affiché dans l'url (ex : /var/www/download/fichier.ext et url = http://<IP>/download/fichier.ext, mettre /var/www/ dans ce champs car non présent dans l'url)

        $tempsAttente = 300; //Temps (en s) sans que le fichier soit modifié avant de le lister. (si trop rapide, il peut apparaître alors que le fichier n'est pas fini de téléchargé).

//VOIR LIGNE 100 POUR INDIQUER LES EXTENSIONS AUTORISES : 
//			Ajouter '|| get_file_icon($file)=="ext"' (sans les '')  avant la fin de la parenthèse avec ext, l'extension que l'on veut qui soit listé

/********************************/
/*          FONCTIONS           */
/********************************/

	$excludeFiles = array(".", "..", ".htaccess", "");  // Liste des fichiers ignorés dans le listing

/**
 * Récupère récursivement le contenu d'un répertoire
 * et le retourne sous forme d'array
 * @param $directory Le répertoire à traiter
 **/
function recursive_directory_tree($directory = null)
{
    global $excludeFiles;

    //If $directory is null, set $directory to the current working directory.
    if ($directory == null) {
        $directory = getcwd();
    }

    //declare the array to return
    $return = array();

    //Check if the argument specified is an array
    if (is_dir($directory)) {

        //Scan the directory and loop through the results
        foreach(scandir($directory) as $file) {

            //. = current directory, .. = up one level. We want to ignore both.
            if ($file[0] == ".") {
                continue;
            }

            //Exclude some specified files
            if (in_array($file, $excludeFiles)) {
                continue;
            }

            //Check if the current $file is a directory itself.
            //The appending of $directory is necessary here.
            if (is_dir($directory."/".$file))
            {
                //Create a new array with an index of the folder name.
                $return[$directory."/".$file] = recursive_directory_tree($directory."/".$file);
            }
            else
            {
                //If $file is not a directory, just add it to th return array.
                $return[] = $directory."/".$file;
            }
        }
    }
    else
    {
        $return[] = $directory;
    }

    return $return;
}

/**
 * Stock dans un tableau tous les fichiers video présents dans le repertoire mis en pareamètre
 **/
function liste($dossier)
{
  global $tabTrie;
  foreach ($dossier as $file) 
  {
    if (  is_array($file) )
    {
      liste($file);
    }
    else
    {
        if(get_file_icon($file)=="mp4" || get_file_icon($file)=="mkv" || get_file_icon($file)=="avi" )
        {
          array_push($tabTrie, $file);
        }
    }
  }
}


/**
 * Convertit la taille en Xo
 * @param $fs La taille à convertir
 */
function convert_size($fs)
{
     if ($fs >= 1073741824)
      $fs = round($fs / 1073741824 * 100) / 100 . " Go";
     elseif ($fs >= 1048576)
      $fs = round($fs / 1048576 * 100) / 100 . " Mo";
     elseif ($fs >= 1024)
      $fs = round($fs / 1024 * 100) / 100 . " Ko";
     else
      $fs = $fs . " o";
     return $fs;
}

/**
 * Retourne l'extention d'un fichier en fonction de son type
 * @filename Le nom du fichier à considérer
 */
function get_file_icon($filename)
{
  
  return pathinfo($filename, PATHINFO_EXTENSION);
  
}

/**
 * Retourne le mime d'un fichier
 * @filename Le nom du fichier à considérer
 */
function mime_file($filename)
{
  
	$finfo = finfo_open(FILEINFO_MIME_TYPE); // Retourne le type mime à la extension mimetype
	$mime=finfo_file($finfo, $filename);
	finfo_close($finfo);
	return $mime;
  
}

/********************************/
/*          FONCTIONS           */
/********************************/

	$entete = '<?xml version="1.0" encoding="ISO-8859-1"?> 
		<rss version="2.0" 
				xmlns:atom="http://www.w3.org/2005/Atom" 
				xmlns:content="http://purl.org/rss/1.0/modules/content/" 
				xmlns:wfw="http://wellformedweb.org/CommentAPI/" 
				xmlns:media="http://search.yahoo.com/mrss/" 
				xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
				<atom:link href="'.$site.'/rss.php" rel="self" type="application/rss+xml" />
				<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
				<title>'.$nomDePage.'</title>
				<link>'.$site.'</link>
				<language>fr-FR</language>
				<description>Liste des nouveaux fichiers</description>
	';
	$pied = '</channel>
		</rss>';

	if(isset ($_GET['dossier']))
		$physical_path = $physical_path.'/'.$_GET['dossier'];
	
	$current_dir = array();
	$tab= array();
	$tabSize = array();
	$tabTrie= array();
	$current_dir = recursive_directory_tree($physical_path);


	liste($current_dir);


	foreach ($tabTrie as $key => $fichier)
	{
	
		$time = filemtime($fichier);
		$actualTime = time();
		$date = date("F d Y H:i:s.", filemtime($fichier));
			
		if($fichier != '.' && $fichier != '..' && $fichier != 'index.php')
		{
			$tab["$fichier"] = $time;
			$taille=filesize($fichier);
			$tabSize["$fichier"] = $taille;
		} 

	}
	
		array_multisort($tab, SORT_DESC, $tabSize);

			 echo $entete;
		
		$nombre = 1;
	foreach ($tab as $fichier => $heure) 
	{
		$nom = basename($fichier);
		$extension = get_file_icon($fichier,TRUE);
		$nom = str_replace(".$extension", "" , $nom);
		$nom = str_replace(".", " " , $nom);

/********************************/
/*           RENOMMAGE          */
/********************************/

		if(substr_count(strtoupper($nom), strtoupper(" epz")) > 0)
		{
			$nom = str_replace("epz-", "" , $nom);
		}
		
		if(substr_count(strtoupper($nom), strtoupper(" HDTV")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("VTDH"))+5));
		}

		if(substr_count(strtoupper($nom), strtoupper(" PDTV")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("VTDP"))+5));
		}
		
		if(substr_count(strtoupper($nom), strtoupper(" WEB")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("BEW"))+4));
		}
		
		if(substr_count(strtoupper($nom), strtoupper(" XVID")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("DIVX"))+5));
		}
		
		if(substr_count(strtoupper($nom), strtoupper(" LD")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("DL"))+3));

		}
		
		
		if(substr_count(strtoupper($nom), strtoupper(" DC")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("CD"))+3));
		}
		
		if(substr_count(strtoupper($nom), strtoupper(" x264")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("462x"))+3));
		}

		if(substr_count(strtoupper($nom), strtoupper(" bluray")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("yarulb"))+7));
		}
			$nom = ucwords(mb_strtolower($nom));

			$nom = str_replace ( "French" ,  "FRENCH", $nom);
			$nom = str_replace ( "Vostfr" ,  "VOSTFR", $nom);
			$nom = str_replace ( "e0" ,  "E0", $nom);
			$nom = str_replace ( "e1" ,  "E1", $nom);
			$nom = str_replace ( "e2" ,  "E2", $nom);

			$nom = $nom." [$extension]";
/********************************/
/*           RENOMMAGE          */
/********************************/

		if(($actualTime-$heure) > $tempsAttente)
		{
			if ($nombre <= $max)
			{
				echo('
					<item>
						<title>'.$nom.'</title>
						<description>'.$nombre.' | Format : '.$extension.' | Date d\'ajout : '. date("d/m/Y H:i:s", $heure).' | Taille : '.convert_size($tabSize["$fichier"]).'</description>
						<pubDate>'.date("D, d M Y H:i:s", $heure).'</pubDate>
						<link>'.$site.str_replace($lienInterne, "" ,$fichier).'</link>
						<enclosure length="'.$tabSize[$fichier].'" type="'.mime_file($fichier).'" url="'.$site.str_replace($lienInterne, "" ,$fichier).'" />
					</item>
				');
				$nombre++;
			}
		}							
	}
		
	echo $pied; 	
	
?>
Salut, j'ai pas lu ton script mais je sais que cakebox permet de dl sans mettre les logins avec l'url :
http://cakebox.ndd.fr/<user>/<lesdossiers>/<lenomdufichier>
Les dossiers c'est a partir l'arborescence dans le dossier /home/<user>/torrents/

Je pense qu'il y a moyen de généré un flux rss avec ça
Ok merci pour cette information
ça va m'aider à configurer le fichier RSS

par contre je me demande aussi où mettre physiquement le fichier.
doit il être dans le dossier www/base?
comment faire le lien avec les user?
une fois le fichier ajouté, est ce qu'il y a quelque chose à faire sous nginx ainsi que les éléments de sécurisation que j'ai mis en place via le tuto?

oui je part de très loin
pour info, tu es sur du wheezy?
euuuu
disons que j'ai installé Debian 7 64 Bits
j'aurais donc tendance à dire oui sauf si j'ai pas pigé un truc... ce qui n'est pas impossible
Oui, il s'agit bien de Wheezy. C'est le nom de la v7 de Debian.
gormson wrote:Ok merci pour cette information
ça va m'aider à configurer le fichier RSS

par contre je me demande aussi où mettre physiquement le fichier.
doit il être dans le dossier www/base?
comment faire le lien avec les user?
une fois le fichier ajouté, est ce qu'il y a quelque chose à faire sous nginx ainsi que les éléments de sécurisation que j'ai mis en place via le tuto?

oui je part de très loin :rolleyes:
Tu peux le mettre dans /www/base oui ! Je ne vois pas pourquoi ça dérangerais. Après ce sera un access sans login et mot de passe. Tu n'as rien a touché à nginx si je me trompe pas.
en effet je n'ai pas touché à autre chose niveau paramètre que ce qui était demandé dans les tutos.

du coup le fichier RSS sera dans /www/base/ mais quid des accès, parce que du coup le flux aura des liens sur la base de l'adresse
http://cakebox.ndd.fr/<user>/<lesdossiers>/<lenomdufichier>
et d'après ce que tu disais, avec un lien de ce type pas de login/pass

ça veut dire que n'importe qui peut aller taper un fichier sans code d'accès du moment qu'il connait le format de l'adresse?

Pas que je doute de ce que tu dis mais ça me parait étonnant.
faudrait que j'essaye.
Bon, n'ayant pas susciter la passion avec ce sujet, et après avoir cherché encore et encore j'ai trouvé un moyen d'avoir le flus RSS fonctionnel, derrière l'authentification du site et aussi comment l'utiliser ouf !!

Ce flux est compatible NAS Syno et Freebox Revolution (j'avais que ça pour tester)😛

Etape 1 : le fichier rss.php

Par rapport au premier code que j'avais collé j'ai corrigé une partie pour que le format de date soit compatible avec les freebox V6. M'a juste fallut 2h pour trouver
il suffit de créer un fichier par utilisateur pour que chacun ai le sien.
Perso je l'ai placé dans /rutorrent/ pour bénéficier du l'authentification, je ne voulais pas qu'il soit dans /www/base/ et donc accessible à tout va par n'importe qui.
<?php

//Utilisation : <-----------URL------------>/rss.php?dossier=<NOM_DU_DOSSIER>
//Si le paramêtre dossier n'est pas mis, le dossier par défaut est listé.

/********************************/
/*        CONFIGURATION         */
/********************************/

	$physical_path = '/home/<username>/torrents/'; // Dossier à lister par défaut (ex : /var/www/download)

	$max = 70; //Nombre de fichiers à afficher dans le flux RSS

	$site = 'http://IP_du_Server/cakebox/<username>'; // IP ou NDD (http://<IP> ou htps://<IP> ou ftp://<IP> etc... utilisé pour télécharger les fichiers)

	$nomDePage = 'Le Nom de Votre Flux';// Nom affiché

	$lienInterne = '/home/<username>/torrents/'; //position non affiché dans l'url (ex : /var/www/download/fichier.ext et url = http://<IP>/download/fichier.ext, mettre /var/www/ dans ce champs car non présent dans l'url)

        $tempsAttente = 300; //Temps (en s) sans que le fichier soit modifié avant de le lister. (si trop rapide, il peut apparaître alors que le fichier n'est pas fini de téléchargé).

//VOIR LIGNE 100 POUR INDIQUER LES EXTENSIONS AUTORISES :
//			Ajouter '|| get_file_icon($file)=="ext"' (sans les '')  avant la fin de la parenthèse avec ext, l'extension que l'on veut qui soit listé

/********************************/
/*          FONCTIONS           */
/********************************/

	$excludeFiles = array(".", "..", ".htaccess", "");  // Liste des fichiers ignorés dans le listing

/**
 * Récupère récursivement le contenu d'un répertoire
 * et le retourne sous forme d'array
 * @param $directory Le répertoire à traiter
 **/
function recursive_directory_tree($directory = null)
{
    global $excludeFiles;

    //If $directory is null, set $directory to the current working directory.
    if ($directory == null) {
        $directory = getcwd();
    }

    //declare the array to return
    $return = array();
//Check if the argument specified is an array
    if (is_dir($directory)) {

        //Scan the directory and loop through the results
        foreach(scandir($directory) as $file) {

            //. = current directory, .. = up one level. We want to ignore both.
            if ($file[0] == ".") {
                continue;
            }

            //Exclude some specified files
            if (in_array($file, $excludeFiles)) {
                continue;
            }

            //Check if the current $file is a directory itself.
            //The appending of $directory is necessary here.
            if (is_dir($directory."/".$file))
            {
                //Create a new array with an index of the folder name.
                $return[$directory."/".$file] = recursive_directory_tree($directory."/".$file);
            }
            else
            {
                //If $file is not a directory, just add it to th return array.
                $return[] = $directory."/".$file;
            }
        }
    }
    else
    {
        $return[] = $directory;
    }

    return $return;
}

/**
 * Stock dans un tableau tous les fichiers video présents dans le repertoire mis en pareamètre
 **/
function liste($dossier)
{
  global $tabTrie;
  foreach ($dossier as $file)
  {
    if (  is_array($file) )
    {
      liste($file);
    }
    else
    {
        if(get_file_icon($file)=="mp4" || get_file_icon($file)=="mkv" || get_file_icon($file)=="avi" || get_file_icon($file)=="zip" || get_file_icon($file)=="cbz" || get_file_icon($file)=="pdf" || get_file_icon($file)=="cbr" )
        {
          array_push($tabTrie, $file);
        }
    }
  }
}


/**
 * Convertit la taille en Xo
 * @param $fs La taille à convertir
 */
function convert_size($fs)
{
     if ($fs >= 1073741824)
      $fs = round($fs / 1073741824 * 100) / 100 . " Go";
     elseif ($fs >= 1048576)
      $fs = round($fs / 1048576 * 100) / 100 . " Mo";
     elseif ($fs >= 1024)
      $fs = round($fs / 1024 * 100) / 100 . " Ko";
     else
      $fs = $fs . " o";
     return $fs;
}

/**
 * Retourne l'extention d'un fichier en fonction de son type
 * @filename Le nom du fichier à considérer
 */
function get_file_icon($filename)
{

  return pathinfo($filename, PATHINFO_EXTENSION);

}

/**
 * Retourne le mime d'un fichier
 * @filename Le nom du fichier à considérer
 */
function mime_file($filename)
{

	$finfo = finfo_open(FILEINFO_MIME_TYPE); // Retourne le type mime à la extension mimetype
	$mime=finfo_file($finfo, $filename);
	finfo_close($finfo);
	return $mime;

}

/********************************/
/*          FONCTIONS           */
/********************************/

	$entete = '<?xml version="1.0" encoding="ISO-8859-1"?>
		<rss version="2.0"
				xmlns:atom="http://www.w3.org/2005/Atom"
				xmlns:content="http://purl.org/rss/1.0/modules/content/"
				xmlns:wfw="http://wellformedweb.org/CommentAPI/"
				xmlns:media="http://search.yahoo.com/mrss/"
				xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
				<atom:link href="'.$site.'/rss.php" rel="self" type="application/rss+xml" />
				<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
				<title>'.$nomDePage.'</title>
				<link>'.$site.'</link>
				<pubDate>'.date('r', time()).'</pubDate>
				<language>fr</language>
				<description>Liste des nouveaux fichiers</description>
	';
	$pied = '</channel>
		</rss>';

	if(isset ($_GET['dossier']))
		$physical_path = $physical_path.'/'.$_GET['dossier'];

	$current_dir = array();
	$tab= array();
	$tabSize = array();
	$tabTrie= array();
	$current_dir = recursive_directory_tree($physical_path);


	liste($current_dir);


	foreach ($tabTrie as $key => $fichier)
	{

		$time = filemtime($fichier);
		$actualTime = time();
		$date = date("F d Y H:i:s.", filemtime($fichier));

		if($fichier != '.' && $fichier != '..' && $fichier != 'index.php')
		{
			$tab["$fichier"] = $time;
			$taille=filesize($fichier);
			$tabSize["$fichier"] = $taille;
		}

	}

		array_multisort($tab, SORT_DESC, $tabSize);

			 echo $entete;

		$nombre = 1;
	foreach ($tab as $fichier => $heure)
	{
		$nom = basename($fichier);
		$extension = get_file_icon($fichier,TRUE);
		$nom = str_replace(".$extension", "" , $nom);
		$nom = str_replace(".", " " , $nom);

/********************************/
/*           RENOMMAGE          */
/********************************/

		if(substr_count(strtoupper($nom), strtoupper(" epz")) > 0)
		{
			$nom = str_replace("epz-", "" , $nom);
		}

		if(substr_count(strtoupper($nom), strtoupper(" HDTV")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("VTDH"))+5));
		}

		if(substr_count(strtoupper($nom), strtoupper(" PDTV")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("VTDP"))+5));
		}

		if(substr_count(strtoupper($nom), strtoupper(" WEB")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("BEW"))+4));
		}

		if(substr_count(strtoupper($nom), strtoupper(" XVID")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("DIVX"))+5));
		}
		if(substr_count(strtoupper($nom), strtoupper(" LD")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("DL"))+3));

		}
		if(substr_count(strtoupper($nom), strtoupper(" DC")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("CD"))+3));
		}

		if(substr_count(strtoupper($nom), strtoupper(" x264")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("462x"))+3));
		}

		if(substr_count(strtoupper($nom), strtoupper(" bluray")) > 0)
		{
			$nom = strrev($nom);
			$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("yarulb"))+7));
		}
			$nom = ucwords(mb_strtolower($nom));

			$nom = str_replace ( "French" ,  "FRENCH", $nom);
			$nom = str_replace ( "Vostfr" ,  "VOSTFR", $nom);
			$nom = str_replace ( "e0" ,  "E0", $nom);
			$nom = str_replace ( "e1" ,  "E1", $nom);
			$nom = str_replace ( "e2" ,  "E2", $nom);

			$nom = $nom." [$extension]";
/********************************/
/*           RENOMMAGE          */
/********************************/

		if(($actualTime-$heure) > $tempsAttente)
		{
			if ($nombre <= $max)
			{
				echo('
					<item>
						<title>'.$nom.'</title>
						<description>'.$nombre.' | Format : '.$extension.' | Date d\'ajout : '. date("d/m/Y H:i:s", $heure).' | Taille : '.convert_size($tabSize["$fichier"]).'</description>
						<pubDate>'.date('r', $heure).'</pubDate>
						<link>'.$site.str_replace($lienInterne, "" ,$fichier).'</link>
						<enclosure length="'.$tabSize[$fichier].'" type="'.mime_file($fichier).'" url="'.$site.str_replace($lienInterne, "" ,$fichier).'" />
					</item>
				');
				$nombre++;
			}
		}
	}

	echo $pied;
?>
Etape 2 : Utiliser un flux RSS nécessitant une authentification

Le centre de DL des syno et des Fbx ne permettent pas de rentrer une adresse du type http://login:mdp@IP
de même, pas moyen de s'identifier par la suite.

Du coup j'ai trouvé cet outil en ligne : https://freemyfeed.com

Vous rentrez l'adresse de votre flux RSS : http://IP/rutorrent/rss.php
Votre login rutorrent
votre pass rutorrent

et ouala vous avez un lien de généré et qui ne nécessite plus d'authentification mais qui le gère en background.
il ne reste plus qu'à mettre l'option "téléchargement automatique" pour le flux et tout vos nouveaux éléments seront téléchargés automatiquement.

Bon au moment où j'écris ces lignes, le site freemyfeed est en rade... A voir si c'est régulier ou un cas d'espèce.

En tout cas ça a fonctionné (jusqu'au plantage de freemyfeed) pour le listing des éléments et pour en DL.

Voilou... autorépondage completed.
Salut,

C'est sympa comme fonction je trouve, par contre tu as une erreur dans le script que tu donnes. C'est mineur, c'est juste :
if ($nombre <= $max)
			{
				echo('
					<item>
						<title>'.$nom.'</title>
						<description>'.$nombre.' | Format : '.$extension.' | Date d\'ajout : '. date("d/m/Y H:i:s", $heure).' | Taille : '.convert_size($tabSize["$fichier"]).'</description>
						<pubDate>'.date('r', $heure).'</pubDate>
						<link>'.$site.str_replace($lienInterne, "" ,$fichier).'</link>
						<enclosure length="'.$tabSize[$fichier].'" type="'.mime_file($fichier).'" url="'.$site.str_replace($lienInterne, "" ,$fichier).'" />
					</item>
				');
				');
				$nombre++;
			}
Il faut enlever le :
');
C'est dommage de devoir passer par un tiers pour pouvoir utiliser les RSS de manière sécurisé sur une freebox...
Merci de l'avoir signalé

Comme j'ai fais les copier coller depuis "more", même en faisant attention page par page, j'ai fait un recouvrement.

j'ai corrigé.

La limitation du flux sécurisé est applicable pour Freebox et syno, (à moins que je n'ai pas compris comment faire)
gormson wrote: Le centre de DL des syno et des Fbx ne permettent pas de rentrer une adresse du type http://login:mdp@IP
de même, pas moyen de s'identifier par la suite.
Euh par contre pour les freebox c'est tout à possible de récupérer des liens https|http://login:mdp@ip/path/file.ext , je le fais tous les jours avec ma v6...

M''enfin tu parlais surement des rss, je n'ai jamais testé...
Oui je parlais des RSS, lorsque j'ai essayé de rentrer l'adresse du flux RSS avec ce format sans succès.

D'où le contournement par freemyfeed.com
A priori, le RSS authentifié sur la Freebox ça a l'air possible...

Je viens de tester avec un feed de rutorrent (si tu as le plugin feeds installé). J'ai mis le feed dans la freebox , il m'a listé mes fichiers et il a pu me rapatrier le fichier...
Bon apres ce plugin a l'air bien buggé , vu que :
-il a l'air de marcher qu'avec les "petits" flux (il ne me proposait un flux que pour "torrrents actifs", ou je n'avais que 4 torrents actifs)
-tu ne peux mettre de flux rss en https , sinon il te propose de telecharger des fichiers sous la forme httpss://
-ça ne marche qu'avec les torrents avec un seul fichier (si tu as mis une serie , il te telecharge que un épisode)

Tout ça pour dire que je n'ai pas de solution, mais que techniquement , la Freebox a l'ai capable de pouvoir gérer le RSS authentifié !
Lorsque j'ai tenté le format http://login😛assword@IPduFlux impossible de valider le flux du coup pas moyen de le charger.
Pareil pour le syno
Donc je ne sais pas à quel niveau est l'authentification sur ton flux mais si c'est du style Passkey c'est normal puisque elle est dans l'adresse du flux et pas sous le format que je montre ci dessus.

Ne pas confondre, moi je cherche à atteindre un flux RSS qui est placé derrière une page authentifiée.

A+
J'ai bien compris ce que tu voulais faire, mon flux testé est bien de type http://login:mdp@IP

Teste par toi meme (verifie que tu ais bien un torrent "actif") :
http://Ton_IP_Serveur/rutorrent/plugins/feeds/action.php?mode=active&lang=fr
A ben celle là elle est bonne, ça fonctionne...

je devais me vautrer dans l'adresse alors... au temps pour moi.

Par contre je viens d'essayer à nouveau, ça ne fonctionne pas pour un syno. Donc le contournement est toujours d'actu pour certains de mes users
20 jours plus tard
Bon je me réponds encore (décidément aujourd'hui), l'authentification dans l'adresse fonctionne avec Synology.
J'ai pu enregistrer le flux en ne mettant l'IP du serveur au lieu du dyndns du serveur que j'utilise.
http://login:password@IP.du.Flux.RSS?dossier=<lenomdudossier>
Plus besoin de freemyfeed
un an plus tard
Salut Gormson,

Possédant un nas synology avec download station ton flux rss m'interesse grandement !

Peut tu me dire si je copie colle ce code rss que tu as mis je n'aurais juste qu'à changer la première partie du haut (nom du dossier a surveiller, lien de ma seedbox, identifiant, mdp etc ?)

Merci.
Répondre…