1
0
postauto/readme.md
2025-08-11 18:43:12 +02:00

183 lines
5.4 KiB
Markdown

## 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.