1
0

ajout d'un swtich pour repercuter en cas de coupure des post sur le site

This commit is contained in:
unfr 2025-07-03 14:39:17 +02:00
parent 41e96eef6a
commit beecdac997

View File

@ -33,67 +33,74 @@ cd "${DOSSIER_GLOBAL}"
while true; do
# Utilisation universelle
verif=$(db_query "SELECT id, nom FROM \`release\` WHERE status = 0 LIMIT 1;")
if [ -n "$verif" ]; then
id=$(echo "$verif" | awk -F "|" '{print $1}' | xargs)
name=$(echo "$verif" | awk -F "|" '{print $2}' | xargs)
FILESANSEXT=${name%.*}
LOG="${DOSSIER_LOGS}${FILESANSEXT}.log"
autopost_json=$(curl -sf https://unfr.pw/autopost.status.json)
autopost_file=$(echo "$autopost_json" | jq -r '.autopost')
echo -e "${VERT}DEBUT DE TRAITEMENT DE ${FILESANSEXT}${NORMAL}" | tee -a "$LOG"
echo -e "${CYAN}CREATION DES PAR2${NORMAL}" | tee -a "$LOG"
parpar -s10M -S -m4096M -t16 -r20% -O -o "${FILESANSEXT}.par2" "${name}" \
> >(tee -a "$LOG") 2> >(tee -a "$LOG" >&2)
ret=$?
if [ $ret -ne 0 ]; then
echo -e "${ROUGE}Erreur parpar (code $ret). Marquage en échec.${NORMAL}" | tee -a "$LOG"
db_query "UPDATE \`release\` SET status = 2 WHERE id = ${id};"
rm -f "${FILESANSEXT}.par2" "${FILESANSEXT}.vol*"
continue
fi
if [[ "$autopost_file" == "0" ]]; then
verif=$(db_query "SELECT id, nom FROM \`release\` WHERE status = 0 LIMIT 1;")
if [ -n "$verif" ]; then
id=$(echo "$verif" | awk -F "|" '{print $1}' | xargs)
name=$(echo "$verif" | awk -F "|" '{print $2}' | xargs)
FILESANSEXT=${name%.*}
LOG="${DOSSIER_LOGS}${FILESANSEXT}.log"
{
echo -e "${VERT}UPLOAD SUR USENET${NORMAL}"
checkusenet
nyuu -h ${NG_HOST} -P ${NG_PORT} -S -u ${NG_USER} -p ${NG_PASS} -n ${NG_NBR_CONN} \
-g alt.binaries.boneless -o "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" \
--nzb-title "${FILESANSEXT}" -f "{rand(14)} {rand(14)}@{rand(5)}.{rand(3)}" \
--message-id "{rand(32)}@{rand(8)}.{rand(3)}" \
--subject "{rand(32)}" --nzb-subject "{filename}" --obfuscate-articles ${FILESANSEXT}.*
if [ -e "${DOSSIER_NFO}${FILESANSEXT}.json" ]; then
echo -e "${JAUNE}VERIF DU NZB${NORMAL}"
nzbsizebit=$(bash ${ANALYZER} "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" | jq '.Taillebit')
echo -e "NZB_SIZE : ${nzbsizebit}"
jsonsizebit=$(jq -r '.media.track[] | select(."@type" == "General") | .FileSize' "${DOSSIER_NFO}${FILESANSEXT}.json")
echo -e "MEDIAINFO_SIZE : ${jsonsizebit}"
if [[ ${nzbsizebit} -le ${jsonsizebit} ]] || [[ ${nzbsizebit} = "NAN" ]]; then
echo -e "${ROUGE}PROBLEME TAILLE NZB${NORMAL}"
rm "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" "${FILESANSEXT}.par2" "${FILESANSEXT}.vol*"
db_query "UPDATE \`release\` SET status = 2 WHERE id = ${id};"
else
echo -e "${CYAN}ENVOI SUR LE SITE${NORMAL}"
curl -s -k -L -m 60 --output /dev/null \
-F rlsname=${FILESANSEXT} \
-F generated_nfo_json=@${DOSSIER_NFO}${FILESANSEXT}.json \
-F nzb=@${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb \
-F upload=upload "${URL_API}${APIKEY}"
first_char=$(echo "${name:0:1}" | tr '[:lower:]' '[:upper:]')
mkdir -p "${DOSSIER_NZB_FINAL}${first_char}"
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on \
"${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.7z" \
"${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" > /dev/null 2>&1
mv "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.7z" "${DOSSIER_NZB_FINAL}${first_char}/"
rm -rf "${FILESANSEXT}"*
rm "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb"
db_query "UPDATE \`release\` SET status = 1 WHERE id = ${id};"
echo -e "${VERT}FIN DE TRAITEMENT DE ${FILESANSEXT}${NORMAL}"
fi
else
echo -e "${ROUGE}ENVOI SUR LE SITE IMPOSSIBLE NFO MANQUANT${NORMAL}"
echo -e "${VERT}DEBUT DE TRAITEMENT DE ${FILESANSEXT}${NORMAL}" | tee -a "$LOG"
echo -e "${CYAN}CREATION DES PAR2${NORMAL}" | tee -a "$LOG"
parpar -s10M -S -m4096M -t16 -r20% -O -o "${FILESANSEXT}.par2" "${name}" \
> >(tee -a "$LOG") 2> >(tee -a "$LOG" >&2)
ret=$?
if [ $ret -ne 0 ]; then
echo -e "${ROUGE}Erreur parpar (code $ret). Marquage en échec.${NORMAL}" | tee -a "$LOG"
db_query "UPDATE \`release\` SET status = 2 WHERE id = ${id};"
rm -f "${FILESANSEXT}.par2" "${FILESANSEXT}.vol*"
continue
fi
} > >(tee -a "$LOG") 2>&1
{
echo -e "${VERT}UPLOAD SUR USENET${NORMAL}"
checkusenet
nyuu -h ${NG_HOST} -P ${NG_PORT} -S -u ${NG_USER} -p ${NG_PASS} -n ${NG_NBR_CONN} \
-g alt.binaries.boneless -o "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" \
--nzb-title "${FILESANSEXT}" -f "{rand(14)} {rand(14)}@{rand(5)}.{rand(3)}" \
--message-id "{rand(32)}@{rand(8)}.{rand(3)}" \
--subject "{rand(32)}" --nzb-subject "{filename}" --obfuscate-articles ${FILESANSEXT}.*
if [ -e "${DOSSIER_NFO}${FILESANSEXT}.json" ]; then
echo -e "${JAUNE}VERIF DU NZB${NORMAL}"
nzbsizebit=$(bash ${ANALYZER} "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" | jq '.Taillebit')
echo -e "NZB_SIZE : ${nzbsizebit}"
jsonsizebit=$(jq -r '.media.track[] | select(."@type" == "General") | .FileSize' "${DOSSIER_NFO}${FILESANSEXT}.json")
echo -e "MEDIAINFO_SIZE : ${jsonsizebit}"
if [[ ${nzbsizebit} -le ${jsonsizebit} ]] || [[ ${nzbsizebit} = "NAN" ]]; then
echo -e "${ROUGE}PROBLEME TAILLE NZB${NORMAL}"
rm "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" "${FILESANSEXT}.par2" "${FILESANSEXT}.vol*"
db_query "UPDATE \`release\` SET status = 2 WHERE id = ${id};"
else
echo -e "${CYAN}ENVOI SUR LE SITE${NORMAL}"
curl -s -k -L -m 60 --output /dev/null \
-F rlsname=${FILESANSEXT} \
-F generated_nfo_json=@${DOSSIER_NFO}${FILESANSEXT}.json \
-F nzb=@${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb \
-F upload=upload "${URL_API}${APIKEY}"
first_char=$(echo "${name:0:1}" | tr '[:lower:]' '[:upper:]')
mkdir -p "${DOSSIER_NZB_FINAL}${first_char}"
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on \
"${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.7z" \
"${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" > /dev/null 2>&1
mv "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.7z" "${DOSSIER_NZB_FINAL}${first_char}/"
rm -rf "${FILESANSEXT}"*
rm "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb"
db_query "UPDATE \`release\` SET status = 1 WHERE id = ${id};"
echo -e "${VERT}FIN DE TRAITEMENT DE ${FILESANSEXT}${NORMAL}"
fi
else
echo -e "${ROUGE}ENVOI SUR LE SITE IMPOSSIBLE NFO MANQUANT${NORMAL}"
fi
} > >(tee -a "$LOG") 2>&1
fi
else
echo -e "${ROUGE}PROBLEME DE PROPAGATION POST EN PAUSE${NORMAL}"
fi
attente 3
done