Installer “T412”, projet basé sur l’API de T411, pour un surf nouveau et simple

Le projet est d’abord et avant tout personnel, celui de Matt, qui l’a présenté sur Mondedie.fr (retiré à sa demande) puis publié sur GitHub. C’est une application Web à installer sur serveur qui permet, via l’API de T411, de parcourir le site, gérer vos téléchargements et d’automatiser le DL de vos séries favorites à la manière de SickRage.

 

Pour plus de précisions et screens merci de vous rendre sur Mondedie. Petit test de la chose :)  Je l’installe sur une VM Debian8/Apache2.

 

series2

details

 

Installation

Tout est indiqué sur GitHub. En gros il faut Nginx (ou Apache2), MySQL et PHP (5 ou 7) :

sudo apt-get install apache2 mysql-server git  php5 php5-curl php5-mysql php5-fpm libapache2-mod-php5

J’avais oublié mcrypt (…) et vu que je suis sur Apache2, ça donne ceci (si vous avez PHP7, évidemment, changez le chiffre)

sudo apt-get install php5-mcrypt
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
sudo php5enmod mcrypt 
sudo service apache2 restart

Fichier de configuration Nginx. Pour ceux qui l’installent en sus du script Mondédié, dans la création de votre vhost Nginx il faut remplacer include snippets/fastcgi-php.conf; par include /etc/nginx/fastcgi_params;, ligne 39.

server {
    listen 80;
    listen [::]:80;
    server_name domain.tld;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name domain.tld;


    root /var/www/chemin/voulu;
    index index.html index.php;

    include ssl/.conf;
    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        rewrite ^/details/([0-9]*)$ /details.php?id=$1? last;
        rewrite ^/nfo/([0-9]*)$ /nfo.php?id=$1? last;
        rewrite ^/download/([0-9]*)/$ /download.php?id=$1? last;
        rewrite ^/dl/([0-9]*)/$ /dl.php?id=$1? last;
        rewrite ^/delete/([0-9]*)$ /delete.php?id=$1? last;
        rewrite ^/login/$ /login.php last;
        rewrite ^/logout/$ /logout.php last;
        rewrite ^/downloads/$ /downloads.php last;
        rewrite ^/seedbox/$ /seedbox.php last;
        rewrite ^/suivi/$ /suivi.php last;
        rewrite ^/top/today/$ /top/today.php last;
        rewrite ^/top/week/$ /top/week.php last;
        rewrite ^/top/month/$ /top/month.php last;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    }

    location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml|html)$ {
        expires 90d;
        access_log off;
        log_not_found off;
        add_header Cache-Control "public";
    }

}

 Fichier .htaccess pour Apache2 (activez le mod rewrite)

Options -MultiViews

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^details/(.*)$ /details.php?id=$1 [L]
    RewriteRule ^nfo/(.*)$ /nfo.php?id=$1 [L]
    RewriteRule ^download/([0-9]*)/$ /download.php?id=$1 [L]
    RewriteRule ^dl/(.*)$ /dl.php?id=$1 [L]
    RewriteRule ^delete/(.*)$ /delete.php?id=$1 [L]
    RewriteRule ^login/$ /login.php [L]
    RewriteRule ^logout/$ /logout.php [L]
    RewriteRule ^downloads/$ /downloads.php [L]
    RewriteRule ^seedbox/$ /seedbox.php [L]
    RewriteRule ^suivi/$ /suivi.php [L]
    RewriteRule ^top/today/$ /top/today.php [L]
    RewriteRule ^top/week/$ /top/week.php [L]
    RewriteRule ^top/month/$ /top/month.php [L]
</IfModule>

 Téléchargez le package

git clone https://github.com/matthiasbosc/t412
cd t412
bin/composer update

 

Créez une base SQL pour T412 avec son User, que ce ne soit pas le root. J’utilise toujours des noms “pas évident à deviner” pour mes accès SQL.

# Se connecter à MySQL en root
mysql -u root -p
# Créer un user
create user 'Sfx6DlYOrRl73rDu'@'localhost' identified by 'Mot_de_passe';
# Créer une table
create database t412test;
# Donner les droits sur cette table au User
grant all privileges on t412test.* to 'Sfx6DlYOrRl73rDu'@'localhost';
# Quitter MySQL
quit

Il faut ensuite éditer le fichier de configuration de T412 : /var/www/t412/t412.class.php et le remplir (en haut) avec les informations SQL, votre domaine (ou sous-domaine) et votre User T411.

<?php
/**
 * The T411 class is used to make API calls to the tracker
 *
 * @author Matthias BOSC <matthias@bosc.io>
 */
class T411 {

  const API_URL = 'https://api.t411.ch';
  const WEB_URL = 'https://t411.ch';
  /** MySQL */
  const DB_HOST = 'localhost';
  const DB_NAME = 't412test'';
  const DB_USER = 'Sfx6DlYOrRl73rDu';
  const DB_PASS = 'mot_de_passe';
  /** cl   de s  curit   */
  const KEY = "une_clé.de-mort_qui.tu3.s4_r4c3!";
  /** pr  fixe pour DL Syno -- WIP */
  const DL_PREFIX = '';
  /** nom de domaine */
  public $domainName = 't412test.mydomaine.detest';
  /** utilisateur t411 - pour lancer les requ  tes cron */
  CONST T411USER = 'MonUserT411';

 

 

Attention, pour la clé de sécurité, mettez-en une de 32 caractères (ou 64, 128 etc).

1

Et ajoutez les CRON, comme indiqué.

# Accéder au cron
crontab -e
# Y coller les 2 lignes à la fin
# Edit this file to introduce tasks to be run by cron.
 ...
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
0 * * * * /usr/bin/php /var/www/t412/cli/top.php
0 * * * * /usr/bin/php /var/www/t412/cli/autodownload.php

Ajoutez ensuite un petit coup de Certbot pour le SSL et c’est parti :)

2

 

Et voilà, le reste est affaire de goûts, besoins etc. Bravo à Matt pour ce dév !

 

(4 144 vues)

23
Poster un Commentaire

6 Fils de commentaires
17 Réponses de fil
4 Abonnés
 
Commentaire avec le plus de réactions
Le plus populaire des commentaires
9 Auteurs du commentaire
  S’abonner  
Notifier de
Stanthewizzard

Hello
super bonne idée
mais comment paramétrer apache ?
suis pas sous nginx …

Miocheus

Génial et très intéressant! Mais comme je ne suis pas une flèche, je bloque au niveau clé. Quelle clé 32 caractère? Un tuto vidéo serait vraiment top. Mais c’est déjà génial cette contribution.

daarksim

Coucou,

super tuto (comme toujours) mais as tu déjà eu ce souci en connectant en seedbox ?
“Impossible de se connecter au serveur transmission à l’adresse (Unexpected response received from Transmission).”

jeanluc

Bonjour; Tout d’abord merci @Aerya pour ce tuto, j’avais découvert t412 par rapport a un topic sur mondedie, dont d’ailleurs je n’arrive plus a trouver la trace !!! Peu importe…Je l’avais installé sur mon ancien dédié (DEBIAN Jessie), tout fonctionnait; là comme Stretch ne va pas tarder à passer en stable, sur mon nouveau serveur j’ai mis cette distri. T412,… Lire la suite »

Shai

Salut c’est quoi une extentsion mon setup.php me met du code.
server.werter.ch/t412/setup.php
Merci d’avance.

shai halimi

Salut j’ai résolus mon ancien problème. J’ai bien réussis a tout installé.
Mais comment je dois faire pour que lorsque j’envoie un torrent a une seedboxe il telecharge juste le .torrent sur un dossier prédefinis. Je suis sous ubuntu 16.04 sur ma machine si jamais.
Merci.