8000 GitHub - guchengod/go-qbittorrent-api: A comprehensive Go client for interacting with the qBittorrent Web API. This library provides a simple and efficient way to manage your qBittorrent instance programmatically, supporting all major API endpoints.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A comprehensive Go client for interacting with the qBittorrent Web API. This library provides a simple and efficient way to manage your qBittorrent instance programmatically, supporting all major API endpoints.

License

Notifications You must be signed in to change notification settings

guchengod/go-qbittorrent-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qBittorrent API Client in Go

Go Version License

A comprehensive Go client for interacting with the qBittorrent Web API. This library provides a simple and efficient way to manage your qBittorrent instance programmatically, supporting all major API endpoints.

Features

  • Full API Coverage: Supports all qBittorrent Web API endpoints, including torrent management, application preferences, RSS, and search.
  • Easy to Use: Simple and intuitive API design for seamless integration into your Go projects.
  • Authentication: Handles login and session management automatically.
  • Error Handling: Robust error handling and status code checking for reliable operation.
  • Extensible: Easily extendable to support future qBittorrent API updates.

Installation

To install the package, use go get:

go get github.com/guchengod/qbittorrent-api-go

Quick Start

Here's a quick example to get you started:

package main

import (
	"fmt"
	"github.com/guchengod/qbittorrent-api-go/qbittorrent"
)

func main() {
	client := qbittorrent.NewDefaultClient("http://localhost:8080")
	err := client.Login("admin", "adminadmin")
	if err != nil {
		fmt.Println("Login failed:", err)
		return
	}
	defer client.Logout()

	version, err := client.GetApplicationVersion()
	if err != nil {
		fmt.Println("Failed to get application version:", err)
		return
	}
	fmt.Println("Application version:", version)
}

Supported Endpoints

  • Authentication: Login, Logout
  • Application: Get version, Shutdown, Get/set preferences
  • Torrent Management: Add, pause, resume, delete, recheck, reannounce torrents
  • RSS: Add feeds, manage items, set auto-downloading rules
  • Search: Start, stop, and manage searches
  • Sync: Get main data, torrent peers data
  • Transfer Info: Get global transfer info, set speed limits
  • Logs: Get main log, peer log

Documentation

For detailed documentation, refer to the qBittorrent Web API Documentation.

Contributing

Contributions are welcome! If you'd like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Commit your changes and push to your fork.
  4. Submit a pull request with a detailed description of your changes.

Star History

Star History Chart

License

This project is licensed under the MIT License. See the LICENSE file for details.


About

A comprehensive Go client for interacting with the qBittorrent Web API. This library provides a simple and efficient way to manage your qBittorrent instance programmatically, supporting all major API endpoints.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0