## Postauto ### Pour poster automatiquement avec une simple commande depuis un VPS , serveur dédié ou seedbox. Postauto est un script permettant via une simple commande d'ajouter un fichier à traiter dans une base de données. Une fois votre fichier ajouté il sera traité automatiquement. #### Possibilités. - Création des PAR2 - Post via NYUU ( obfuscation totale) - ✨Envoi automatique sur le site✨ (avec MediaInfo/BDInfo directement ajouté) - Suivi sur une page web #### Limitations. - [ ] Le script est écrit en bash il ne tourne donc que sous linux. - [ ] Il faut impérativement un accès SSH sur /home/$USER - VPS et Dédié pas de souci de ce coté. - Seedbox nous avons testé via ultracc whatbox et dediseedbox ( ultracc et whatbox ok, dediseedbox pas ok). - [ ] Il faut avoir les applications suivantes de disponibles. | Commande | README | | ------ | ------ | | basename | Normalement installé par défaut | | curl | à installer si nécessaire | | screen | à installer si nécessaire | | nginx | à installer si vous désirez utiliser l'interface de suivi | #### Installation. ##### 2 solutions possible - vous disposez des droits sudo : ```sh wget -qO install.sh https://tig.unfr.pw/UNFR/postauto/raw/branch/main/install.sh && chmod +x install.sh && sudo --preserve-env=HOME ./install.sh ``` > Cela installera via les paquets debian sqlite et mediinfo (meilleur compatibilité) - vous ne disposez pas des droits sudo : ```sh wget -qO install.sh https://tig.unfr.pw/UNFR/postauto/raw/branch/main/install.sh && chmod +x install.sh && ./install.sh ``` #### Update ```sh postauto stop && wget -qO update.sh https://tig.unfr.pw/UNFR/postauto/raw/branch/main/update.sh && chmod +x update.sh && ./update.sh ``` ##### Update passage EN 7z (12/03/2024) ```sh cd autopost wget -qO compress.sh https://tig.unfr.pw/UNFR/postauto/raw/branch/main/autopost/compress.sh && chmod +x compress.sh && ./compress.sh ``` #### Configuration. Éditer le fichier /home/$USER/autopost/conf.sh ```sh #!/bin/bash #CONFIG A MODIF URL_API="A NOUS DEMANDER SUR DISCORD" APIKEY="A RETROUVER DANS VOTRE PROFIL" DB_FILE="/home/$USER/autopost/base_autopost.db" DOSSIER_GLOBAL="/home/$USER/" DOSSIER_NFO="/home/$USER/autopost/mediainfo/" DOSSIER_LOGS="/home/$USER/autopost/logs/" DOSSIER_NZB_ATTENTE="/home/$USER/ATTENTE/" DOSSIER_NZB_FINAL="/home/$USER/FINIS/" #CONFIG FOURNISSEUR USENET DE POST NG_HOST="" NG_PORT="" NG_USER="" NG_PASS="" NG_NBR_CONN="" dbtype="sqlite" # ou "mysql" DB_FILE="/home/$USER/autopost/base_autopost.db" MYSQL_HOST="" MYSQL_PORT= MYSQL_USER="" MYSQL_PASS="" MYSQL_DB="" ``` #### Création du fichier de base de données. ```sh postauto createdb ``` #### Commande | commande | README | | ------ | ------ | | start | Permet de démarrer le script. | | stop | Permet d'arrêter le script. | | restart | Permet de redémarrer le script. | | show | Permet de rentrer dans la fenêtre d'exécution du script (ctrl a+d pour en sortir). | | status | Voir les 500 derniers enregistrements du fichier DB avec leur status (Attente, Echec, Succès) (Attente, Echec, Succès). | | add | Ajouté un fichier MKV à traiter dans la base (doit être suivi du chemin complet de votre fichier). | | createdb | Permet de créer la DB (si vous souhaitez écraser la DB une confirmation vous sera demandé). | | log | Permet de voir le log de ppost d'un fichier précis. | | check | Permet de vérifier la présence d'un fichier sur le site. | | update | Permet d'updater le script. | #### interface web Une interface est disponible, il vous faut nginx pour que celle-ci fonctionne #### Configuration de l'interface web. Éditer le fichier /home/$USER/autopost/config.js ```js const path = require('path'); module.exports = { // Port sur lequel le serveur écoute // Attention si vous êtes sur une seedbox de bien choisir un port laisser libre par votre hébergeur // chez ultracc par exemple la commande est app-ports free port: Voir indications ci dessus, // Chemin vers le fichier de base de données SQLite dbFile: path.join(__dirname, 'base_autopost.db'), //MySQL DB_HOST: '', DB_PORT: , DB_USER: '', DB_PASSWORD: '', DB_DATABASE: '', // Chemins personnalisables pour les dossiers finishdirectory: path.join(__dirname, 'FINIS'), logdirectory: path.join(__dirname, 'logs'), infodirectory: path.join(__dirname, 'mediainfo'), // Secret pour la configuration des sessions "curl -L pw.vdx.sh/w/32" sessionSecret: 'Voir commande ci dessus', // Informations d'authentification auth: { username: 'user', password: 'pass' } }; ``` ##### Configuration de nginx Ajouter ce bloc dans la configuration de votre nom de domaine ```nginx location /autopost/ { proxy_pass http://127.0.0.1:XXXXX; proxy_http_version 1.1; proxy_set_header X-Forwarded-Host $http_host; } location /js/ { proxy_pass http://127.0.0.1:XXXXX; proxy_http_version 1.1; proxy_set_header X-Forwarded-Host $http_host; } location /jquery/ { proxy_pass http://127.0.0.1:XXXXX; proxy_http_version 1.1; proxy_set_header X-Forwarded-Host $http_host; } ``` > Pensez à bien remplacer XXXXX par le port que vous avez mis dans votre config.js #### Désinstallation. ```sh wget -qO uninstall.sh https://tig.unfr.pw/UNFR/postauto/raw/branch/main/uninstall.sh && chmod +x uninstall.sh && ./uninstall.sh ``` #### Dévelopement. Comme toujours vos idées et axes d'amélioration sont les bienvenus.