qbittorrent-api-wrapper
v1.0.0
Published
TypeScript wrapper for qBittorrent Web API v2
Downloads
5
Maintainers
Readme
qBittorrent API Wrapper
Project Overview
qBittorrent API Wrapper is a TypeScript library designed to simplify interaction with the qBittorrent Web API v2. It provides developers with an intuitive interface for managing torrents, retrieving application information, and leveraging advanced features.
Key Features
- Authentication
- Torrent management (add, pause, resume, delete)
- Application information (API version, preferences)
- Advanced features (set category, retrieve peers)
Features
Authentication
- Login and logout functionality with session management.
Torrent Management
- Add torrents via URLs or files.
- Pause, resume, and delete torrents.
- Retrieve torrent information (progress, state, size, etc.).
Application Information
- Get API version.
- Retrieve application preferences.
Advanced Features
- Set torrent categories.
- Retrieve torrent peers.
Setup Instructions
Prerequisites
- Node.js (v16 or higher recommended).
- npm (v8 or higher recommended).
Steps
Clone the repository:
git clone https://github.com/Jacques-Murray/qbittorrent-api-wrapper.gitNavigate to the project directory:
cd qbittorrent-api-wrapperInstall dependencies:
npm installBuild the project:
npm run build
Usage Guidelines
Initialization
import { QBittorrentClient } from 'qbittorrent-api-wrapper';
const client = new QBittorrentClient({
baseUrl: 'http://localhost:8080',
username: 'admin',
password: 'password',
});Examples
Login
await client.login();Add Torrent
await client.addTorrent({
urls: 'magnet:?xt=urn:btih:example',
});Retrieve Torrent Info
const torrents = await client.getTorrentInfo({ filter: 'downloading' });
console.log(torrents);Pause Torrent
await client.pauseTorrent('torrent-hash');Set Category
await client.setCategory('torrent-hash', 'movies');Development Notes
Coding Standards
- Follow TypeScript best practices.
- Ensure strict type checking (
strictmode enabled intsconfig.json).
Testing
- Write unit tests for new features.
- Use mock data for API testing.
Contribution Guidelines
- Fork the repository.
- Create a feature branch.
- Submit a pull request with detailed descriptions.
Additional Information
Acknowledgments
- Built using the
ofetchlibrary for HTTP requests.
Links
License
- MIT License
