A prometheus exporter for torrent downloader like qbittorrent/transmission/deluge

Overview

downloader-exporter

A prometheus exporter for qBitorrent/Transmission/Deluge. Get metrics from multiple servers and offers them in a prometheus format.

How to use it

You can install this exporter with the following command:

pip3 install downloader-exporter

Then you can run it with

downloader-exporter -c CONFIG_FILE_PATH -p 9000

Another option is run it in a docker container.

docker run -d -v CONFIG_FILE_PATH:/config/config.yml -e EXPORTER_PORT=9000 -p 9000:9000 leishi1313/downloader-exporter

Add this to your prometheus.yml

  - job_name: "downloader_exporter"
    static_configs:
        - targets: ['yourdownloaderexporter:port']

The exporter is running too slow

You can use an options to expose multiple ports for each downloader you're watching. Then the exporter will open a range of ports starting from the one you set, each port for each downloader

With command line

downloader-exporter -c CONFIG_FILE_PATH -p 9000 --multi true

With docker

docker run -d -v CONFIG_FILE_PATH:/config/config.yml -e EXPORTER_PORT=9000 -e USE_MULTI_PORTS=true -p 9000-9010:9000-9010 leishi1313/downloader-exporter

Config file

The config file is compatible with autoremove-torrents, you can also refer to example.yml to see how to write it.

Grafana

You can use the provided docker-compose.yml to host your own stack of Grafana/Prometheus/downloader-exporter.

Simplely clone this project, add or edit config.yml, then start the docker-compose:

cp example.yml config.yml
docker-compose up -d

Use localhost:3000 and admin/admin to access the dashboard.

First you will need to add a data source, select Prometheus with URL prometheus:9090, Then go and add a new dashboard with ID 15006, the dashboard should look like

You might also like...
A Udemy downloader that can download DRM protected videos and non-DRM protected videos.
A Udemy downloader that can download DRM protected videos and non-DRM protected videos.

Udemy Downloader with DRM support NOTE This program is WIP, the code is provided as-is and i am not held resposible for any legal repercussions result

Music and video downloader, Made with love by Bryan Herrera

Python-Mp3Mp4-Downloader Music and video downloader, Made with love by Bryan Herrera Requirements CHOCOLATELY windows command If your system does not

 📺 YouTube Song Downloader Bot For Telegram 🔮
📺 YouTube Song Downloader Bot For Telegram 🔮

📺 YouTube Song Downloader Bot For Telegram 🔮 Powerd By TamilBots.

music downloader written in python.   (Uses jiosaavn API)
music downloader written in python. (Uses jiosaavn API)

music downloader written in python. (Uses jiosaavn API)

MMDL (Mega Music Downloader) - A tool to easily download music.
MMDL (Mega Music Downloader) - A tool to easily download music.

mmdl - Mega Music Downloader What is mmdl ❓ TLDR: MMDL is a cli app which allows you to quickly and efficiently download one or multiple songs from Yo

apkizer is a mass downloader for android applications for all available versions.

apkizer apkizer collects all available versions of an Android application from apkpure.com Purpose Sometimes mobile applications can be useful to dig

Pantheon - The fastest YouTube downloader.
Pantheon - The fastest YouTube downloader.

A Youtube downloader written in Python3, using HTTP requests and an API.

Terminal based YouTube player and downloader
Terminal based YouTube player and downloader

termitube NOTE: THIS REPOSITORY IS A FORK OF mps-youtube as mps-youtube has been unmaintained for almost a year now. Features Search and play audio/vi

Youtube playlist downloader with full metadata support
Youtube playlist downloader with full metadata support

ytrake GUI tool to embed metadata for albums on Youtube with youtube-dl. Requires youtube-dl v2021.06.06. Post-processing Album metadata: Usage ytrake

Comments
  • Document how to configure Deluge user/password

    Document how to configure Deluge user/password

    1. You have to open the file deluge_folder/auth
    2. The file format is <user>:<password>:10
    3. Edit the config.yml in downloader-exporter
    deluge:
        client: deluge
        host: deluge:58846
        username: <user>
        password: <pass>
    
    opened by ngosang 0
  • Error traces in Deluge 2.1.1

    Error traces in Deluge 2.1.1

    Deluge exporter: 2.4.0

    Deluge exporter is working fine and it's exposing the metrics as usual. There are no traces in Deluge exporter. The traces in Deluge only happen in version > 2.0

    Traces in Deluge 2.1.1 every 30 seconds:

    22:36:37 [INFO    ][deluge.core.rpcserver         :179 ] Deluge Client connection made from: 172.18.0.2:55974
    22:36:37 [WARNING ][deluge.transfer               :111 ] Error occurred when parsing message header: Received invalid protocol version: 120. PROTOCOL_VERSION is 1..
    22:36:37 [WARNING ][deluge.transfer               :112 ] This version of Deluge cannot communicate with the sender of this data.
    22:36:37 [WARNING ][deluge.transfer               :130 ] Failed to decompress (0 bytes) and load serialized data with rencode: Error -5 while decompressing data: incomplete or truncated stream
    22:36:37 [WARNING ][deluge.transfer               :111 ] Error occurred when parsing message header: Received invalid protocol version: 68. PROTOCOL_VERSION is 1..
    22:36:37 [WARNING ][deluge.transfer               :112 ] This version of Deluge cannot communicate with the sender of this data.
    22:36:37 [WARNING ][deluge.transfer               :130 ] Failed to decompress (0 bytes) and load serialized data with rencode: Error -5 while decompressing data: incomplete or truncated stream
    22:36:37 [WARNING ][deluge.transfer               :111 ] Error occurred when parsing message header: Received invalid protocol version: 120. PROTOCOL_VERSION is 1..
    22:36:37 [WARNING ][deluge.transfer               :112 ] This version of Deluge cannot communicate with the sender of this data.
    22:36:37 [WARNING ][deluge.transfer               :130 ] Failed to decompress (0 bytes) and load serialized data with rencode: Error -5 while decompressing data: incomplete or truncated stream
    22:36:37 [INFO    ][deluge.core.rpcserver         :205 ] Deluge client disconnected: [('SSL routines', '', 'unexpected eof while reading')]
    

    Related issues:

    • https://github.com/tobbez/deluge_exporter/issues/22
    • https://github.com/JohnDoee/deluge-client/issues/40
    opened by ngosang 0
  • 无法使用快校版tr读取信息

    无法使用快校版tr读取信息

    你好,作者。感谢你的分享。我在使用downloader-exporter遇到无法使用快校版tr和正常版tr,但能使用qb的问题。希望能够得到解答。 以下是一些具体信息。

    #config
    qb:
      client: qbittorrent
      host: http://192.168.50.100:8999/
      username: admin
      password: *********
    tr2:
      client: transmission
      host: 192.168.50.100:9091
      username: admin
      password: *********
    
    #日志报错
    | ERROR    | downloader_exporter.transmission_exporter:get_status_metrics:85 - [tr2] Can not get client session: quote() doesn't support 'encoding' for bytes
    
    #页面显示
    # HELP downloader_up Whether if server is alive or not
    # TYPE downloader_up gauge
    downloader_up{client="transmission",host="192.168.50.100:9091",name="tr2",version=""} 0.0
    # HELP downloader_download_bytes_total Data downloaded this session (bytes)
    # TYPE downloader_download_bytes_total counter
    downloader_download_bytes_total{client="transmission",host="192.168.50.100:9091",name="tr2",version=""} 0.0
    # HELP downloader_download_speed_bytes Data download speed (bytes)
    # TYPE downloader_download_speed_bytes gauge
    downloader_download_speed_bytes{client="transmission",host="192.168.50.100:9091",name="tr2",version=""} 0.0
    # HELP downloader_upload_bytes_total Data uploaded this session (bytes)
    # TYPE downloader_upload_bytes_total counter
    downloader_upload_bytes_total{client="transmission",host="192.168.50.100:9091",name="tr2",version=""} 0.0
    # HELP downloader_upload_speed_bytes Data upload speed (bytes)
    # TYPE downloader_upload_speed_bytes gauge
    downloader_upload_speed_bytes{client="transmission",host="192.168.50.100:9091",name="tr2",version=""} 0.0```
    
    
    
    
    opened by CytsOn 3
Owner
Lei Shi
咸鱼一个
Lei Shi
Terminal based YouTube player and downloader

termitube NOTE: THIS REPOSITORY IS A FORK OF mps-youtube as mps-youtube has been unmaintained for almost a year now. Features Search and play audio/vi

Otis/Jacob Root 27 Dec 23, 2022
Search & download music from a certain streaming service

Search & download music from a certain streaming service

mat 2 Mar 11, 2022
Downloads separate (specified) file to a randomly generated folder in /TEMP then executes it.

PyTemp-1 A Python3 file downloader. What you do with this code / project / idea is non of my buisness or concern, and this was made for **educational*

NightTab 1 Aug 03, 2022
YouTube Video Search Engine For Python

YouTube-Video-Search-Engine Introduction With the increasing demand for electronic devices, it is hard for people to choose the best products from mul

1 Dec 21, 2021
The free and open-source Download Manager written in pure Python

The free and open-source Download Manager written in pure Python

pyLoad 2.7k Dec 31, 2022
抖音去水印视频批量下载,完全使用抖音官方接口

TikTokDownload 抖音去水印视频下载,使用抖音官方接口 使用教程(Win7) Win10环境暂时没测,bug情况应该比Win7少 运行软件前先打开目录下 conf.ini 文件按照要求进行配置 批量下载可直接修改配置文件,单一视频下载请直接打开粘贴视频链接即可

JohnserfSeed 2k Jan 04, 2023
mescrappy - Python + Selenium Youtube scraper

mescrappy - Python + Selenium Youtube scraper Youtube Sraping With Python (Selenium) Table of Contents About The Project Built With Getting Started In

Merdan Chariyarov 12 Nov 28, 2021
A simple kemono.party downloader using python.

kemono-dl This is a simple kemono.party downloader. How to use Install python Download source code from releases and extract it Then install requireme

318 Dec 27, 2022
Python Program that downloads gaming required packages based on your Linux Distribution.

LibreGaming Python Program that downloads gaming required packages based on your Linux Distribution. Table of contents Distributions Prerequisites Dep

Ahmed Al Balochi 195 Jan 01, 2023
music downloader written in python. (Uses jiosaavn API)

music downloader written in python. (Uses jiosaavn API)

Rohn Chatterjee 35 Jul 20, 2022
Download courses from khanacademy.org

khan-dl A python script to download courses from Khan Academy using youtube-dl and beautifulsoup4.

rand-net 806 Jan 03, 2023
Arxiv2Kindle is a simple script written in python that converts LaTeX source downloaded from Arxiv and recompiles it to better fit a Kindle or other similar reading devices.

Arxiv2Kindle is a simple script written in python that converts LaTeX source downloaded from Arxiv and recompiles it to better fit a read

Soumik Rakshit 8 Jul 09, 2022
A tool to make easy to search for directories in the URL.

Welcome to Brutos Directory Scanner 🚀 The Brutos is a python script used to provide agility in obtaining verifications to informations about related

Sérgio Corrêa 4 Apr 14, 2022
FireDM is a python open source (Internet Download Manager) with multi-connections, high speed engine, it downloads general files and videos from youtube and tons of other streaming websites .

python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM

1.6k Apr 12, 2022
Python library to download bulk of images from Bing.com

Python library to download bulk of images form Bing.com. This package uses async url, which makes it very fast while downloading.

Guru Prasad Singh 105 Dec 14, 2022
A Quick demo of how to use the youtube_dl module in python.

youtube_dl python module demo A Quick demo of how to use the youtube_dl module in python. Whole documentation for the youtube_dl Installation git

7 Aug 27, 2021
Simple Python script to download images and videos from public subreddits without using Reddit's API 😎

Subreddit Media Downloader Download images and videos from any public subreddit without using Reddit's API Made with ❤ by Nico 💬 About: This script a

Nico 106 Jan 07, 2023
MMDL (Mega Music Downloader) - A tool to easily download music.

mmdl - Mega Music Downloader What is mmdl ❓ TLDR: MMDL is a cli app which allows you to quickly and efficiently download one or multiple songs from Yo

techboy-coder 30 Dec 13, 2022
Tool to get Canvas cover videos from Spotify tracks.

Spotify Canvas Downloader Tool to get Canvas cover videos from Spotify tracks. ✨ Try it out Building Clone the repository git clone https://github.com

Gabriel 35 Dec 28, 2022
ASF Sentinel-1 Metadata Download tool

ASF Sentinel-1 Metadata Download tool Copyright: 2021-2022 Antonio Valentino Small Python tool (asfsmd) that allows to download XML files containing S

Antonio Valentino 9 Dec 04, 2022