announce-torrents
#!/bin/sh
###########################################################################
##  Copyright (C) Wizardry and Steamworks 2018 - License: GNU GPLv3      ##
##  Please see: http://www.gnu.org/licenses/gpl.html for legal details,  ##
##  rights of fair usage, the disclaimer and warranty conditions.        ##
###########################################################################
 
# Load system defaults.
SCRIPT_NAME=`basename $0`
[ -f "/etc/default/$SCRIPT_NAME" ] && . /etc/default/"$SCRIPT_NAME"
 
# Check that the paths exist.
for DIRECTORY in $DOWNLOADS_FOLDER $TORRENTS_FOLDER $DROPBOX_FOLDER; do
    if [ ! -d $DIRECTORY ]; then
        logger -p daemon.err "$0: Could not find $DIRECTORY."
        exit 1
    fi
done
 
# Acquire a lock.
LOCK_FILE="/var/lock/$SCRIPT_NAME"
if mkdir $LOCK_FILE 2>&1 >/dev/null; then
    trap '{ rm -rf $LOCK_FILE; }' KILL QUIT TERM EXIT INT HUP
else
    exit 0
fi
 
IFS=","; for CREATE_FOLDER in `find $DROPBOX_FOLDER -maxdepth 1 -mindepth 1 -not -path '\.*' -type d -printf '%P\n'`; do
    logger -p daemon.info "$SCRIPT_NAME: Creating torrent for directory $CREATE_FOLDER"
    # Create the .torrent metafile.
    mkdir -p /tmp/$SCRIPT_NAME
    mktorrent -a $HTTP_TRACKER -a $UDP_TRACKER "$DROPBOX_FOLDER/$CREATE_FOLDER" -o "/tmp/$SCRIPT_NAME/$CREATE_FOLDER.torrent" 2>/dev/null >/dev/null
    if [ ! -f "/tmp/$SCRIPT_NAME/$CREATE_FOLDER.torrent" ]; then
        logger -p daemon.err "$SCRIPT_NAME: Something went wrong whilst generating the \"$CREATE_FOLDER.torrent\" file."
        exit 1
    fi
    # If the .torrent metafile already exists, compare it to the temporary metafile already generated.
    if [ -f "$TORRENTS_FOLDER/$CREATE_FOLDER.torrent" ]; then
        SUM_NEW=`sha1sum "/tmp/$SCRIPT_NAME/$CREATE_FOLDER.torrent" | awk '{ print $1 }'`
        SUM_OLD=`sha1sum "$TORRENTS_FOLDER/$CREATE_FOLDER.torrent" | awk '{ print $1 }'`
        if [ x$SUM_NEW = x$SUM_OLD ]; then
            # The files are identical so just terminate.
            exit 0
        fi
    fi
    # Check if the download folder already exists and delete it.
    if [ -d "$DOWNLOADS_FOLDER/$CREATE_FOLDER" ]; then
        rm -rf "$DOWNLOADS_FOLDER/$CREATE_FOLDER"
    fi
    # Copy the new folder into the downloads folder.
    mv "$DROPBOX_FOLDER/$CREATE_FOLDER" "$DOWNLOADS_FOLDER"
 
    # Copy the temporary .torrent metafile into the torrents folder.
    mv "/tmp/$SCRIPT_NAME/$CREATE_FOLDER.torrent" "$TORRENTS_FOLDER"
 
    logger -p daemon.info "$SCRIPT_NAME: Created torrent for directory \"$CREATE_FOLDER\"!"
done

unix/torrent_seedbox/automatically_create_torrents/announce-torrents.txt ยท Last modified: 2022/04/19 08:28 by 127.0.0.1

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key


For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.