Aller au contenu

Ssh & Download Station Ou Notification


Messages recommandés

Bonjour,

J'ai écris un script .sh qui me permet de rappatrier automatiquement des fichiers en provenance d'un serveur en ligne.

Pour cela j'utilise wget.

Le probleme c'est que tout se passe via terminal donc c'est fort peu convivial.

Je me posais les questions suivantes:

- Est il possible d'ajouter à Download Station une liste de liens à télécharger via une commande un peu comme on le fait avec wget?

genre :

wget -ci LISTE_URL.txt

... mais pour Download station?

- Autre possibilité pour améliorer mon script : pouvons nous envoyer, toujours via le terminal, des notifications? (push en particulier), l'idée étant d'envoyer une notification sur mon portable à la fin d'un téléchargement.

D'avance merci de votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Personnellement, j'ai opté pour une autre stratégie : Utilisation de l'api. (Bien documenté d'ailleurs)

Plutôt que de demander au syno de télécharger le fichier via un script, j'ai fait un script sur mon serveur qui dit à mon NAS (plus particulièrement à Download Station) "vient télécharger ce fichier" (c'est 3 lignes commandes à envoyer, le tout en https) ainsi tout passe par download station comme si je l'avais ajouté depuis l'interface (donc accès depuis l'interface sur ordi ainsi que sur les app mobile/tablette). Après pour faciliter l'execution de mon script j'ai ajouté un "bouton" pour anvoyer sur le NAS un fichier depuis l'interface web du serveur (listant tous les fichiers présents)

Pour aller encore plus loin (p-e encore plus proche de ce que tu veux si tu veux TOUT) j'ai créé un flux RSS du dossier contenant mes nouveaux fichiers sur le serveur. Sur download station, j'ai ajouté le lien du flux RSS et ainsi il télécharge tout ce que je veux (je peux même faire des filtres pour choisir si je veux ne pas tout télécharger, même mieux, ranger dans les différents dossiers de mon NAS pour que ce soit automatiquement rangé et indexé par Vidéo Station)

Modifié par Vinky
Lien vers le commentaire
Partager sur d’autres sites

Aaaaaaa mais là tu m'interesse fortement Vinky!! :D:D

Ta première solution (celle avec l'utilisation de "viens me télécharger") c'est exactement ce que je recherchais.

J'ai du chercher ça très mal donc.

aurais tu un lien vers les détails du comment l'implémenter?

D'avance un grand merci à toi.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Pas de souci : http://download.synology.com/download/other/Synology_Download_Station_Official_API_V3.pdf

Et plutôt que de repartir de 0, je te passe le code du script bash :) (t'as juste à modifier l'IP/DNS, User, Mot de Passe)

Utilisation :

script.sh URL


A toi d'adapter si tu veux pas mettre une URL. Mais download station ne prend que des URL (le mieux c'est de te faire un apache qui est seulement accessible depuis l'IP de ton NAS si tu ne veux pas le rendre accessible et que tu n'en as pas déjà un ;))
 

Révélation

 


#! /bin/bash
 
account=''
mdp=''
nasIP=''
 
#URL EN ARGUMENT OU DEMANDE D'URL
echo -ne "nVerification de l'URL"
if [ -z "$1" ]; then
   echo -e "tttt<ERREUR>"
   echo -e "nUSAGEnbash NAS <http://linkToDownload.com/file.txt>"
   exit 1
else
   echo -e "tttt< OK >"
   url=$1
fi
 
#CONNEXION AU NAS
echo -ne "nConnexion au NAS"
 
 
resultCurl=$( mktemp )
 
curl -c "cookie" -k "$nasIP/webapi/auth.cgi?api=SYNO.API.Auth&version=2&method=login&account=$account&passwd=$mdp&session=DownloadStation&format=id" > $resultCurl 2>&1 
 
if grep -q "true" $resultCurl; then
    echo -e "tttt< OK >"
else
    echo -e "tttt<ERREUR>"
    echo -e "nImpossible de joindre le NAS ou mot de passe incorrect.nUtilisez 'ping $nasIP' pour tester la connexion.n"
    rm $resultCurl > /dev/null 2>&1
    rm cookie
    exit 1
fi
 
 
#AJOUT DU TELECHARGEMENT AU NAS
echo -en "nAjout du telechargement sur le NAS"
 
curl -b "cookie" -k "$nasIP/webapi/DownloadStation/task.cgi?api=SYNO.DownloadStation.Task&version=1&method=create&uri=$1" > $resultCurl 2>&1
 
 
if grep -q "true" $resultCurl; then
    echo -e "tt< OK >"
else
    echo -e "tt<ERREUR>"
    echo -e "nImpossible d'ajouter ce telechargement, valider la source du telechargement.nConnectez-vous sur '$nasIP'npour voir si vous ne l'avez pas deja telecharge.n"
    rm $resultCurl > /dev/null 2>&1
    rm cookie
    exit 2
fi
 
#DECONNEXION DU NAS
echo -e "nDeconnexion du NAStttt< OK >n"
rm $resultCurl > /dev/null 2>&1
rm cookie
 
exit 0

 

Modifié par Vinky
Lien vers le commentaire
Partager sur d’autres sites

De rien ;)

Je n'ai pas précisé mais par URL cela entend tout ce que download station peut manger (https, http, FTP etc...)

Après si cela intéresse aussi, je peux te fournir le code pour créer un flux rss d'un répertoire et ses sous répertoires afin de le mettre dans download station. Comme ça tout se fait automatiquement sans aucune intervention (il reste juste à faire des filtres si l'on souhaite pour limiter(ou ranger automatiquement dans les bons répertoires) les fichiers que tu télécharges de ton serveur.

Ça permet également de pouvoir télécharger n'importe quoi de ce qui est sur le serveur directement depuis l'application download station sans en sortir (app web ou mobile) très pratique en cas de mobilité et non accès à un terminal :)

Modifié par Vinky
Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Saluuuuuut

alors tout d'abord désolé de pas avoir répondu, je croyais avoir activé la notification pour les réponses... mais nooooooooon lol

Donc tout d'abord vis a vis de ta proposition... je dis ouiiiii s'il te plait se serait génial!

Mais j'aurais 3 questions :

- Est ce que cela gère les fichiers déjà DL? parce qu'en fait les fichiers du server ne disparaissent pas forcement directement après DL, souvent ils y restent plusieurs jours... actuellement je gère un fichier donnant l'historique des DL. Les filtres dont tu parles pourraient donc inclure de filtrer vis à vis des fichiers déjà DL non?

- Est il possible que DL station DL automatiquement tous les fichiers du flux RSS?

- Avec le script que tu m'avais généreusement passé, il y a un problème lorsque je lui passe en argument un lien avec un espace dans le nom. J'utilise le code ci dessous pour cela, sais tu comment l'adapter? ou mieux quelle serait les modification du code que tu m'as donné pour éviter les erreurs? (je sais j'en demande bcp ^_^:wub:

#?!/bin/bash

#Lecture du fichier d'URL et envoi vers DownLoad Station
while read Lien
do
	DownloadStation.sh $Lien
done < /var/www/URLtoDL

Bon maintenant j'active la notification en cas de réponse ^^

Modifié par GorMsoN
Lien vers le commentaire
Partager sur d’autres sites

Salut.

Pour le flux rss, pas de souci je peux te le fournir (par contre rappel le moi par MP si je zappe car j'ai un peu d'adaptation à faire je pense ;))

1. Nop il ne s'intéresse pas du tout à ce qui existe déjà. En gros, download station voit un flux RSS si tu lui mets de filtres ou si tu lui dis de tout télécharger il va le faire et peu importe ce qui existe. (En gros il crée un second fichier).

Par contre, une fois au "flux" tu n'auras pas de souci car download station ne regarde que les nouveautés sur le flux Rss. Personnellement, j'ai limité mon flux RSS aux 20 derniers fichiers, mais download station à conserver l'historique (mais seules les nouveautés sont téléchargées, il ne te télécharge pas tout à chaque fois, heureusement ^_^)

2. Oui il y a une case à cocher lorsque tu ajoutes un flux rss. Tu peux même lui dire où le faire (personnellement, je préfères faire des filtres sur mes séries pour que chaque épisode soit rangé directement dans le bon dossier (vidéos/séries/nomdelaserie/saison) et je fais les films à la mano (avec l'application mobile, on peut le faire en un clic de partout). Après rien ne t'empêche de faire sur ton serveur un dossier film par exemple et de faire 2 flux RSS pour que les séries soient DL par filtres alors que les films automatiquement :)

3. Il fait encoder ton URL. J'utilise mon script via une interface php donc j'utilise la fonction urlencode() de mémoire. (Ça gère aussi tous les caractères spéciaux du coup ;)) mais si tu as juste les espaces, faut remplacer par sa valeur ASCII soit "%20" sans les guillemets. (Urlencode fait ça pour tous les caractères spéciaux par exemple ;) )

Lien vers le commentaire
Partager sur d’autres sites

Comme promis :

Révélation

<?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é.

/********************************/
/*      DEBUT CONFIGURATION     */
/********************************/

	$protocole = 'http'; // http ou https ou sFTP ou FTP ou autre que Dowload Station peut télécharger.
	
	$url = "monserveur.fr"; // Possible de choisir par défaut : getenv('HTTP_HOST') = url utilisée pour accéder aux NAS : https://monsite.fr/rss.php donnera : monsite.fr Possible de mettre en dur une valeur.

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

	$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 = 2; //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é).

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

	$includeExtensions = array("avi", "mkv", "mp4"); // Liste des extensions à incorporer dans le listing

	$modeSombre = "oui"; // Mode sombre du css oui ou non

/********************************/
/*       FIN CONFIGURATION      */
/********************************/

	if($modeSombre == "oui")
		$background="#575756";
	else
		$background="white";
	$site = $protocole.'://'.$url.'/'; // IP ou NDD (http://<IP> ou htps://<IP> ou ftp://<IP> etc...)


/********************************/
/*        DEBUT FONCTIONS       */
/********************************/

	sleep(1);// Permet de s'assurer que les modifications des fichiers soient bien faites.

/**
 * 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
    {
    	global $includeExtensions;
    	
        if (in_array(get_file_icon($file), $includeExtensions)){
          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;
  
}

/**
 * Retourne l'url de téléchargement en intégrant les caractères spéciaux
 * @lienInterne : Le chemin non visible dans l'url
 * @fichier : fichier dont on veut créer l'url
 * @site : url du site à mettre à la place du chemin à ne pas afficher
 */

function encode_url($lienInterne,$fichier,$site)
{
	$lien = str_replace($lienInterne, "" ,$fichier); //Conserve la partie nécessaire à l'URL
	$lien = $site.rawurlencode($lien); // ajoute à l'url de télécharge .site le lien du fichier (en le réencodant les caractères spéciaux)
	$lien = str_replace("%3B",";",$lien); // Remplace %3B en ;
	$lien = str_replace("%2F","/",$lien); // Remplace %2F en /

	return $lien;

}

/********************************/
/*        DEBUT RENOMMAGE       */
/********************************/

/**
 * Renomme le nom qui s'affiche pour permettre les filtres dessus
 * @fichier : fichier dont on veut gérer le nom d'affichage
 */

function renomme($fichier)
{
	$nom = basename($fichier);
	$extension = get_file_icon($fichier,TRUE);
	
	$nom = str_replace(".$extension", "" , $nom);
	$nom = str_replace(".", " " , $nom);
	if(stristr($nom,"sample")!= false)
	{
		$nom = "Sample";
	}	

	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(" AMZN")) > 0)
	{
		$nom = strrev($nom);
		$nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("NZMA"))+4));

	}
	
	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"))+5));
	}

	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 ( "Truefrench" ,  "TRUEFRENCH", $nom);
		$nom = str_replace ( "Fastsub" ,  "FASTSUB", $nom);
		$nom = str_replace ( "Vostfr" ,  "VOSTFR", $nom);
		$nom = str_replace ( "Dvdrip" ,  "DVDRip", $nom);
		$nom = str_replace ( "e0" ,  "E0", $nom);
		$nom = str_replace ( "e1" ,  "E1", $nom);
		$nom = str_replace ( "e2" ,  "E2", $nom);

		$nom = $nom." [$extension]";

	return $nom;

}

/********************************/
/*        FIN RENOMMAGE         */
/********************************/


/********************************/
/*        FIN FONCTIONS         */
/********************************/




	$entete = '<?xml version="1.0" encoding="UTF-8"?> 
		<rss version="2.0" 
				xmlns:atom="http://www.w3.org/2005/Atom" 
				xmlns:wfw="http://wellformedweb.org/CommentAPI/" 
				xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
				<style>body {background-color:'.$background.';}
				rss {display: block;font-family: verdana, arial;color:steelblue;font-size:0.8em;}
				.title{font-size:30px!important;font-weight:bold;color: gray;}
				.description{font-size:1.5em;}
				title {display: block;margin: 5px 0px 5px 0px;padding: 5px 0px 2px 0px;border-bottom: 1px solid silver;font-size:1.2em;color:black;}
				item {display: block;padding: 2px 30px 2px 30px;}
				description {display:block;font-size:0.7em;color: darkgrey;margin: 2px 0px 0px 10px;}
				pubDate, language{display:none !important;}
				</style>
				<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 class="title">'.$nomDePage.'</title>
				
				<language>fr-FR</language>
				<description class="description">Liste des nouveaux fichiers</description>
	';
	$pied = '</channel>
		</rss>';



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

	if(isset ($_GET['temps']))
		$tempsAttente = $_GET['temps'];
	
	$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 = renomme($fichier);

		$lien = encode_url($lienInterne,$fichier,$site);

		if(($actualTime-$heure) > $tempsAttente)
		{
			if ($nombre <= $max)
			{
				if(stristr($nom,"Sample")==false	)	
				{
					echo('
						<item>
							<title>'.$nom.'</title>
							<link>'.$lien.'</link>
							<description>'.$nombre.' | Format : '.get_file_icon($fichier).' | 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>
							<enclosure length="'.$tabSize[$fichier].'" type="'.mime_file($fichier).'" url="'.$site.str_replace($lienInterne, "" ,$fichier).'" />
						</item>
						');
					$nombre++;
				}	
			}
		}		
	}
		
	echo $pied; 
?>

 

Tout ce qui est entre les /* RENOMMAGGE */ C'est ce qui permet de changer l'affichage du lien (et donc ce qui est utilisé pour faire les filtres, plus c'est simple, plus tes filtres le seront également ;)

Pour le reste tout est expliqué en début du fichier :)

Modifié par Vinky
Lien vers le commentaire
Partager sur d’autres sites

Et bien et bien!!!

encore un énorme merci pour ton aide si précieuse, je vois que tu as la même utilisation que moi de ce script ^^

maintenant vais essayer de me pencher la dessus et de faire en sorte de tout faire fonctionner :wacko:

Encore super merci à toi je posterai en cas de problème mais aussi pour dis si tout à fonctionné...

Pour la millième fois... merciiiiiii

Lien vers le commentaire
Partager sur d’autres sites

Bon et bien tout fonctionne parfaitement.

Le script (le corrigé) a été mis sur le site et dès qu'un nouveau fichier apparait dans le dossier surveillé le syno le DL... le top

ça simplifie le tout comme jamais et je n'ai plus de problème lorsqu'il y a des espaces dans le nom du fichier ou le chemin.

Dans le cas où comme moi votre site a un login et mot de passe deux solutions :

- soit vous autorisez l'IP de votre syno dans le .htaccess (données par l'excellent Vinky)

- soit plus bourrin vous mettez l'info dans l'URL de la variable $site

<?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 = 'http://login:password@URL_DU_SITE'; // 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é

Et si comme moi fichier RSS n'est pas à la racine de votre URL alors il faut mettre un "/" à la fin de la variable $site

Dans mon cas :

URL d'accès au flux

http://URL/Dossier/rss.php

donc

$physical_path = '/var/www/Dossier/Sous_Dossier'

$site = 'http://login:password@URL/' 

ça peut, peut être, aider certains ;)

Merci de l'aide précieuse de Vinky qui a fait du support par MP sur le sujet.

:)

Modifié par GorMsoN
Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...
  • 1 mois après...

Salut vous deux.

Cela fait pas mal de temps que je cherche une solution de rapatriement automatique mes fichiers, et ce billet correspond à ce que je recherche.

Malheureusement, je n'ai pas de grande connaissance en programmation linux ou de site web, juste pas mal bon avec VBA.

J'aimerai appliquer le script de Vinky afin que ma seedbox sur serveur Kimsufi puisse générer un flux rss et que mon Syno puisse récupérer avec Downloadstation.

J'ai modifié le script pour qu'il marche sur ma machine, du moins je crois, mais je ne sais pas ou le placer ensuite, n'y comment le chercher avec downloadstation..

<?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/home/cedric/complets/'; // Dossier à lister par défaut (ex : /var/www/download)
    
    $max = 20; //Nombre de fichiers à afficher dans le flux RSS

    $site = 'sftp://user:motdepasse@xx.xx.xx.xx:xx/'; // 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é

Pourrai je avoir un peu plus d'explication? Ces informations seraient bien utiles pour d'autres utilisateurs sans grandes aptitudes :)

Merci les copains,

Bon dimanche

Lien vers le commentaire
Partager sur d’autres sites

Salut, il faut que tu le mettes dans un répertoire qui est accessible via un serveur web (Apache par exemple, attention à avoir php d'installé)

Ensuite il te faut récupérer le lien URL du fichier que tu viens de créer.

Tu vérifies (sous Firefox) que ça marche. Et tu le mets dans la partie rss de download station

Modifié par Vinky
Lien vers le commentaire
Partager sur d’autres sites

Lien vers le commentaire
Partager sur d’autres sites

Re bonjour,,

J'ai apache d'installé avec php5 et phpmyadmin.

J'ai enregistrer le script a Vinky sous rss.php, et je l'ai mis dans le répertoire /home/cedric/

Je veux lister /home/cedric/complets/

<?php

//Utilisation : <http://xx.xx.xx.xx/rss.php?dossier=</home/cedric/complets/>
//Si le paramêtre dossier n'est pas mis, le dossier par défaut est listé.

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

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

	$site = 'sftp://user:mdp@xx.xx.xx.xx:22/'; // 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é

Donc quand je mets dans mon explorateur l'adresse de mon serveur qui pointe vers mon fichier rss.php,

http://xx.xx.xx.xx/~cedric/rss.php , il m'affiche le fichier rss.php en txt.

Est ce que c'est ce ce qu'il faudrait avoir? Ou est ce que j'ai raté une étape? Car en lançant ce meme lien rss dans downloadstation, il m'indique une erreur..

Lien vers le commentaire
Partager sur d’autres sites

Ben j'ai suvui le tutorial que j'ai donné en lien plus haut...

monip/phpmyadmin marche, donc selon moi php fonctionne aussi.

Ou faut il ranger le script sur le serveur?

Est ce que je dois le mettre entre des balise html?

Je dois l’appeler index.html?

En tout merci de ton aide, je pensais pas en arriver jusque là il y a deux jours :)

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.