Results 1 to 8 of 8

Thread: Transmission RSS direct-download

  1. #1

    Lightbulb Transmission RSS direct-download

    Хотел бы поделиться скриптом, который следит за новостями в direct-download RSS ленте трэккера и автоматически закачивает интересующие .torrent файлы в указанную папку для последующей обработки, например, transmission'ом.
    Это мой ~первый shell-script, и пост этот с целю получить поучительные комментарии
    Идея такая: берем stdout от rsstail, пропускаем через grep'ы и закачиваем понравившиеся wget'ом.

    Примечание: Из ленты, на которую подписан я, при параметрах "rsstail -N -l" в stdout для каждого torrenta выдаются 2 стоки:
    <Torrent1 title>
    <Torrent1 link>
    <Torrent2 title>
    <Torrent2 link>
    ...
    Вызов:
    Code:
    rsstail -N -l -u http://tracker.dom/rssdl.php | /opt/etc/direct-downloader/direct-downloader.sh
    Code:
    #!/bin/sh
    #
    # direct-downloader.sh
    #
    Apply_Watchlist()
    {
    	# line by line thru watchlist
    	watchlist_lengh=`wc -l "$watchlist" | cut -c1-8`
    	watchlist_length=`expr $watchlist_lengh + 0`
    	i=1
    	while [ "$i" -le "$watchlist_length" ]
    	do
    		matcher=`head -n $i "$watchlist" | tail -n -1`
    		cmd="echo \"${torrentName}\" | ${matcher}"
    		matched=`eval $cmd`
    		[ -n "$matched" ] && return
    		i=`expr $i + 1`
    	done
    	echo Not interested in $torrentName >> $logfile
    	torrentName=""
    }
    
    Exclude_Taken()
    {
        found=`grep "${torrentName}" $taken`
        if [ -n "$found" ]; then
    		torrentName=""
        fi
    }
    
    
    ######
    taken="/opt/etc/direct-downloader/taken"
    watchlist="/opt/etc/direct-downloader/watchlist"
    downloadTo="/tmp/harddisk/torrent/source/"
    logfile="/opt/var/log/direct-downloader.log"
    
    touch "$taken"
    touch "$watchlist"
    while read feedLine
    do
        feedLink=`echo "$feedLine" | grep "^http:"`
        if [ -z "$feedLink" ]; then
    	torrentName="$feedLine"
    	Exclude_Taken
    	if [ -n "$torrentName" ]; then
    	    Apply_Watchlist
    	fi
        elif [ -n "$torrentName" ]; then
        	echo "Retrieving: ${torrentName}.torrent" >> $logfile
    	wget -b -O "${downloadTo}${torrentName}.torrent" "$feedLink" 2>&1 >> $logfile
    	echo $torrentName >> $taken
        fi
    done
    watchlist:

    Code:
    grep "Prison\.Break\.S03" | grep -v "720p"
    grep "Stargate\.Atlantis" | grep "HDTV" | grep -v "720p"
    Andris

  2. #2

    расширение FireFox для скачивания ссылок на "БК"

    Помогите довести до ума следующую идею:

    В FireFoxe через контекстное меню правой кнопки отправлять ссылки на закачку в "Белую коробку (БК)"
    причем "БК" установлена дома, а ссылки отправляются с компа на работе, дома и.т.д вобщем отовсюду.
    Частично эту идею реализовать удалось, но опыта пока маловато поэтому прошу совета гуру как эту реализацию можно улушить.

    Сообственно что уже получилось:

    1. Регистриуемся на www.laterloop.com (сервис по хранению ссылок)
    1.1. В разделе "Settings" ставим галку напротив "Publish my Links at"
    1.2. Копирум куда нибудь ссылку "public RSS feed" (пригодится в дальнейшем)
    1.3. В разделе "Tools" устанавливаем расширение для FireFox
    1.4. Пробуем сохранять ссылки - убеждаемся что сервис работает, и ссылки на RSS появляются

    2. Устанвливаем на "БК" из репозитария rsstail
    2.1 запускаем
    Code:
     rsstail -i 5 -u http://www.laterloop.com/links/НАШ ЛОГИН/rss
    2.2. Из FireFox отправляем ссылки на LaterLoop и убеждаемся что они появляюся на консоле "БК"
    3. берем в качестве основы скрипт написанный andyqp
    3.1. модифицируем его немного:
    Code:
    #!/bin/sh
    #
    # direct-downloader.sh
    #
    
    Exclude_Taken()
    {
        found=`grep "${torrentName}" $taken`
        if [ -n "$found" ]; then
            torrentName=""
        fi
    }
    
    ######
    taken="/opt/etc/laterloop/taken"
    watchlist="/opt/etc/laterloop/watchlist"
    downloadTo="/opt/share/down/"
    logfile="/opt/etc/laterloop/log.log"
    
    touch "$taken"
    touch "$watchlist"
    
    while read feedLine
    do
        feedLink=`echo "$feedLine" | egrep "^http:|^ftp:"` 
        echo "$feedLink"
        if [ -z "$feedLink" ]; then
            torrentName="$feedLine"
    	Exclude_Taken
        elif [ -n "$torrentName" ]; then
    	echo "Retrieving: ${torrentName}" >> $logfile
    	wget -b -c -P "$downloadTo"  "$feedLink" 2>&1 >> $logfile
    	echo $torrentName >> $taken
        fi
    done
    3.2. чтобы конструкция egrep "^http:|^ftp:"` работала дополнительно устанавливаем busybox 1.10.3-1 (хотя видимо это можно реализовать и по другому , подскажите как )

    3.3. запускаем rsstail со скриптом
    Code:
    rsstail -N -l -i 5 -u http://www.laterloop.com/links/НАШ ЛОГИН/rss/ | /opt/etc/laterloop/direct-downloader.sh
    4. Отправляем ссылки с FireFox на LaterLoop
    5. Наблюдаем как они скачиваются на нашу "БК"

  3. #3

    Способ передачи ссылок на Dlengine, wget и прочие качалки через FireFox

    1. Устанавливаем rsstail на роутер
    2. Регистрируемся на сервисе http://www.laterloop.com/
    3. В разделе Settings этого сервиса отмечаем галкой пункт Publish my Links at
    4. Запоминаем ссылку на ваш Public RSS feed
    5. Устанавливаем плагин для FireFox в разделе Tools этого сервиса.
    6. Дальше модифицируем скрипт описанный andyqp под свои задачи

    дополнение

    для скачивания с Rapidshare нужно добавить еще и это дополнение
    и скрипт к нему

    Greasemonkey
    Rapidshare Bundle

    кроме того нужно положить в папку со скриптом для rsstail
    файл cookies.txt содержащую плюшку с того компа откуда будет оправлена ссылка и соответсвенно добавить в скрипт параметр для wget
    --load-cookies=cookies.txt
    Last edited by garm99; 24-01-2009 at 23:29.

  4. #4
    Quote Originally Posted by garm99 View Post
    1. Устанавливаем rsstail на роутер
    2. Регистрируемся на сервисе http://www.laterloop.com/
    3. В разделе Settings этого сервиса отмечаем галкой пункт Publish my Links at
    4. Запоминаем ссылку на ваш Public RSS feed
    5. Устанавливаем плагин для FireFox в разделе Tools этого сервиса.
    6. Дальше модифицируем скрипт описанный andyqp под свои задачи
    Будет работатьтолько для прямых ссылок. (вряд возьмет ссылку на торрент, если он в закрытом паролем форуме)
    Дополнение
    Если нужно передать ссылку на файл
    после установки расширения жмем правую кнопку мыши над ссылкой
    и выбираем пункт в подменю
    "Save for linked page"
    WL-700GE,rtorrent,amule, mldonkey, прошивка kfurge
    ВСЕ на выборы !
    Для новичков и ленивых

  5. #5
    какие плюсы:

    1. роутер стоит дома, а FireFox использую на работе, у друзей и.т.д где угодно. ссылку отправил - пришел домой - все уже скачалось. Возможно отправка и с мобильных устройств наверное.
    2. ссылку отправляю по правой кнопке - прямо из контекстного меню браузера.
    3. безопасность - роутер сам скачивает ссылки из инета - дополнительные веб морды качалок в инет открывать не нужно.

  6. #6

    Скрипт скачивания торрент файлов из rss

    Здравствуйте.
    есть вот такой интересный скрипт на habrahabr который в заданный промежуток времени скачивает .torrent файлы из rss и кладет их определенную папку, из которой rtorrent их и подхватывает.
    я, к сожалению, слабо в этом шарю и прошу помощи
    при его запуске вываливается вот такая картина:
    PHP Code:
    PHP Warning:  simplexml_load_string(): Entity: line 1: parser error : Unsupported encoding windows-1251 in /opt/etc/torrents/torrents.php on line 43
    PHP Warning:  simplexml_load_string(): <?xml version="1.0" encoding="windows-1251" ?> in /opt/etc/torrents/torrents.php on line 43
    PHP Warning:  simplexml_load_string():   ^ in /opt/etc/torrents/torrents.php on line 43
    PHP Notice:  Trying to get property of non-object in /opt/etc/torrents/torrents.php on line 45
    PHP Notice:  Trying to get property of non-object in /opt/etc/torrents/torrents.php on line 45
    PHP Warning:  Invalid argument supplied for foreach() in /opt/etc/torrents/torrents.php online 45
    гуглится на переустановки всяких libiconv. что смог поделал, но так и не нашел решения
    Attached Files Attached Files

  7. #7
    Некорректно оно написано. Там много чудесного - автор пользует mb_convert_encoding, не проверив - а есть ли вообще такая функция (например, на роутере по умолчанию данный пакет не ставится, доставлять надо). Потом, если фид в cp1251, он рекодирует его содержимое в utf-8. Не заботясь об изменении соотв. поля encoding в заголовке фида. Выбросьте бяку, не будет оно нормально работать без основательного приложения напильника.

  8. #8
    Я себе такое сваял на коленке, под LostFilm. Могу выложить, если кому интересно. Но писалось под конкретную задачу, так что мозги все равно придется прикладовать.

Similar Threads

  1. Установка и настройка Transmission
    By CattheBlack in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 171
    Last Post: 12-03-2016, 14:08
  2. Transmission
    By Grabber66 in forum German Discussion - Deutsch (DE)
    Replies: 10
    Last Post: 20-12-2014, 15:33
  3. [HowTo] Use Dropbox to download torrents on router
    By ryzhov_al in forum WL-500gP Tutorials
    Replies: 1
    Last Post: 13-01-2013, 10:54
  4. ADOS: a probable replacement for Download Master
    By DINI in forum WL-500g Custom Development
    Replies: 94
    Last Post: 28-10-2011, 21:39
  5. Transmission 1.31
    By shouriken in forum WL-500gP Q&A
    Replies: 109
    Last Post: 27-04-2009, 10:38

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •