Code Monkey home page Code Monkey logo

transmissionbt-snap's Introduction

TransmissionBT Snap

Description

Download and share files using transmissionbt on Ubuntu Snappy.

Has to be run in devmode.

A good hardware companion for this Snap is the Nextcloud Box which comes with a 1TB hard drive and Nextcloud, a next-generation Files, Sync and Share solution.

Authors

Compilation

Prerequisite: You need to have both snapcraft and snapd installed. See https://snapcraft.io

Download the source

$ git clone https://github.com/oparoz/transmissionbt-snap

Compile the snap

$ cd transmissionbt-snap
$ sudo snapcraft

Install it locally

$ sudo snap install transmissionbt_1.0.1oparoz_amd64.snap --force-dangerous --devmode

Note: Replace the filename with the one which has been generated

Installation

This downloads the app from the Ubuntu app store

$ sudo snap install transmissionbt --beta --devmode

Note: devmode is required because snapd doesn't offer yet the needed interface to confine this snap

The next step is to connect the Snap to you home and /media folders and to restart the service

$ snap connect transmissionbt:home ubuntu-core:home
$ snap connect transmissionbt:removable-media ubuntu-core:removable-media
$ sudo systemctl restart snap.transmissionbt.transmission-daemon

You can optionally relax the apparmor policy by typing:

$ sudo snap connect transmissionbt:mount-observe ubuntu-core:mount-observe

How to use

Web interface

Go with your browser to the URL of the device on which the snap was installed, but use port 9091.

Per example: http://nextcloud.local:9091

From there, you'll be able to:

  • upload torrents file
  • monitor download and seeding progress
  • delete files

Tools

The snap provides wget and p7zip to make it easier to fetch torrents and to unpack them using the command line or custom scripts. Transmission can call a script each time a download is completed per example.

Blocklist

The snap also provides a blocklist script which you can use to retrieve lists of IPs to block. The URL and list of files to download are blank, letting you pick what's best for your use-case.

You can find the script here:

/var/snap/transmissionbt/current/transmission/blocklists.sh

Once you've updated the blocklist, simply restart the service

$ sudo systemctl restart snap.transmissionbt.transmission-daemon

Note: It takes a while as your blocklists will need to be downloaded and unpacked

Go to the web interface, click on the "wrench" button (bottom left), go to the "Peers" tab. You should see a high number of rules.

Files location

Place your torrents files here:

/media/transmissionbt/torrents

The downloaded files are placed here:

/media/transmissionbt/downloads

Files still being downloaded can be found here:

/media/transmissionbt/incomplete

Creating torrents

Create the torrent

$ sudo transmissionbt.transmission-create -o ~/torrents/transmissionbt_1.0.1oparoz_amd64.snap.torrent -c "transmissionbt Snap for Ubuntu Snappy" -t udp://tracker.openbittorrent.com:80 -t udp://open.demonii.com:1337 -t udp://tracker.coppersurfer.tk:6969 -t udp://tracker.leechers-paradise.org:6969 ~/mysnaps/transmissionbt_1.0.1oparoz_amd64.snap

Explanations

Path to the torrent to create, including the full path to its location

-o ~/torrents/transmissionbt_1.0.1oparoz_amd64.snap.torrent

Comments you want to add to the file

-c "transmissionbt Snap for Ubuntu Snappy"

As many trackers as you want. Use more than one for redundancy

-t udp://tracker.openbittorrent.com:80
-t udp://open.demonii.com:1337
-t udp://tracker.coppersurfer.tk:6969
-t udp://tracker.leechers-paradise.org:6969

File or directory to share

~/mysnaps/transmissionbt_1.0.1oparoz_amd64.snap

Seeding

Copy the file/folder to your transmission download folder

$ sudo cp ~/mysnaps/transmissionbt_1.0.1oparoz_amd64.snap /media/transmissionbt/downloads/

Send the torrent file to transmission

Note: Authentication is required when using transmission-remote. The default login/password are transmission/transmission

$ sudo transmissionbt.transmission-remote -n 'transmission:transmission' -a ~/torrents/transmissionbt_1.0.1oparoz_amd64.snap.torrent
localhost:9091/transmission/rpc/ responded: "success"

Monitoring

List all torrents

$ sudo transmissionbt.transmission-remote -n 'transmission:transmission' -l
ID     Done       Have  ETA           Up    Down  Ratio  Status       Name
   1   100%   11.47 MB  Done         0.0     0.0    0.0  Idle         transmissionbt_1.0.1oparoz_amd64.snap
Sum:          11.47 MB               0.0     0.0

transmissionbt-snap's People

Contributors

oparoz avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

transmissionbt-snap's Issues

Remote login

Hi there, I'm running my nextcloud server remotely (with self signed certbot apache2 certificate), and my remote server has no GUI (all installed via ssh). I can't seem to get in to the web console via my browser (eg mydomain.com:9091). I've tried as many variations of https, /nextcloud, etc as I can think of, but to no avail. Do you have any suggestions?

Login

Hi mate, just installed the snap but when i go to http://local:9091 its asking me to login, username and password.. I tried all my logins to no avail.. What am i doing wrong?

Let other snaps access downloads and torrents

Once the snapd content interface is fixed to offer read-write access to the writeable partitions of a Snap, it will be possible to access the downloads and torrents folders via a file sharing slot.

mountpoint /media is too small

the folder is mounter with a size of 1.5 Go which is quite small ... How can we configure it ?

or is it possible to move /media/transmissionbt to /writable/transmissionbt so we don't have this limitation ??

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.