@ctrl/deluge
    Preparing search index...

    @ctrl/deluge

    deluge npm coverage status

    TypeScript api wrapper for deluge using ofetch

    npm install @ctrl/deluge
    
    import { Deluge } from '@ctrl/deluge';

    const client = new Deluge({
    baseUrl: 'http://localhost:8112/',
    password: 'deluge',
    });

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

    Docs: https://deluge.vercel.app

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

    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);

    Returns one torrent data

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

    Pause or resume a torrent

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

    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);

    If you're shutting down the server often (serverless?) you can export the state

    const state = client.exportState()
    const client = Deluge.createFromState(config, state);

    transmission - https://github.com/scttcper/transmission
    qbittorrent - https://github.com/scttcper/qbittorrent
    utorrent - https://github.com/scttcper/utorrent
    rtorrent - https://github.com/scttcper/rtorrent

    docker run -d \
    --name=deluge \
    -e PUID=1000 \
    -e PGID=1000 \
    -e TZ=Etc/UTC \
    -e DELUGE_LOGLEVEL=error `#optional` \
    -p 8112:8112 \
    -p 6881:6881 \
    -p 6881:6881/udp \
    --restart unless-stopped \
    lscr.io/linuxserver/deluge:latest