Skip to content

scttcper/transmission

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7919e57 · Sep 7, 2022
Sep 7, 2022
Aug 31, 2022
Sep 7, 2022
Jun 3, 2022
Dec 10, 2018
Jun 9, 2021
Jul 11, 2020
May 28, 2019
Dec 2, 2021
Dec 10, 2018
May 28, 2019
Dec 2, 2021
Aug 31, 2022
Aug 31, 2022
Jun 6, 2022
Dec 2, 2021
Jul 11, 2020
Jun 6, 2022

Repository files navigation

transmission npm CircleCI coverage status

TypeScript api wrapper for transmission using got

Install

npm install @ctrl/transmission

Use

import { Transmission } from '@ctrl/transmission';

const client = new Transmission({
  baseUrl: 'http://localhost:9091/',
  password: '',
});

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

Api

Docs: https://transmission.vercel.app
API Docs: https://github.com/transmission/transmission/blob/master/extras/rpc-spec.txt

Normalized API

These functions have been normalized between torrent clients. Can easily support 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

const data = await client.getTorrent();
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);

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
qbittorrent - https://github.com/scttcper/qbittorrent
utorrent - https://github.com/scttcper/utorrent