All Projects → odwrtw → transmission

odwrtw / transmission

Licence: MIT license
Go wrapper for the transmission API

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to transmission

Betanin
beets based mitm of your torrent client and music player
Stars: ✭ 101 (+197.06%)
Mutual labels:  transmission
Torque
🚂 A TUI client for transmission written in pure bash.
Stars: ✭ 169 (+397.06%)
Mutual labels:  transmission
Alloy
Alloy physical shader framework for Unity.
Stars: ✭ 244 (+617.65%)
Mutual labels:  transmission
Unpackerr
Extracts downloads for Radarr, Sonarr, Lidarr - Deletes extracted files after import
Stars: ✭ 122 (+258.82%)
Mutual labels:  transmission
Flood
A web UI for rTorrent, qBittorrent and Transmission with a Node.js backend and React frontend. Migrate to v4: https://github.com/jesec/flood/wiki/Migrate-from-older-versions-of-Flood.
Stars: ✭ 1,795 (+5179.41%)
Mutual labels:  transmission
Tremc
Curses interface for transmission
Stars: ✭ 174 (+411.76%)
Mutual labels:  transmission
Fragments
Moved to GNOME GitLab -> https://gitlab.gnome.org/haecker-felix/Fragments
Stars: ✭ 80 (+135.29%)
Mutual labels:  transmission
transmitter
A WebExtension for the Transmission BitTorrent client
Stars: ✭ 72 (+111.76%)
Mutual labels:  transmission
Media Docker
all-in-one deployment and configuration for an all-in-one media server, running on docker.
Stars: ✭ 148 (+335.29%)
Mutual labels:  transmission
Docker Transmission Openvpn
Docker container running Transmission torrent client with WebUI over an OpenVPN tunnel
Stars: ✭ 2,748 (+7982.35%)
Mutual labels:  transmission
React Transmission
React Transmission is an ongoing reimplementation of Transmission web interface.
Stars: ✭ 126 (+270.59%)
Mutual labels:  transmission
Transmission Telegram
Control your Transmission through a Telegram bot
Stars: ✭ 144 (+323.53%)
Mutual labels:  transmission
Transgui
🧲 A feature rich cross platform Transmission BitTorrent client. Faster and has more functionality than the built-in web GUI.
Stars: ✭ 2,488 (+7217.65%)
Mutual labels:  transmission
Transmission Blocklist
torrent blocklist base on : https://gist.github.com/shmup/29566c5268569069c256
Stars: ✭ 109 (+220.59%)
Mutual labels:  transmission
odooly
Python library and CLI to interact with Odoo and OpenERP.
Stars: ✭ 53 (+55.88%)
Mutual labels:  json-rpc
K8s Mediaserver Operator
Repository for k8s Mediaserver Operator project
Stars: ✭ 81 (+138.24%)
Mutual labels:  transmission
Peardownloader.js
一个支持多协议、多源、混合P2P-CDN的下载器
Stars: ✭ 170 (+400%)
Mutual labels:  transmission
FAVITES
FAVITES (FrAmework for VIral Transmission and Evolution Simulation)
Stars: ✭ 33 (-2.94%)
Mutual labels:  transmission
node-mole-rpc
Transport agnostic spec compliant JSON RPC client and server
Stars: ✭ 54 (+58.82%)
Mutual labels:  json-rpc
Thoradia
Thoradia Add-ons Repository
Stars: ✭ 208 (+511.76%)
Mutual labels:  transmission

Transmission JSON RPC client

This library implements a JSON RPC client for interacting with Transmission remotely.

For more information about the underlaying API, see the official documentation.

Versions

The master branch of this repository is compatible with the master branch of the upstream transmission project.

If you want to use this lib with transmission 2.94 please import this project using this command:

go get -u -v github.com/odwrtw/[email protected]

Usage

package main

import (
        "crypto/tls"
        "net/http"

        "github.com/kr/pretty"

        "github.com/odwrtw/transmission"
)

func main() {
        // Let's create a simple client
        conf := transmission.Config{
                Address: "http://localhost:9091/transmission/rpc",
        }
        t, err := transmission.New(conf)
        if err != nil {
                pretty.Println(err)
        }

        // With a self signed certificate
        tr := &http.Transport{
                TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
        }
        httpClient := http.Client{Transport: tr}

        conf = transmission.Config{
                Address:    "http://localhost:9091/transmission/rpc",
                HTTPClient: &httpClient,
        }
        t, err = transmission.New(conf)
        if err != nil {
                pretty.Println(err)
        }

        // Get all the torrents
        torrents, err := t.GetTorrents()
        if err != err {
                pretty.Println(err)
        }
        pretty.Println(torrents)

        // Add a torrent
        torrent, err := t.Add("http://cdimage.debian.org/debian-cd/8.1.0/amd64/bt-cd/debian-8.1.0-amd64-CD-1.iso.torrent")
        if err != nil {
                pretty.Println(err)
        }

        // Update it
        torrent.Update()
        pretty.Println(torrent)

        // Remove it
        err = t.RemoveTorrents([]*transmission.Torrent{torrent}, true)
        if err != nil {
                pretty.Println(err)
        }

        // Update and print the current session
        t.Session.Update()
        pretty.Println(t.Session)
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].