Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@ctrl/qbittorrent

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ctrl/qbittorrent

TypeScript api wrapper for qbittorrent using got

  • 9.0.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.2K
increased by7.06%
Maintainers
1
Weekly downloads
 
Created
Source

qBittorrent npm coverage

TypeScript api wrapper for qBittorrent using ofetch

Install

npm install @ctrl/qbittorrent

Use

import { QBittorrent } from '@ctrl/qbittorrent';

const client = new QBittorrent({
  baseUrl: 'http://localhost:8080/',
  username: 'admin',
  password: 'adminadmin',
});

async function main() {
  const res = await qbittorrent.getAllData();
  console.log(res);
}

API

Docs: https://qbittorrent.vercel.app
qBittorrent Api Docs: https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)

Normalized API

These functions have been normalized between torrent clients to easily support switching between multiple torrent clients. See below for alternative supported torrent clients

getAllData

Returns all torrent data and an array of label objects. Data has been normalized and does not match the output of native listTorrents().

const data = await client.getAllData();
console.log(data.torrents);
getTorrent

Returns one torrent data from torrent hash

const data = await client.getTorrent('torrent-hash');
console.log(data);
pauseTorrent and resumeTorrent

Pause or resume a torrent

const paused = await client.pauseTorrent();
console.log(paused);
const resumed = await client.resumeTorrent();
console.log(resumed);
removeTorrent

Remove a torrent. Does not remove data on disk by default.

// does not remove data on disk
const result = await client.removeTorrent('torrent_id', false);
console.log(result);

// remove data on disk
const res = await client.removeTorrent('torrent_id', true);
console.log(res);
addTorrent

Add a torrent, has client specific options. Also see normalizedAddTorrent

const result = await client.addTorrent(fs.readFileSync(torrentFile));
console.log(result);
normalizedAddTorrent

Add a torrent and return normalized torrent data, can start a torrent paused and add label

const result = await client.normalizedAddTorrent(fs.readFileSync(torrentFile), {
    startPaused: false;
    label: 'linux';
});
console.log(result);

See Also

All of the following npm modules provide the same normalized functions along with supporting the unique apis for each client.

deluge - https://github.com/scttcper/deluge
transmission - https://github.com/scttcper/transmission
utorrent - https://github.com/scttcper/utorrent

Start a test docker container

docker run -d \
  --name=qbittorrent \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -e WEBUI_PORT=8080 \
  -p 8080:8080 \
  -p 6881:6881 \
  -p 6881:6881/udp \
  --restart unless-stopped \
  lscr.io/linuxserver/qbittorrent:latest

Keywords

FAQs

Package last updated on 10 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc