GorMsoN Posté(e) le 28 octobre 2013 Partager Posté(e) le 28 octobre 2013 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. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fravadona Posté(e) le 28 octobre 2013 Partager Posté(e) le 28 octobre 2013 Ce doit etre faisable mais il faudra d'abord comprendre le fonctionnement de chacun de ces services ... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 28 octobre 2013 Partager Posté(e) le 28 octobre 2013 (modifié) 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é le 28 octobre 2013 par Vinky 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
GorMsoN Posté(e) le 30 octobre 2013 Auteur Partager Posté(e) le 30 octobre 2013 Aaaaaaa mais là tu m'interesse fortement Vinky!! 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. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 30 octobre 2013 Partager Posté(e) le 30 octobre 2013 (modifié) 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é le 2 mars 2017 par Vinky 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
GorMsoN Posté(e) le 31 octobre 2013 Auteur Partager Posté(e) le 31 octobre 2013 Aloooooors là je te dis un énorme merci c'est plus que ce que j'espérais. En plus comme dans mon cas la requête est envoyé par mon serveur en ligne vers mon NAS... c'est tout nickel!! Encore un grand merci à toi. Let's go faire du code maintenant!! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 31 octobre 2013 Partager Posté(e) le 31 octobre 2013 (modifié) 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é le 31 octobre 2013 par Vinky 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
GorMsoN Posté(e) le 15 janvier 2014 Auteur Partager Posté(e) le 15 janvier 2014 (modifié) 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 #?!/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é le 15 janvier 2014 par GorMsoN 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 17 janvier 2014 Partager Posté(e) le 17 janvier 2014 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 ) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 18 janvier 2014 Partager Posté(e) le 18 janvier 2014 (modifié) 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é le 3 juin 2020 par Vinky 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
GorMsoN Posté(e) le 18 janvier 2014 Auteur Partager Posté(e) le 18 janvier 2014 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 Encore super merci à toi je posterai en cas de problème mais aussi pour dis si tout à fonctionné... Pour la millième fois... merciiiiiii 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
GorMsoN Posté(e) le 19 janvier 2014 Auteur Partager Posté(e) le 19 janvier 2014 (modifié) 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é le 19 janvier 2014 par GorMsoN 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 15 février 2014 Partager Posté(e) le 15 février 2014 Pour les intéressés, petite modification du flux rss afin que download station voit la taille des fichiers 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Langer Posté(e) le 16 mars 2014 Partager Posté(e) le 16 mars 2014 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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 16 mars 2014 Partager Posté(e) le 16 mars 2014 (modifié) 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é le 16 mars 2014 par Vinky 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 16 mars 2014 Partager Posté(e) le 16 mars 2014 Pas de souci : http://download.synology.com/download/other/Synology_Download_Station_Official_API_V3.pdf Pour ceux que ça intéresse le chemin du doc à changé, c'est ici maintenant: http://download.synology.com/download//Document/FAQ/Synology_Download_Station_Official_API_V3.pdf 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Langer Posté(e) le 16 mars 2014 Partager Posté(e) le 16 mars 2014 (modifié) Merci les gars pour votre réponse rapide. Quand tu parles de serveur web Apache, c'est quoi? Est ce que cela suffit de simplement de mettre un index.html sur mon serveur distant? A+ Modifié le 16 mars 2014 par Langer 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 16 mars 2014 Partager Posté(e) le 16 mars 2014 Non l'index.html ne fonctionnera que si tu as installé un serveur web (apache est un exemple, le plus connu) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Langer Posté(e) le 16 mars 2014 Partager Posté(e) le 16 mars 2014 Ok, je comprends mieux je suis entrain de suivre ce tuto, pour installer un serveur web avec apache http://fr.openclassrooms.com/informatique/cours/un-serveur-d-hebergement-multiutilisateur-sous-linux/installer-le-serveur-web-apache-2 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Langer Posté(e) le 16 mars 2014 Partager Posté(e) le 16 mars 2014 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.. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 17 mars 2014 Partager Posté(e) le 17 mars 2014 as-tu bien installé php5 également ? (sinon php n'est pas interprété et donc affiché comme un .txt ) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Langer Posté(e) le 17 mars 2014 Partager Posté(e) le 17 mars 2014 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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 17 mars 2014 Partager Posté(e) le 17 mars 2014 non c'est pas du html mais bien du php, donc ça sera index.php Si php est bien installé, cela devrait fonctionner 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Langer Posté(e) le 19 mars 2014 Partager Posté(e) le 19 mars 2014 Ben j'ai utilisé bêtement la commande aptitude install php5 puis sécurisation des accès suivant cette page ... Je ne comprends pas, est ce que j'ai mal adapté ton script? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vinky Posté(e) le 19 mars 2014 Partager Posté(e) le 19 mars 2014 T'as bien mis les balises php ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.