• Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Torrents
    1. Home
    2. LoopyD
    3. Best
    • Profile
    • Following 0
    • Followers 0
    • Topics 7
    • Posts 21
    • Best 1
    • Controversial 0
    • Groups 1

    Best posts made by LoopyD

    • [Release] GTRU FlexGet YAML Script 2.3 - Automatic RSS Downloader

      If you're looking for automatic torrent management, I have a thing for your seedbox. Power Users only, please.

      DISCLAIMER: The baseline guide is provided, and doesn't work out of the box. You will have to configure it. I assume no responsibility for data loss as a result of misconfiguration.

      Baseline Installation instructions:

      I have been using flexget here for just over 7 years, and really swear by it on a properly configured seedbox.

      This flexget configuration is compatible with Deluge, bittorrent software: https://dev.deluge-torrent.org/wiki/Download

      You will require of course, flexget which can be found here: https://flexget.com/InstallWizard/Linux , which does need python 3.6 or above, and the deluge-client module installed via pip.

      By default, my install assigns labels to the torrents, so you'll need to enable the LabelPlus plugin for deluge: https://forum.deluge-torrent.org/viewtopic.php?f=9&t=42629 Installation instructions for all deluge plugins are here: https://dev.deluge-torrent.org/wiki/Plugins#Download .

      If your LabelPlus egg does not load when you import it, its because you've selected the wrong python version. You may need to adjust your python version for best results. This is why using virtualenv (or anaconda) is smart instead of the systemwide plugin.

      Install flexget into python virtualenv following the instructions on the flexget website.

      Configure scripts:

      Set host to your server IP
      Set port to Deluge daemon port
      Set username to Deluge WebUI username in your auth file in your Deluge config directory.
      Set password to Deluge WebUI password in your auth file in your Deluge config directory.
      Change paths as nessecary per your configuration.

      Install with supervisord:

      /etc/supervisor/conf.d/flexget-supervisor.conf

      [program:flexget]
      command=/mnt/shared/config/flexget/flexget-daemon.sh
      directory=/mnt/shared/config/flexget
      user=heavypaws
      redirect_stderr=true
      stdout_logfile=/mnt/shared/logs/flexget/flexget-stdout.log
      numprocess=1
      autostart=true
      startretries=3
      autorestart=true
      stopasgroup=true
      killasgroup=true
      stdout_logfile_maxbytes=0
      

      terminal

      sudo supervisorctl update
      sudo supervisorctl reload
      sudo supervisorctl enable
      

      Install your script:

      /mnt/shared/config/flexget/flexget-daemon.sh

      #!/bin/bash
      
      my_root_dir='/mnt/shared/config/flexget'
      my_log_dir='/mnt/shared/logs/flexget'
      my_app_dir="${my_root_dir}/app"
      
      pkill "${my_app_dir}/bin/flexget" >/dev/null 2>&1
      . $my_app_dir/bin/activate
      if [[ -f "${my_log_dir}/flexget.log" ]]; then
              rm -f "${my_log_dir}/flexget.log"
      fi
      if [[ -f "${my_log_dir}/flexget-stdout.log" ]]; then
              rm -f "${my_log_dir}/flexget-stdout.log"
      fi
      pushd "${my_root_dir}/app"
      flexget -c ${my_root_dir}/app-config.yml --logfile ${my_log_dir}/flexget.log daemon start
      pop
      

      Make the script executable:

      terminal

      sudo chmod +x /mnt/shared/config/flexget/flexget-daemon.sh
      

      Install the configured flexget script:

      templates:
      
        deluge_config_out:
          disable: [retry_failed]
          deluge:
            host: [YOUR_HOSTNAME]
            port: [YOUR_PORT]
            username: [YOUR_DELUGE_USERNAME]
            password: [YOUR_DELUGE_PASSWORD]
            config_path: /mnt/shared/config/deluge/
      
        deluge_config_in:
          disable: [seen, seen_info_hash]
          from_deluge: 
            host: [YOUR_HOSTNAME]
            port: [YOUR_PORT]
            username: [YOUR_DELUGE_USERNAME]
            password: [YOUR_DELUGE_PASSWORD]
            config_path: /mnt/shared/config/deluge/
      
        gaytorrent_ru_header:
          headers:
            Cookie: 'uid=[YOUR_UID];pass=[YOUR_PASS]'
          rss:
            url: 'https://www.gaytorrent.ru/rss.php?feed=dl&cat=17'
            link:
              - link
              - magneturi
            other_fields: [description]
            ascii: yes
            escape: yes
            silent: yes
            all_entries: no
          
        gaytorrent_ru_bears:
          rss:
            url: 'https://www.gaytorrent.ru/rss.php?feed=dl&cat=17&num=10'
      
        gaytorrent_ru_chubbies:
          rss:
            url: 'https://www.gaytorrent.ru/rss.php?feed=dl&cat=9&num=10'
            
        gaytorrent_ru_grey_older:
          rss:
            url: 'https://www.gaytorrent.ru/rss.php?feed=dl&cat=27&num=10'
            
        gaytorrent_ru_mature:
          rss:
            url: 'https://www.gaytorrent.ru/rss.php?feed=dl&cat=36&num=10'
            
        gaytorrent_ru_hunks:
          rss:
            url: 'https://www.gaytorrent.ru/rss.php?feed=dl&cat=12&num=10'
            
        gaytorrent_ru_bdsm:
          rss:
            url: 'https://www.gaytorrent.ru/rss.php?feed=dl&cat=19&num=10'
            
        gaytorrent_ru_daddies_sons:
          rss:
            url: 'https://www.gaytorrent.ru/rss.php?feed=dl&cat=5&num=10'
            
        gaytorrent_ru_comic_yaoi:
          rss:
            url: 'https://www.gaytorrent.ru/rss.php?feed=dl&cat=48&num=10'
            
        gaytorrent_ru_military:
          rss:
            url: 'https://www.gaytorrent.ru/rss.php?feed=dl&cat=38&num=10'
      
        content_blocker:
          regexp:
            reject:
              - "young|children|child|twink|femboy|ageplay|abdl|diaper|freshmen|freshman|junior|senior|sophomore|high school|highschool|barely 18|barely eighteen|teen|schoolboy|school|barely legal"
              - "rape|noncon|non-con|smegma|snegma"
              - "smoking|smoker|drug|drugs|weed|420|pnp|party n play|partynplay|p n p|party and play|partyandplay"
              - "asian|jap|japanese|oriental|black|chinese|oriental|interracial|interacial|gangsta|gangster|gang"
              - "0 seeders|no seeders|dead torrent|no seeds|0 seeds"
            from:
              - title
              - description
          content_filter:
            reject:
              - '*password*.txt'
              - '*password*.lnk'
              - '*.exe'
              - '*.msi'
              - '*.cab'
              - '*.rar'
              - '*.7z'
              - '*.7zip'
              - '*.zip'
              - '*.sfx'
              - '*.stuff'
              - '*.stuffit'
              - '*.stf'
              - '*.dat'
              - '*.bat'
              - '*.cmd'
              - '*.ps1'
              - '*.psm'
              - '*.vbs'
              - '*.vbscript'
              - '*.jscript'
              - '*.js'
              - '*.jsl'
              - '*.ahk'
              - '*.dll'
              - '*.jar'
              - '*.pdb'
              - '*.sln'
              - '*.bin'
              - '*.dump'
              - '*.hex'
              - '*.key'
              - '*.crt'
              - '*.pub'
              - '*cmake*'
              - '*.sh'
              - '*.bash'
              - '*.zsh'
          content_size:
            min: 10
            max: 2500
            strict: yes
          limit_new: 1
          accept_all: yes
        
        add_task_base:
          template:
            - deluge_config_out
            - gaytorrent_ru_header
            - content_blocker
          deluge:
            queue_to_top: yes
            path: "/mnt/shared/AppData/deluge/downloaded"
            action: add
            auto_managed: true
            
      tasks:
      
        add_bear_task:
          template:
            - add_task_base
            - gaytorrent_ru_bears
          deluge:
            label: Bears
            move_completed_path: "/mnt/shared/AppData/plex/videos/Bears/"
      
        add_chubby_task:
          template:
            - add_task_base
            - gaytorrent_ru_chubbies
          deluge:
            label: Chubs
            move_completed_path: "/mnt/shared/AppData/plex/videos/Chubs/"
            
        add_grey_older_task:
          template:
            - add_task_base
            - gaytorrent_ru_grey_older
          deluge:
            label: GreyAndOlder
            move_completed_path: "/mnt/shared/AppData/plex/videos/Grey_And_Older/"
            
        add_mature_task:
          template:
            - add_task_base
            - gaytorrent_ru_mature
          deluge:
            label: Mature
            move_completed_path: "/mnt/shared/AppData/plex/videos/Mature/"
      
        add_hunk_task:
          template:
            - add_task_base
            - gaytorrent_ru_hunks
          deluge:
            label: Hunks
            move_completed_path: "/mnt/shared/AppData/plex/videos/Hunks/"
      
        add_bsdm_task:
          template:
            - add_task_base
            - gaytorrent_ru_bdsm
          deluge:
            label: BDSM
            move_completed_path: "/mnt/shared/AppData/plex/videos/BDSM/"
      
        add_daddies_sons_task:
          template:
            - add_task_base
            - gaytorrent_ru_daddies_sons
          deluge:
            label: DaddiesAndSons
            move_completed_path: "/mnt/shared/AppData/plex/videos/Daddies_And_Sons/"
      
        add_comic_and_yaoi_task:
          template:
            - add_task_base
            - gaytorrent_ru_comic_yaoi
          deluge:
            label: ComicAndYiff
            move_completed_path: "/mnt/shared/AppData/plex/videos/Comic_And_Yiff/"
      
        add_military_task:
          template:
            - add_task_base
            - gaytorrent_ru_military
          deluge:
            label: Military
            move_completed_path: "/mnt/shared/AppData/plex/videos/Military/"
            
        clean_error_task:
          template:
            - deluge_config_in
            - deluge_config_out
          if:
            # torrents with filesystem or tracker issues
            - "'error' in deluge_state|lower": accept
            - "'unregistered torrent' in deluge_tracker_status|lower": accept
            - "'missing files' in deluge_tracker_status|lower": accept
            - "'not exist' in deluge_tracker_status|lower": accept
            - "not deluge_is_finished and not deluge_is_seed and deluge_progress <= 40.0 and torrent_seeds == 0 and not 'checking' in deluge_state|lower and not 'queued' in deluge_state|lower": accept
          deluge:
            action: purge
        
        clean_old_task:
          template:
            - deluge_config_in
            - deluge_config_out
          if:
            # 3 days and hasn't seeded to minimum ratio 0.1
            - "deluge_is_finished and deluge_is_seed and deluge_ratio <= 0.3 and deluge_seeding_time >= 259200": accept
            # 5 days and hasn't seeded to minimum ratio 0.3
            - "deluge_is_finished and deluge_is_seed and deluge_ratio <= 0.3 and deluge_seeding_time >= 432000": accept
            # 1 week and hasn't seeded to minimum ratio 0.5
            - "deluge_is_finished and deluge_is_seed and deluge_ratio <= 0.5 and deluge_seeding_time >= 604800": accept
            # 2 weeks and hasn't seeded to minimum ratio 1.0
            - "deluge_is_finished and deluge_is_seed and deluge_ratio <= 1.0 and deluge_seeding_time >= 1209600": accept
            # 3 and a half weeks and hasn't seeded to minimum ratio 2.0
            - "deluge_is_finished and deluge_is_seed and deluge_ratio <= 2.0 and deluge_seeding_time >= 2116800": accept
            # 1 month and hasn't seeded to minimum ratio 3.0
            - "deluge_is_finished and deluge_is_seed and deluge_ratio <= 3.0 and deluge_seeding_time >= 3024000": accept
            # all seeding torrents greater than 3 months old
            - "deluge_is_finished and deluge_is_seed and deluge_ratio >= 3.0 and deluge_seeding_time >= 9072000": accept
            # stalled downloads (hit and runs)
          deluge:
            action: remove
      
      schedules:
        - tasks: [add_bear_task, add_bsdm_task, add_chubby_task, add_comic_and_yaoi_task, add_daddies_sons_task, add_grey_older_task, add_hunk_task, add_mature_task, add_military_task]
          interval:
            minutes: 15
            jitter: 300
        - tasks: clean_error_task
          interval:
            minutes: 60
        - tasks: clean_old_task
          interval:
            days: 1
      

      Don't forget to taylor all the scripts to your preferences, including your paths, and your cookies!

      If you want more categories, you can add them in the YAML and then add them a task and add it to the list of tasks that execute in the scheduler. If you want to block more or block less, you can reconfigure content_blocker task.

      You can start/stop it manually via:

      terminal

      sudo supervisorctl start flexget
      sudo supervisorctl stop flexget
      

      The main thing here is that the majority of work has been done here by an IT professional. Customize to your liking. The version if it I have shared here works real well with plex collections . So that you can watch porn in a private repository of your own.

      Have fun. The Release is GPL 3.0 licensed.

      posted in Uploading
      LoopyD
      LoopyD
    • 1 / 1