diff --git a/autopost/posteur.sh b/autopost/posteur.sh index c41524b..7ba472c 100644 --- a/autopost/posteur.sh +++ b/autopost/posteur.sh @@ -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" - - 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 - - { - 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}" + autopost_json=$(curl -sf https://unfr.pw/autopost.status.json) + autopost_file=$(echo "$autopost_json" | jq -r '.autopost') + + 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}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