Configuring PHPBTtracker+

Message boards : Server backend and mirrors : Configuring PHPBTtracker+
Message board moderation

To post messages, you must log in.

1 · 2 · Next

AuthorMessage
Andrew Admire

Send message
Joined: 23 Mar 05
Posts: 108
Credit: 94,266
RAC: 0
Message 4888 - Posted: 6 Mar 2007, 20:43:01 UTC

Andy K,

Can you help me out? I setup the tracker and uploaded a torrent. However, no matter what I have tried I get \"Tracker announce still not complete\" in BitTorrent. The web site is http://renderingproject.com/burp_mirror/bttracker/index/index.php

Thanks
When life is to big to tackle, kick it in the shins.
ID: 4888 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile AndyK
Project donor
Avatar

Send message
Joined: 2 Apr 05
Posts: 137
Credit: 20,063
RAC: 0
Message 4895 - Posted: 7 Mar 2007, 9:49:45 UTC
Last modified: 7 Mar 2007, 9:59:42 UTC

I didn\'t use BitTorrent as tracker, but the build in tracker of Azureus.

But one thing I remember is: After publishing the torrent you have to \"download\" the torrent and related file(s) from that address to your computer to \"verify\" the torrent. Even if the torrent resides already on your computer.
So download that torrent from your computer to your computer.

Does this help?

edit:
did you configure your tracker to upload the torrent automatically to the web server?

I\'m testing to download the torrent and it works, now I\'m just waiting for one seeder to get the file... ;-)

AndyK
ID: 4895 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4902 - Posted: 7 Mar 2007, 14:23:51 UTC

It\'s all working - let me know when you add more torrents :)
ID: 4902 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Andrew Admire

Send message
Joined: 23 Mar 05
Posts: 108
Credit: 94,266
RAC: 0
Message 4908 - Posted: 7 Mar 2007, 21:20:35 UTC - in response to Message 4902.  
Last modified: 7 Mar 2007, 21:43:52 UTC

It\'s all working - let me know when you add more torrents :)


I am going to try to keep up with the current vid\'s. I had some of the old ones and I uploaded them to the site. Also, please let me know if I miss any sessions.

Thanks

Note: I am going to only torrent the two higher quality choices because they are of corse larger.
When life is to big to tackle, kick it in the shins.
ID: 4908 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4909 - Posted: 7 Mar 2007, 22:30:07 UTC
Last modified: 7 Mar 2007, 22:58:48 UTC

Can\'t get any seeder. I was going to write a little script to automatically download the files via HTTP with the names my BitTorrent client is using, but it\'s a bit hard because mirror_download.php output is an ugly tag-soup instead of well-formed HTML. I\'m not even asking for valid HTML 4.01 code, I\'m asking for a simple <html> element!

EDIT: great, now PHP says the download failed (with file_get_contents) because it\'s 300 Multiple Choices... Anyway, shouldn\'t that reply have the \"choices\" in a computer-readable form, maybe in the headers?
ID: 4909 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Janus
Volunteer moderator
Project administrator
Avatar

Send message
Joined: 16 Jun 04
Posts: 4568
Credit: 2,100,409
RAC: 6
Message 4918 - Posted: 8 Mar 2007, 9:39:44 UTC - in response to Message 4909.  

mirror_download.php output is an ugly tag-soup instead of well-formed HTML.

Hehe don\'t be too sad about the mirror_download script. It is a very coarse prototype that only has the bare minimum required output to make it work.
Why on earth would I do such a thing? Well, sometimes there are situations where you really haven\'t got a clue which parts of a particular set of code is going to vary over time. Naturally you would want the static code to allow the varying code to change (ie. by abstracting the static code away into a superclass and make varying subclasses). So the idea is to make a simple static prototype and watch what happens to it over time, allowing you to gather information about which parts are static and will need to be abstracted away.
I\'ve now gathered enough information about the download-script to see that the only parts that change are the display-parts based on actions and the client-field:
- \'Fetch\' action and client=browser: display a list of choices
- \'Fetch\' action and client=BOINC: display a redirect to a mirror
This is what is currently in there. Furthermore the need for support for other display-formats has arised: Metalink, Bittorrent, Magnetlinks etc.

Now all I need is time to refactor it...

EDIT: great, now PHP says the download failed (with file_get_contents) because it\'s 300 Multiple Choices... Anyway, shouldn\'t that reply have the \"choices\" in a computer-readable form, maybe in the headers?

Hint: Try setting your client-field to BOINC, then the download script responds in machine-readable code
ID: 4918 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4924 - Posted: 8 Mar 2007, 14:21:36 UTC

I\'m now looking for a command-line program for Linux that can download from all mirrors together. \'aget\' looked interesting, but it\'s just multiple download threads, can\'t download from multiple URLs.
ID: 4924 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4926 - Posted: 8 Mar 2007, 17:28:36 UTC

I added HTTP seeds to all the torrents you have there, but can\'t get them to download. Maybe Azureus isn\'t handling HTTP redirects correctly. Also, it seems to connect to only one HTTP seed, even though the .torrent file has all the mirrors listed for each particular video...
ID: 4926 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4927 - Posted: 8 Mar 2007, 18:16:46 UTC
Last modified: 8 Mar 2007, 19:03:45 UTC

I have confirmation:

<The_8472> well, works for me via web browser, that doesn\'t mean it will work for your Az instance
<PovAddict> the URL redirects to another, maybe Azureus doesn\'t handle HTTP redirects correctly?
<PovAddict> *confused* a friend tried with BitTornado and nothing happened either :\\
<PovAddict> I\'ll see if I can resolve the redirects before adding to the .torrent
<The_8472> ah yes, it\'s a manual HTTP implementation, it doesn\'t use the java http class
<The_8472> so redirects aren\'t supported
<The_8472> anyway, just file a bug report on source forge or send a mail to parg
<The_8472> adding redirect support shouldn\'t be too complicated
<The_8472> although it\'s the question which redirect code you use
<PovAddict> not me :)
<PovAddict> I didn\'t do the mirror_download.php script
<The_8472> there are 3 ways to do redirects... 301, 302 or 307
<The_8472> all can require different handling
<The_8472> e.g. 301 could be used to permantenly rewrite the URL in the local copy of the .torrent
<PovAddict> man, if it does that, Azureus would one of the few programs in the world handling codes correctly!
<The_8472> ^^


So Azureus can\'t handle the redirects from mirror_download.php?fetch=true. I\'m now trying to make my script resolve the redirects before updating HTTP seeds on the .torrent file.
ID: 4927 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4928 - Posted: 8 Mar 2007, 19:18:30 UTC
Last modified: 8 Mar 2007, 19:45:44 UTC

End Of Patience.

I made my PHP script resolve the redirects before creating the torrent, and now still it\'s not downloading from the web seeds. And the reason is: mirror.php on the mirror sites don\'t handle Range: at all. So, blame Janus for all the thing. :D

EDIT: sorry for forumspamming, but I just noticed I was adding the URLs as bittornado-spec-webseeds instead of using the getright format. That would be the reason why all failed. Although still, I don\'t see the mirror supporting \"Range:\". Still can blame Janus a bit.

Now time to go use the cluebrick for not noticing bittornado\'s btaddhttpseeds.py would add seeds according to its specs and not getright\'s.
ID: 4928 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Janus
Volunteer moderator
Project administrator
Avatar

Send message
Joined: 16 Jun 04
Posts: 4568
Credit: 2,100,409
RAC: 6
Message 4931 - Posted: 8 Mar 2007, 19:44:15 UTC - in response to Message 4928.  

End Of Patience.

I made my PHP script resolve the redirects before creating the torrent, and now still it\'s not downloading from the web seeds. And the reason is: mirror.php on the mirror sites don\'t handle Range: at all. So, blame Janus for all the thing. :D

Hm... They are supposed to handle range requests - at least to some degree. Could you sniff up a request datagram and post it here?
ID: 4931 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4932 - Posted: 8 Mar 2007, 19:46:49 UTC - in response to Message 4931.  
Last modified: 8 Mar 2007, 19:49:50 UTC

Hm... They are supposed to handle range requests - at least to some degree. Could you sniff up a request datagram and post it here?

Azureus doesn\'t support redirects, so I have to link directly to the mirror\'s mirror.php, and not to BURP\'s mirror_download.php. The former doesn\'t seem to handle Range correctly.

EDIT: this is what Free Download Manager outputs:
16:48:48 08/03/2007 Starting download...
16:48:48 08/03/2007 GET /burp_mirror/mirror.php?getid=1789&offset=&length= HTTP/1.1
Referer: http://molehill.freelarry.net/burp_mirror/
Host: molehill.freelarry.net
16:48:49 08/03/2007 HTTP/1.1 200 OK
Date: Thu, 08 Mar 2007 19:48:51 GMT
Server: Apache/2.0.59 (Win32)
X-Powered-By: PHP/5.2.1
Pragma: public
Expires: 0
Cache-Control: must-revalidate, post-check=0, pre-check=0
Content-Disposition: attachment; filename=\"movie_mpeg4_q85.avi\"
Content-Description: File Transfer
Content-length: 12112640
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: video/x-msvideo


16:48:49 08/03/2007 Opening file on the disk...
16:48:49 08/03/2007 Succeeded
16:48:50 08/03/2007 [Section 1] - Started
16:48:50 08/03/2007 [Section 1] - Downloading
16:48:50 08/03/2007 Creating new section...
16:48:50 08/03/2007 GET /burp_mirror/mirror.php?getid=1789&offset=&length= HTTP/1.1
Referer: http://molehill.freelarry.net/burp_mirror/
Range: bytes=6056320-
Host: molehill.freelarry.net
16:48:51 08/03/2007 HTTP/1.1 200 OK
Date: Thu, 08 Mar 2007 19:48:53 GMT
Server: Apache/2.0.59 (Win32)
X-Powered-By: PHP/5.2.1
Pragma: public
Expires: 0
Cache-Control: must-revalidate, post-check=0, pre-check=0
Content-Disposition: attachment; filename=\"movie_mpeg4_q85.avi\"
Content-Description: File Transfer
Content-length: 12112640
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: video/x-msvideo


16:48:51 08/03/2007 Server does not support download resuming. Don\'t stop this download; otherwise you\'ll have to start it from the beginning
16:48:51 08/03/2007 Creating new section...
16:48:51 08/03/2007 Server does not support download resuming. Don\'t stop this download; otherwise you\'ll have to start it from the beginning
16:48:52 08/03/2007 [Section 1] - Stopped
16:48:52 08/03/2007 Stopped

ID: 4932 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4933 - Posted: 8 Mar 2007, 21:18:02 UTC

Okay, now I have the HTTP seeds correctly set up. It\'s mostly failing though, because of the badly-behaving Range. And the speed is terribly low... *confused*
ID: 4933 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Janus
Volunteer moderator
Project administrator
Avatar

Send message
Joined: 16 Jun 04
Posts: 4568
Credit: 2,100,409
RAC: 6
Message 4936 - Posted: 8 Mar 2007, 23:55:20 UTC
Last modified: 9 Mar 2007, 0:03:00 UTC

Range: bytes=6056320-
Host: molehill.freelarry.net
16:48:51 08/03/2007 HTTP/1.1 200 OK

==>

Server: Apache/2.0.59 (Win32)
X-Powered-By: PHP/5.2.1
Pragma: public
Expires: 0
Cache-Control: must-revalidate, post-check=0, pre-check=0
Content-Disposition: attachment; filename=\"movie_mpeg4_q85.avi\"
Content-Description: File Transfer
Content-length: 12112640
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: video/x-msvideo

Hm...
ID: 4936 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4937 - Posted: 9 Mar 2007, 0:39:13 UTC

So I was right, Blame It On Janus :D

Hehe... I still have my 128kbps-upload-speed mirror here, so let me know if you need some testing.
ID: 4937 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4940 - Posted: 9 Mar 2007, 3:41:00 UTC
Last modified: 9 Mar 2007, 3:46:43 UTC

Some mirrors work fine, some don\'t. Maybe the script doesn\'t read Range: if PHP runs as CGI? That would be a very possible cause.

EDIT: 100% sure this is the cause, tested.
ID: 4940 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Janus
Volunteer moderator
Project administrator
Avatar

Send message
Joined: 16 Jun 04
Posts: 4568
Credit: 2,100,409
RAC: 6
Message 4941 - Posted: 9 Mar 2007, 7:48:55 UTC
Last modified: 9 Mar 2007, 7:49:59 UTC

Hm yeah seems there\'s an issue with non-apache PHP. I\'m not really sure what to do about it though as it seems to be rather deeply rooted inside PHP somewhere...
Already we have a function ourGetAllHeaders() replacing PHP\'s getAllHeaders() to take care of as many servers as possible - it is used if getAllHeaders() is non-present. Hm... wonder if getAllHeaders() really is non-present or just empty in the affected servers?
ID: 4941 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4946 - Posted: 9 Mar 2007, 14:44:37 UTC
Last modified: 9 Mar 2007, 14:46:08 UTC

Apparently you could use $_SERVER[\'HTTP_RANGE\'] instead of using getAllHeaders but I\'m not sure if it works always.
ID: 4946 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 25 Apr 05
Posts: 347
Credit: 4,618
RAC: 0
Message 4947 - Posted: 9 Mar 2007, 15:09:02 UTC

@Andrew: torrents for session 139 seem to be wrong, Session_139_q85.avi torrent says 29.84 MB but the file on all mirrors I tried is 26.6 MB.
ID: 4947 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Janus
Volunteer moderator
Project administrator
Avatar

Send message
Joined: 16 Jun 04
Posts: 4568
Credit: 2,100,409
RAC: 6
Message 4949 - Posted: 9 Mar 2007, 15:19:44 UTC - in response to Message 4946.  

Apparently you could use $_SERVER[\'HTTP_RANGE\'] instead of using getAllHeaders but I\'m not sure if it works always.

That\'s indeed what is done, but only if getAllHeaders() is not defined. Perhaps switching to it regardless of getAllHeaders() would work.
ID: 4949 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
1 · 2 · Next

Message boards : Server backend and mirrors : Configuring PHPBTtracker+