Giter VIP home page Giter VIP logo

torrenttunes-client's Introduction

This project is deprecated for lack of interest.

TorrentTunes — A free, BitTorrent-based music streaming service.

TorrentTunes is an open-source, BitTorrent-based music service, like Rdio or Spotify, where you can stream any music, or share your own library of music with others.

Each individual song is tagged using MusicBrainz, and shared as a .torrent file using the client's built-in, LibTorrent-based BitTorrent client, on publicly available trackers.

TorrentTunes works on Windows, Mac OS X, and Linux, and also has a web client at torrenttunes.tk.

Suggest features, new music, or post bugs here, or on the subreddit /r/torrenttunes.

⬇️ Install TorrentTunes

Change log

Features include

Screenshots:

Installation

Requirements

  • Java 8
  • If behind a router, make sure bittorrent has enough open ports forwarded to your local IP address.

Download and double click the jar, located here

Torrenttunes will install, create system shortcuts for Windows, Mac, or Debian-based Linux distributions, and load up in a browser window.

Building from scratch

To build TorrentTunes, run the following commands:

git clone https://github.com/dessalines/torrenttunes-client
cd torrenttunes-client
chmod +x install.sh

# This script does a maven install, and java -jar command
./install.sh

Command line client

To download and run TorrentTunes from the command line(the output is written to log.out):

The -nobrowser flag prevents TorrentTunes from loading up in a browser window.

wget https://github.com/dessalines/torrenttunes-client/releases/download/0.7.9/torrenttunes-client.jar
nohup java -jar torrenttunes-client.jar -nobrowser &> log.out &

To scan your music directory:

curl localhost:4568/share_directory --data "/home/user-dir/Music/A Music Dir"

To stop the torrenttunes service:

curl -XPOST localhost:4568/power_off

Support

If you'd like to help fund me to keep developing TorrentTunes, you can donate here, or directly with bitcoin:

bitcoin:14zPZaTFT8ipbi77FHw1uUEyCbGspWCzFX

bitcoin:14zPZaTFT8ipbi77FHw1uUEyCbGspWCzFX

Bugs and feature requests

Have a bug or a feature request? If your issue isn't already listed, then open a new issue here.

Contributing

Start with getting familiar with the schema first, then create some issues and we can start working on them.

Feature requests / todos

  • TODO

torrenttunes-client's People

Contributors

dessalines avatar eddydg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

torrenttunes-client's Issues

jlibtorrent UnsatisfiedLinkError on Windows 10 64-bit

When running from the console we get:

/.torrenttunes-client/src/lib/x86/jlibtorrent.dll
Exception in thread "main" java.lang.UnsatisfiedLinkError: Look for your architecture binary instructions at: https://github.com/frostwire/frostwire-jlibtorrent
at com.frostwire.jlibtorrent.swig.libtorrent_jni.(libtorrent_jni.java:22)
at com.frostwire.jlibtorrent.swig.libtorrentConstants.(libtorrentConstants.java:12)
at com.frostwire.jlibtorrent.LibTorrent.version(LibTorrent.java:16)
at com.torrenttunes.client.LibtorrentEngine.(LibtorrentEngine.java:120)
at com.torrenttunes.client.LibtorrentEngine.(LibtorrentEngine.java:96)
at com.torrenttunes.client.db.Actions.updateLibtorrentSettings(Actions.java:123)
at com.torrenttunes.client.Main.setupSettings(Main.java:95)
at com.torrenttunes.client.Main.doMain(Main.java:71)
at com.torrenttunes.client.Main.main(Main.java:128)

This is with the latest jre8u60

Use NFO-data instead of Musicbrainz for initial scraping

Instead of having to query musicbrainz for info with every single file, you could scan the directory for the existance of nfo-files and scrape the data off that if it exists, at least initially.

nfo-files are used within the scene and contain all the valuable information about the release, meaning you wouldn't really have to ping someplace like musicbrainz like crazy. Quality is also guaranteed as releases that are sub-par or break rules (FLAC)/rules (MP3) will automatically be nuked.

Upload/Download Stats

There should be info like current upload/download, and total uploaded/downloaded.

So you see that something is happening, and that it's actually seeding.

/r/torrenttunes based radio station(s)

Create user-voted radio station(s):

  • Add a music-streaming flair that has to be torrenttunes song links. Periodically add songs from that list.
  • Don't need to add categories, those are already within the MBID, so I could have category based radio-stations.

Play all Button

It seems you can only play one song at a time, or add one song at a time to the queue. It should be possible to play all songs in an album, or all trending songs with a single button.

Is there a way to create a "installable" file?

Could be interesting if you want to bringing people closer to this project, and to expand the use of app. Also, I suggest you that create a desktop shortcut with this executable, a great way to extend this idea.

Client not starting

As I understand, a browser should be opened, but nothing happens. Terminal output:

$ ./torrenttunes-launcher.jar 
22:13:52.931 [main] INFO  ROOT - Copying launcher jar to /home/felix/.torrenttunes-client/torrenttunes-launcher.jar ...
22:13:52.941 [main] INFO  com.torrenttunes.launcher.Updater - Checking for update...
22:13:55.748 [main] INFO  com.torrenttunes.launcher.Updater - Installation /home/felix/.torrenttunes-client/src/version Not found.
22:13:55.748 [main] INFO  com.torrenttunes.launcher.Updater - Current Tag #: null
22:13:55.748 [main] INFO  com.torrenttunes.launcher.Updater - Latest Tag #: 0.3.0
22:13:55.748 [main] INFO  com.torrenttunes.launcher.Updater - Update found, Downloading...
22:15:27.228 [main] INFO  com.torrenttunes.launcher.Updater - sleeping for a second...
22:15:27.229 [main] INFO  com.torrenttunes.launcher.Updater - Installing update...
22:15:29.667 [main] INFO  com.torrenttunes.client.tools.Tools - Setting up ~/.torrenttunes-client dirs
22:15:29.679 [main] ERROR com.torrenttunes.client.tools.Tools - file : /home/felix/.torrenttunes-client/src/version doesn't exist.
22:15:29.679 [main] INFO  com.torrenttunes.client.tools.Tools - Copying resources to  ~/.torrenttunes-client dirs
22:15:31.499 [main] INFO  com.torrenttunes.client.tools.Tools - Installing linux shortcuts...
22:15:31.798 [main] INFO  com.torrenttunes.client.tools.Tools - tools.js = /home/felix/.torrenttunes-client/src/web/js/tools.js
22:15:31.880 [main] INFO  c.t.client.db.InitializeTables - Using database located at : /home/felix/.torrenttunes-client/db/db.sqlite
22:15:32.100 [main] INFO  c.t.client.db.InitializeTables - Opened database successfully
22:15:32.310 [main] INFO  c.t.client.db.InitializeTables - Table created successfully
22:15:32.465 [main] INFO  com.torrenttunes.launcher.Updater - Deleted temporary install jar: /home/felix/torrenttunes-client.jar
22:15:33.252 [main] INFO  com.torrenttunes.client.tools.Tools - Home directory already exists
22:15:33.262 [main] INFO  com.torrenttunes.client.tools.Tools - The source directory already exists
22:15:33.262 [main] INFO  com.torrenttunes.client.tools.Tools - tools.js = /home/felix/.torrenttunes-client/src/web/js/tools.js
22:15:33.286 [main] INFO  c.t.client.db.InitializeTables - Using database located at : /home/felix/.torrenttunes-client/db/db.sqlite
22:15:33.288 [main] INFO  c.t.client.db.InitializeTables - DB already exists
22:15:33.531 [main] INFO  com.torrenttunes.client.db.Actions - Storage path = /home/felix/.torrenttunes-client/music
22:15:33.531 [main] INFO  com.torrenttunes.client.db.Actions - Applying libtorrent Settings...
22:15:33.533 [main] INFO  c.t.client.tools.DataSources - Operating system linux
22:15:33.533 [main] INFO  c.t.client.tools.DataSources - Using libtorrent @ /home/felix/.torrenttunes-client/src/lib/x86_64/libjlibtorrent.so
22:15:33.557 [main] INFO  c.t.client.LibtorrentEngine - Starting up libtorrent with version: 1.1.0.0
22:15:33.614 [main] INFO  c.t.client.LibtorrentEngine - Is DHT Running? false
22:15:33.742 [main] INFO  com.torrenttunes.client.tools.Tools - Could not connect to local webservice, retrying in 500ms up to 30 seconds
22:15:35.345 [main] INFO  c.t.client.LibtorrentEngine - Done seeding library, total of 0 torrents shared
22:19:29.623 [qtp930956015-23] ERROR com.torrenttunes.client.tools.Tools - file : /home/felix/.torrenttunes-client/src/web/html/favicon.ico.html doesn't exist.
22:19:29.673 [qtp930956015-22] ERROR com.torrenttunes.client.tools.Tools - file : /home/felix/.torrenttunes-client/src/web/html/favicon.ico.html doesn't exist.

Kubuntu 15.04
openjdk version "1.8.0_45-internal"
OpenJDK Runtime Environment (build 1.8.0_45-internal-b14)
OpenJDK 64-Bit Server VM (build 25.45-b02, mixed mode)

Improve browse bands

I think will be better if you add icons/boxes with the picture of every band, and sort/filter option !

And use better names rather than DerpTest...

lack of content

I know this will get solved eventually, but the lack of songs and content really puts a damper on the music. Is there any way to put in more songs other than the app?

No seeders in my shared songs

I shared the music by command line however when i search for one of this songs in torrenttunes i seems like there aren´t seeders... I want to know why.

Moreover i am setting up torrenttunes in a server, torrenttunes-client need X11 running and i don´t like the idea of having it on the server, so should I install torrenttunes-server? or there are another way to run torrenttunes-client without X11?

Sorry for my english and thank you for the help ;)

www.torrenttunes.ml should redirect to torrenttunes.ml

You shared the address with www but when going to this address the webclient stil tries to do a pushState on the address torrenttunes.ml and it's a security risk so it's blocked

Uncaught SecurityError: Failed to execute 'pushState' on 'History': A history state object with URL 'http://torrenttunes.ml/?song=951b2d10-3af1-468e-8a30-ced9ad21f804' cannot be created in a document with origin 'http://www.torrenttunes.ml'.replaceParams @ tools.js:706(anonymous function) @ main.js:951j @ jquery.js:3099k.fireWith @ jquery.js:3211x @ jquery.js:8264(anonymous function) @ jquery.js:8605
tools.js:30 http://178.32.153.126:80/get_torrent_progress/9f8b4178647e17427e641b2260352c89267c25af

The easiest might be to redirect with your domain

Clean up unavailable songs

A lot of people are sharing their libraries, yet don't leave the torrenttunes-client running all day, meaning that a lot of music on torrenttunes is unavailable to the rest of us.

In an attempt to clean house and make sure that all music is highly-available, I'm going to add an IP Address column to the server song table, to be able to determine what IP address uploaded what song. I'll also add a timeouts column, so that if that song wasn't finished within 15 minutes, it will add to a timeouts counter.That way, if an uploader isn't running their client, I can easily remove all their music from the server at once. As it stands right now, I have no way to remove unavailable music en masse.

I want torrenttunes to only hold available music; Its frustrating to find a song only to figure out that no one is actually seeding/sharing it. By far, the vast majority of people who have shared their libraries aren't running clients; I guesstimate more than half of the songs currently shown on torrenttunes are unavailable.

I will be clearing out torrenttunes-server songs, so everyone will have to reshare your collections. I will create a special button to clear your local library database so that you can re-share your songs.

I'm still against a login system, because I want the service to be anonymous; but uploaders should know that I will remove your music if you aren't seeding it, and haven't contacted me about why its unavailable.

Torrenttunes - share songs from the command line

It would be possible run torrenttunes in a server (without desktop environment) and maybe connect to it by Internet?
I want to share my collection and help to share others songs, but i don´t want another computer on all the day. Thank you

The search bar isn't working

I can type the search terms but when I hit Enter or click the search icon, the client (web client) doesn't respond.

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.