Lost password? | Help

[ advanced search ]

Unite Service: Torrent Tracker

Forums » Opera Community » General Opera topics » Opera Unite

Thursday, 25. June 2009, 05:42:15

ubergeek42

avatar

Posts: 16

Unite Service: Torrent Tracker

I have been working on a torrent tracker for unite for a little while now, and it has been released(lets call it an alpha).
Some key features(Taken from my code.google.com page):
  • Support for serving/tracking existing .torrent files
  • Support for creating .torrent files from folders or individual files
  • Can track any torrent that decides to use this service's announce URL, or can be restricted to only track .torrents that it serves up.
  • Provides a list of all peers connected to the tracker, and some information about them.
  • Tracker supports a scrape URL for gathering information about the tracked torrents.
  • Update check, with direct link to latest version(supports both stable/unstable release types)

It still has some bugs that need to be worked out, but I can't find them all(Hence the release). There is also a large performance issue with creating torrent files for largeish files, relating to calculating the sha1sum(Pretty much anything over 20megabytes, JS is just too slow for this)

Source code and downloads at: http://code.google.com/p/unite-tracker/

Thursday, 25. June 2009, 22:13:49

kftgr

avatar

Posts: 32

USA

Nice! Are you planning to add it to the Opera Unite Services page?

Friday, 26. June 2009, 01:57:42

ubergeek42

avatar

Posts: 16

In the future, maybe, but for the time being I think I will be keeping it where it is so I can provide updates as soon as I make code changes.

Friday, 26. June 2009, 04:31:52

JPushkarH

avatar

Posts: 73

Great !

Waiting for your release

Friday, 26. June 2009, 05:36:24

lucideer

is a B-person

avatar

Posts: 3458

Éire

Hrmmm.... torrent file creation is your big issue obviously. I have absolutely no clue what's involved in doing this but just out of interest, what's the main barrier causing performance issues?

Friday, 26. June 2009, 12:16:39

p01

avatar

Posts: 40

Norway

Opera Software
ubergeek42: Nice work.
lucideer: A torrent file is basically a hash of the file(s) it refers to. Reading every byte of the file(s) and hash cab become really expensive.

Friday, 26. June 2009, 13:06:24

lucideer

is a B-person

avatar

Posts: 3458

Éire

Aye, I figured out since posting it was the SHA1 algorithm. If only Opera Unite could execute external code eh...? :yikes: Maybe not :D

Friday, 26. June 2009, 15:59:35

ubergeek42

avatar

Posts: 16

Yes, the issue is in creating the SHA1 sums, reading in the file itself is reasonably fast. In my tests on my machine(2.5ghz quad core), it takes about 22 seconds to calculate the sha1sum of an 8megabyte piece(Reading the data from a ramdisk). I'm still looking into possible solutions, but I'm not sure if there will be anything I can do other than suggest using an outside program to create torrent files.

Friday, 26. June 2009, 19:37:38

T618

avatar

Posts: 22

USA

Originally posted by ubergeek42:

I'm still looking into possible solutions, but I'm not sure if there will be anything I can do other than suggest using an outside program to create torrent files.


Yeah, why not. Your server doesn't need to be a client also. Transmission creates torrents, and all it needs is a tracker url.

Saturday, 27. June 2009, 04:15:42

ubergeek42

avatar

Posts: 16

I've pushed out an update(version 0.2r13) a little earlier; not too much changed from the end user perspective, the most obvious thing is a new option which allows limiting the service to only tracking. With the option enabled it won't try to make torrent files, and will instead simply serve any existing torrents from the torrents/ directory. The update notification should be functional and should link you to the newest version(assuming you have it enabled, and the unstable updates option checked as well), or you can get it from the google code page.

I'm not really sure what should be changed/modified next or what people want, so I'm very open to feature requests/bug reports at this point.

Sunday, 28. June 2009, 19:39:38

Comwan

avatar

Posts: 39

This is a really nice thing! :smile:
Keep updating it and the option to only use it as a tracker is great. Everyone already has a bittorrent solution and most of them are capable of creating torrent files.

Tuesday, 30. June 2009, 16:07:11

I think it should add the tracker to the torrents.

Creating torrents was kinda nice, I think you should work some more on that idea.:wink:

If anyone wants to try.

http://h.gabydewilde.operaunite.com/tracker/

Thursday, 2. July 2009, 03:17:18

ubergeek42

avatar

Posts: 16

Originally posted by gabydewilde:

I think it should add the tracker to the torrents.


There is now an option for this in the latest version.(r21) There have been quite a few changes since the version you are running, a full list of changes can be found on the project's main page.

Sunday, 5. July 2009, 09:18:11

1 - The last version wont list the torrents, (I see only one)

2 - Add a link to this forum topic for debate,

3 - Add a link to some irc channel where people don't cry if users post a link,

4 - Make the service description part of the admin area,

Monday, 6. July 2009, 02:16:55

ubergeek42

avatar

Posts: 16

Thanks for the suggestions, I am unable to reproduce your bug though. If possible can you send me the .torrent files you have in the torrents folder that you are using when it fails to show more than 1? I have a feeling there is a malformed torrent file there that is causing an error in the code...

I am actually planning on an entire UI rewrite to accommodate showing the contents of a .torrent file(as well as to make it a little better looking), so I will incorporate your suggestions into this when I get around to the rewrite.

Again, thanks for the suggestions/bug report.

Monday, 6. July 2009, 18:29:07

The torrents are the same as with the previous release so their content is irrelevant.

It listed my announce url 3 times in the alternative announce url field (the same one) So I'd say you have your arrays mixed up.

Monday, 6. July 2009, 19:48:32

ubergeek42

avatar

Posts: 16

All of the torrent handling code got a major overhaul between right after 0.2r13, so just because it worked on r13 doesn't mean I didn't introduce any bugs in r21. Can you check your error console when starting the service/loading the index page to see if it outputs any errors?

Regarding the announce-url listed three times, I'll take a look into that code to see if I can figure out what that may be happening.

Saturday, 11. July 2009, 20:44:20

ok, sorry I got bored for a moment.

I've installed the service again but it now hangs when I refresh the torrent list.

Very strange,

I think peeps (including me) would like to see it running on your own pc.

Put up some torrents so that we can actually test this thing.

Good luck, :smile:

Saturday, 11. July 2009, 21:31:28

ubergeek42

avatar

Posts: 16

Originally posted by gabydewilde:

I think peeps (including me) would like to see it running on your own pc.


I would run a server, but I don't keep my computer on long enough/I'm in a different enough timezone that it wouldn't be up most of the time. In about a month or two I should have a different place, where I can leave my computer on 24/7 with the server running.

I really need more information to try to debug some of the issues you have encountered, as it works fine for me here.(A zip of the folder you chose to share would do nicely, if possible) It's also possible that it isn't frozen, but calculating the sha1 hash values for a very large file.(Depending on the options you have set; but I can't read minds so I don't know if this is the case for you or not.)

Forums » Opera Community » General Opera topics » Opera Unite