PDA

View Full Version : Start your own public tracker



rvt
12-13-2007, 01:46 AM
I got bored today so I created some public tracker code that can run on most free web space.

It can have public uploads, or admin only uploads, supports IP bans (which can be easily reversed to make it a whitelist of those authed to download), auto changing of the announce URL, index page caching, announce caching, multi torrent scraping, and gz compression.

You can grab the source at http://sysdev.org.uk

To set it up on 100webspace.com, go to http://www.100webspace.com/ and click signup under free hosting. Fill in any details you want (I like to use dodgit.com email addresses) and get your confirmation email.

Now go to the control panel, and set up a database.
The database name is the prefix it shows before the text box, plus whatever you type in the box eg: someuser66_tracker. Same for the username.
Database password is whatever you type in.
Database server is listed at the bottom (used for "host" setting).

Upload the contents of the html folder and edit settings.php.
Feed it your database details, and a new admin pass/name/nonce.

Once that's done, go back to the control panel and click the link to your new database, then click login.
Click "SQL" at the top, and feed it only the first query from the INSTALL.txt file.

Load up your new site in a browser, and it should be able to connect to the DB, and give you an error message about "no torrents found".

Once you're there, you can start uploading, or if you have public uploads allowed sit back and wait for others to upload.

PS: to see it in action, check out http://rhy3279f3.100webspace.net/index.php
Public uploads are turned on. Just lob in any torrent file and it will shove it back out with the correct announce URL in it :-)

Polarbear
12-13-2007, 01:59 AM
I got bored today so I created some public tracker code that can run on most free web space.

It can have public uploads, or admin only uploads, supports IP bans (which can be easily reversed to make it a whitelist of those authed to download), auto changing of the announce URL, index page caching, announce caching, multi torrent scraping, and gz compression.

You can grab the source at http://sysdev.org.uk

To set it up on 100webspace.com, go to http://www.100webspace.com/ and click signup under free hosting. Fill in any details you want (I like to use dodgit.com email addresses) and get your confirmation email.

Now go to the control panel, and set up a database.
The database name is the prefix it shows before the text box, plus whatever you type in the box eg: someuser66_tracker. Same for the username.
Database password is whatever you type in.
Database server is listed at the bottom (used for "host" setting).

Upload the contents of the html folder and edit settings.php.
Feed it your database details, and a new admin pass/name/nonce.

Once that's done, go back to the control panel and click the link to your new database, then click login.
Click "SQL" at the top, and feed it only the first query from the INSTALL.txt file.

Load up your new site in a browser, and it should be able to connect to the DB, and give you an error message about "no torrents found".

Once you're there, you can start uploading, or if you have public uploads allowed sit back and wait for others to upload.

PS: to see it in action, check out http://rhy3279f3.100webspace.net/index.php
Public uploads are turned on. Just lob in any torrent file and it will shove it back out with the correct announce URL in it :-)

can i get an invite to sysdev? i need it, because they have a great community :happy:

seriously: this is a very easy way, thanks for sharing the knowledge.

carbon75
12-13-2007, 02:03 AM
dude, sysdev is not a community. You download the code and make your own tracker. There is no forum there.

UnderWarez
12-13-2007, 02:03 AM
lulz

rvt
12-13-2007, 02:05 AM
Update: Just reloaded the 1.01 rar due to 100webspace having GPC switched on.
You can either grab the new set and reupload announce.php from it, or add the unesc function from ul.php to announce.php and apply unesc to both $ann['info_hash'] and $ann['peer_id'].

mrnobody
12-13-2007, 02:06 AM
perhaps good way to start for those who are interested in creating their own tracker....but no use for me at all =/


dude, sysdev is not a community. You download the code and make your own tracker. There is no forum there.

he is kidding lol

hangemhigh
12-13-2007, 02:33 AM
be my admin and set it up for me

IceTee
12-13-2007, 02:38 AM
be my admin and set it up for me

:lol:

Nice rvt (http://filesharingtalk.com/vb3/members/rvt-177954) ;)

deathking81
12-13-2007, 02:47 AM
woah very nice man!

Jacktoo
12-13-2007, 03:00 AM
dude, sysdev is not a community. You download the code and make your own tracker. There is no forum there.
I think he knows that. :D

You could probably find him back home if you had a look. :D

DanielleD87
12-13-2007, 03:03 AM
system you rock! er.. sysdev rocks i mean

Artemis
12-13-2007, 03:04 AM
Awesome rvt :D most creative way to relieve boredom I have seen in along time:naughty: and what a brilliant concept if you want to share files with friends etc.
This really takes sharing is caring to a new level, thank you!

DKre8ive1
12-13-2007, 03:46 AM
Nice job rvt and pretty cool idea. :)

J-dye
12-13-2007, 06:05 AM
so this means i can share stuffs with my friends by creating my own tracker .?


nice rvt :)

th0r
12-13-2007, 07:42 AM
can i get an invite to sysdev? i need it, because they have a great community :happy:

You're clever, seriously, you are. Seriously.

jelll
12-13-2007, 09:06 AM
this is actually one of the more helpful posts i've seen on here in awhile. good work rvt.

rvt
12-13-2007, 11:24 AM
For the encore, here's how to switch the banlist into a friendlist by adding a single character:

Open announce.php
find: if(isset($bans[$ann['ip']])) error('You are banned');
change it to: if(!isset($bans[$ann['ip']])) error('You are banned');


Now, only the IPs you add to the ban list are allowed to use the tracker.
Others will still be able to see and download torrents, but only your friends will be able to actually run the torrents :)

Vidde
12-13-2007, 12:13 PM
So.. you got -bored-, and you created a torrenttracker source.. May I have some of that? When I'm bored, I look at pr0n, play stupid flashgames or just.. browsing..

Cheers <3
-Vidde

rvt
12-13-2007, 01:04 PM
Well I've been playing on the PS2 for a week. Decided to see how many lines I could boil a tracker down to, then couldn't be arsed building a full private site around it so I removed some extra lines (like passkey stuff) and knocked up a quick index and admin page.
Took about 5-6 hours.

grimms
12-13-2007, 01:48 PM
Good stuff thanks.

Unstable1
12-13-2007, 04:15 PM
neat.

aysomc
12-13-2007, 05:18 PM
sexy shit system

solaris
12-13-2007, 06:48 PM
awesome :D http://filesharingtalk.com/vb3/../../images/smilies/biggrin.gif

sear
12-13-2007, 08:43 PM
:O you're one seriously smart mofo....nice idea mate.

Rumblin
12-13-2007, 08:51 PM
[quote=rvt;2494995]I got bored today so I created some public tracker code that can run on most free web space.

One of the best one liner of all time

rvt
12-13-2007, 09:19 PM
Gonna start working on a new version, so anything you want adding just let me know.

I'm likely going to drop the mysql requirements completely, throw in a setting to either be black or white listing (bans or allows), add a setting to allow tracking of torrents that aren't uploaded simply by announcing to the tracker, and maybe build a multi tracker address adding service (upload the torrent, get it back with a list of multiple trackers embedded).

LoKaLiRi
12-13-2007, 09:24 PM
hahaha my owen Tracker , That will be nice

thanks rvt for info

jasperr
12-13-2007, 09:44 PM
cheers... well done rvt

TheFoX
12-13-2007, 09:45 PM
Just whack a forum source (fscV2 forums would be a nice addition) into it, add a little drop of user authentication and, bingo, you have the makings of a community tracker.

A lot of people don't realise that communities are actually two pieces sewn together. The tracker backend, which is usually self sufficient, connected to the membership frontend (including forums, userdetails, upload and browse facility).

Creating a site isn't rocket science. It just requires a level of ingenuity only found in a handful of volunteers (I know several professionals who could knock up a torrent community from scratch, but they also charge outrageous prices to do so).

The idea now would be for someone to take rvt's source and add forums and browse capability to it (then market it as their own, if their name is Xam).

pro267
12-13-2007, 10:27 PM
The idea now would be for someone to take rvt's source and add forums and browse capability to it.

/me thinks TheFox can probably do it in 10 minutes.. :D

Oh, and rvt, thank you very much for your effort. I'll be sure to download and check it out during the weekend.

rvt
12-14-2007, 12:12 AM
Decided to keep the mysql (for faster dev time) and tighten it up a lot.
Removed a couple of minor efficiency errors in the announce, and managed to cut announce.php down to about 80 lines.

Added in the option to allow tracking of torrents that aren't uploaded to the site, the switch for black/white listing, a new sortable browse page, a new design and will be adding forums and comments.

I may well turn it into a full blown site yet :P

First copy of the new one might be available tommorow or sunday.

glowjr
12-14-2007, 02:37 AM
hey uhh i got problem on it.. i cant seems to upload torrents. it says torrent file not found and there's this error says Cannot unserialize cache/bans file.

could you help me with this problem?

rvt
12-14-2007, 03:05 AM
@glowjr: Yeah, looks like a tiny bug. Go to the admin page first and that should create the bans file. If you're getting errors about files not found, make sure you have chmod the directories to 777. If you use cuteftp to upload the files, just right click on the directory and choose properties then set it to read/write/execute for all 3 sets.


For 1.1, it looks like I'm going to make it switchable between a public and private site, with passkeys and logins for the private one. Login system is already done, with cookie protection to prevent account stealing. Sortable browse page is done. Upload will be the same, so just comments to add and possibly forums.

When in private mode, it still wont be storing ratios or IPs, for user protection. It's aimed more at small communities or those wanting to open a half decent public tracker rather than traditional private sites.


http://sysdev.org.uk/screens/login.jpg

http://sysdev.org.uk/screens/browse.jpg

glowjr
12-14-2007, 06:49 AM
ermm doesn't look right, ok here's what happen
i deleted all the stuff i did before and start from the top and im doing this on my site.
after i did it here come the problem.

1st visit to the page
Error: No Torrent which is normal right?

then i went to admin page and logged in.. and the error poped up
http://tracker.klhsociety.org/images/bug1.jpghttp://klhtracker.100webspace.net/images/bug1.jpg

i dont know what happened here.

then i tried to upload torrent
http://tracker.klhsociety.org/images/bug2.jpghttp://klhtracker.100webspace.net/images/bug2.jpg

then i clicked upload and another error poped up
http://tracker.klhsociety.org/images/bug3.jpghttp://klhtracker.100webspace.net/images/bug3.jpg

and im not sure by which directory you meant chmod. do i need to fix any codes or on the main site?
and should i 777 the folder which contain all the files or 777 only the files? if this is what u meant earlier
http://tracker.klhsociety.org/bug4.jpghttp://tracker.klhsociety.org/images/bug4.jpghttp://klhtracker.100webspace.net/images/bug4.jpg
http://tracker.klhsociety.org/bug5.jpg
http://tracker.klhsociety.org/images/bug5.jpghttp://klhtracker.100webspace.net/images/bug5.jpg
this may look different because im not using 100webspace.com

Detale
12-14-2007, 08:24 AM
Well that answers my question! What does System do in his spare time? Very VERY cool of you to post this Thanks so much.

This will somehow be corrupted and misinterpreted as a new RVT tracker maybe R3vol7 v2.0 or something and shoot right up to a level 13 like Mango.

bigdaddykane
12-14-2007, 10:05 AM
good job i might look into this for myself

rvt
12-14-2007, 11:25 AM
@glowjr: inside the tracker folder, you should have folders called "cache/" "peercache/", "torrents/" and "torrents/files". Those are the directories that need to be 777. Either create or upload them via FTP, chmod and then visit the admin page and everything should work.

glowjr
12-14-2007, 12:18 PM
yay thanks rvt.. everything works fine now.. you're the man! oh and uh may i edit the looks of it? i mean changing the banner and the background?

whiteboy
12-14-2007, 03:13 PM
dude, sysdev is not a community. You download the code and make your own tracker. There is no forum there.
Wow some people are so dense.:frusty:

rvt
12-14-2007, 04:20 PM
Make any changes you want to the look/banner.
It just needed something there to act as a layout :P

clocktower
12-15-2007, 09:54 AM
thanks for this rvt i have a tracker using tbdev code but i am starting another site so will try this code thanks

dudave
12-15-2007, 02:13 PM
man this is awesome!
i'v been waiting for something like this for a long time.
too bad i'm having problems at the moment, and i can't
figure what i'm doing wrong. it says on webspace that
it might take up to 48 hours for your domain to work, can
it be it?

anyway i'll check back tomorow, hopfully it will work, and
if not i hope someone here will be able to help me ;)

masterbat
12-15-2007, 04:35 PM
how do you compare this with diferior ?

http://diferior.com/

rvt
12-15-2007, 05:29 PM
Looks like diferior is a complete CMS system, this is purely aimed at being a bittorrent site.
No blogs, no file attachments, no plugins, no rss feeds, just a tracker and some browse/comment code.

Anyway, 1.1alpha is out.
http://sysdev.org.uk/sysdev.org.uk-1.1a.rar (http://revolt.org.uk/redir.php?redir=http%3A%2F%2Fsysdev.org.uk%2Fsysdev.org.uk-1.1a.rar)

Torrent comments with bbcode support, public or private support with variations, full admin panel, signups etc.
Couple of things missing in this release, notably a recover script and the smilies/bbtags pages.
Will probably drop those in tommorow.
This one only has a single folder to chmod, it'll do the rest itself.

Good for small invite only sites (add the users manually) or big open trackers.

DarthYodi
12-15-2007, 05:33 PM
Thanks for the links pretty cool.

mievmo
12-15-2007, 10:28 PM
hmm... too many new trackers already

wrongun92
12-15-2007, 11:13 PM
interesting, which language is it coded in? C++, php?

rvt
12-16-2007, 04:07 AM
Php

Rumblin
12-16-2007, 04:21 AM
thanx :/

wrongun92
12-16-2007, 05:08 AM
Php

I have read that ruby on rails lets you focus on the problem/business plan instead of focusing too much on the implementation at the programming level.

Would ruby on rails apply to an application such as a tracker? If so, are there any plans on implementing this? ;)

Thanks

Rumblin
12-16-2007, 05:10 AM
I'm naming my public tracker isohunt, oh wait......

rvt
12-16-2007, 12:28 PM
Ruby on rails is like any framework, full of hype.
The language used is ruby, but using it on rails you're not really bothering with the language, you're relying on the framework to put your stuff together. That's like relying on a program to put your emails together for you, or a bot to make posts for you. It may be able to do it faster, but the results wont be as good.

Besides, it can easily be achieved on PHP with not much code. The first one took 6 hrs and the second one took just over a day to develop so there really is no point to using a framework which will bloat the thing and make it incompatible with most webservers (especially the free ones).

Another consideration is how much you would trust a big open project like ROR. Nearly every big web project I've ever seen has been hugely insecure on almost every level. Writing the code by hand, you can avoid a hell of a lot of problems.

Polarbear
12-16-2007, 12:40 PM
Writing the code by hand, you can avoid a hell of a lot of problems.

i use the same wording when it comes to women.

clocktower
12-16-2007, 12:45 PM
http://sysdev.org.uk/sysdev.org.uk-1.1a.rar (http://revolt.org.uk/redir.php?redir=http%3A%2F%2Fsysdev.org.uk%2Fsysdev.org.uk-1.1a.rar) << that takes me to revolt site rvt :(

rvt
12-16-2007, 12:50 PM
Just had time to read torrentfreak again, with the post about diferior.
Looks like that has zero chance of running on any free webspace because it uses XBT as the tracker which requires access to a compiler on the server.
It uses the smarty template engine which bloats and slows all code and logs IPs.

So I wouldn't compare this to it at all. This is aimed at being runnable on free webspace and focussing on the tracker, that's aimed at running on a full web server with shell access and focus is on the CMS side.

DKre8ive1
12-16-2007, 12:51 PM
http://sysdev.org.uk/sysdev.org.uk-1.1a.rar (http://revolt.org.uk/redir.php?redir=http%3A%2F%2Fsysdev.org.uk%2Fsysdev.org.uk-1.1a.rar) << that takes me to revolt site rvt :(

Not sure what going on with your browser but when I click on that link I get asked if I want to save it as a rar or open it with winrar in firefox. ;)

rvt
12-16-2007, 01:13 PM
Sorry, I copied the linkafter posting it on revolt so it has the redirector in there.

http://sysdev.org.uk/sysdev.org.uk-1.1a.rar

Polarbear
12-16-2007, 01:32 PM
Sorry, I copied the linkafter posting it on revolt so it has the redirector in there.

"redirected again" should work.
:whistling

clocktower
12-16-2007, 01:55 PM
http://revolt.org.uk/login.php?returnto=%2Fredir.php%3Fredir%3Dhttp%253A%252F%252Fsysdev.org.uk%252Fsysdev.org.uk-1.1a.rar

thats wot i get rvt am im using the latest FF

bazdmeg
12-16-2007, 02:07 PM
Hy rvt, my friends:lol: I use certainly everything what you make. I would like get one from all. And please add me your buddylist. Thanks;)

rvt
12-16-2007, 02:08 PM
Trying again with that address http://sysdev.org.uk/sysdev.org.uk-1.1a.rar

DKre8ive1
12-16-2007, 02:28 PM
That works rvt and it worked when I clicked on the previous post that I quoted. :)

DyNast
12-16-2007, 02:31 PM
Thanks, I'm gonna make the next OiNK!
:D

clocktower
12-16-2007, 03:09 PM
cheers will have a mes a round with this tracker code :)

wrongun92
12-17-2007, 04:45 PM
Ruby on rails is like any framework, full of hype.
The language used is ruby, but using it on rails you're not really bothering with the language, you're relying on the framework to put your stuff together. That's like relying on a program to put your emails together for you, or a bot to make posts for you. It may be able to do it faster, but the results wont be as good.

Besides, it can easily be achieved on PHP with not much code. The first one took 6 hrs and the second one took just over a day to develop so there really is no point to using a framework which will bloat the thing and make it incompatible with most webservers (especially the free ones).

Another consideration is how much you would trust a big open project like ROR. Nearly every big web project I've ever seen has been hugely insecure on almost every level. Writing the code by hand, you can avoid a hell of a lot of problems.


Ok, I'll take your word on it :D

I have yet to learn it. Perhaps in the coming month or so:01:

dudave
12-18-2007, 03:33 PM
RVT thank you so much, i finally manage to make it
work on another free host and it's just great!

very simple to use and manage, i love it!


few feedbacks for future updates:

* forum
* edit torrents option
* torrent name (right now displaying the file's name automaticly)
* small news box below the logo
* profile page

already waiting for further releases!
simply awesome!

misledhope
12-18-2007, 07:20 PM
nice work rvt Edit: Seems what i said could be misleading.

dudave
12-18-2007, 07:45 PM
could someone please signup and check if my
torrents work? i think there is somthing wrong
there, maybe the problem is when i upload, do
i have to use my website adress/announce.php?

j0hn
12-19-2007, 02:05 AM
nice work rvt :) the community owes you alot. next time your bored you could get in touch and help out w/ gazelle perhaps ;)

seeing as though gazelle is going to be open source and is hoped to be a serious replacement to tbsource i'd hope that what.cd would be seeking input from other site coders. glad to see such a public invitation to help develop gazelle further, not that i doubt whats coding skills.

0110
12-19-2007, 02:34 AM
i will try

rvt
12-19-2007, 11:56 PM
I'm not much in the mood for building a replacement for tbdev.
Been playing with that idea for far too long already :P

With all the suing of private sites going on lately, I'm more inclined to build something that doesn't track ratios or IPs, can be run entirely on free (anonymous) webspace and can be setup and run by a novice.
The more trackers there are, the harder it'll be for anyone to stop it.

I currently have a massive dental infection and I'm hopped up on pain pills so anything I post about aims for the thing is unlikely to make sense. My cheek and jaw feel like a balloon right now :lol:

dudave
12-20-2007, 11:44 AM
With all the suing of private sites going on lately, I'm more inclined to build something that doesn't track ratios or IPs, can be run entirely on free (anonymous) webspace and can be setup and run by a novice.
The more trackers there are, the harder it'll be for anyone to stop it.



that's is exactly what crossed my mind the first
time i saw that thread, and that's why i think it
have the potential to be so great.

after a few days playing with this myself, and i definitly
am a novice, i still can't make it work completly.
i tried several free hosting companies, but i'm still
having a problem with making the torrent work on the
utorrent, i manage to upload it to the site but then it
just show as "failure: database error" on the software.

on other free web hosts i had another problem, after the setup i could register
but never got the email confirmation back, when turning it into an open tracker, i run into a similar problem when uploading, it just
doesnt work on the utorrent and become red and inactive.

any ideas how to fix this?

rvt
12-20-2007, 04:48 PM
I'll have more after new year. I'll test it on various free hosts before releasing it this time :P

wrongun92
12-20-2007, 04:53 PM
does it have to do with the permissions of the folders where the data is stored?

dudave
12-20-2007, 05:13 PM
does it have to do with the permissions of the folders where the data is stored?

all the basic files are set to 0644
the folders to 0755
and only the "file" folder is set to 0777 (+ all the files inside it)

rvt
12-20-2007, 07:37 PM
You could change the function error in announce.php to something like:

function error($msg){
if($msg==='Database error') $msg.=': '.mysql_error().' '.__LINE__;
header('Content-Type: text/plain; charset=ISO-8859');
header('Pragma: no-cache');
die('d14:failure reason'.strlen($msg).':'.$msg.'e');
}

This would output the message "Database error: " followed by the error as reported by mysql and the line number.

Because the error message may be longer than uT wants to display, you should log it with a packet sniffer. http://www.analogx.com/contents/download/network/pmon.htm is a nice simple one.

AmpeD
12-20-2007, 07:38 PM
any 1 need staff?!?

dudave
12-20-2007, 07:56 PM
You could change the function error in announce.php to something like:

function error($msg){
if($msg==='Database error') $msg.=': '.mysql_error().' '.__LINE__;
header('Content-Type: text/plain; charset=ISO-8859');
header('Pragma: no-cache');
die('d14:failure reason'.strlen($msg).':'.$msg.'e');
}

This would output the message "Database error: " followed by the error as reported by mysql and the line number.

Because the error message may be longer than uT wants to display, you should log it with a packet sniffer. http://www.analogx.com/contents/download/network/pmon.htm is a nice simple one.

ok, i did that and it came back this time with:
"Database error: "unknown column 'time' in 'field list' 84"

i have no idea what it means tough :whistling

EDIT: i think i found the line, if it's in the announce.php:

$res=mysql_query('INSERT INTO `peers` SET `ip`='.dbesc($ip).',`port`='.$ann['port'].',`peerid`='.dbesc($hpid).',`hash`='.dbesc($hhash).',`seed`='.($seeder?'1':'0').',`time`='.$time) or error('Database error');


by the way, after i searched on many freehosts, i finally
find another one that seen to work, but again when
uploading a torrent, it's not active on uttorent
this time with the following message:

"too many redirects (http://google.sk)"

the site is located there:
http://octagon.ofingo.com//index.php

rvt
12-21-2007, 12:56 AM
I remember that problem now. I forgot to set up a column called time in the peers table, which is what's causing the issue.

Run this SQL query on your database:
ALTER TABLE `peers` ADD `time` INT NOT NULL ;

That should fix up the error.

I wont be able to do any work on this at all till at least new year, my face now looks like the godfathers, with one huge bubble cheek sticking out :lol:

dudave
12-21-2007, 07:44 AM
you'r a genious, it's working great now
thanks a lot, and have a great holliday!

i'll be waiting for updates, next year ;)

dudave
12-22-2007, 01:18 PM
hey again ;)

found a small error on the torrent page
usually after the first post it's writin this:


Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/dudave/public_html/torrent.php on line 84

and this is what is found on line 84 in the torrent.php file:

while($row=mysql_fetch_assoc($res)){
if($row['ctextbb']===''){
fload('bbcode');
$bb=bbcode($row['ctext']);
$res=mysql_query('UPDATE `commenttext` SET `ctextbb`='.dbesc($bb).' WHERE `cid`='.$row['cid']) or error('Database error');
$row['ctextbb']=$bb;
}

it doesn't interfer with anything, it's just giving this message under
the first comment.

spectator1
01-03-2008, 07:45 PM
Hey rvt,

I had to insert


@include_once('db.php');
if(!defined('DB')) error('Cannot load database functions');
dbopen();
at line 43 in announce.php because I got an error about dbesc being a unkown function and I saw it also didn't open the database.

I thought that piece of code might as well be moved somewhere earlier (line 33 maybe so that lines 37-39 become redundant)?

My settings:
define('ULACCT',true);
define('OPENTRACK',false);
define('PRIV',false);
define('SOURCE','');
define('MARKPRIV',false);

Lope333
01-03-2008, 09:54 PM
wow rvt: you're my hero. how many users u reckon this tracker would handle at once?

does it delete old records? (like after a certain period of inactivity to keep the DB size down)
personally i'm not interested in the ability to connect with other trackers.

well done on the tracker and best wishes for a speedy recovery. i've just gotten into php in the last few months. this will be awesome to play with. peace

btw i thought of cool features:
forum should have a capcha thing to reduce spam.
when user uploads a torrent they must type in their forum user and password.
torrents uploaded can be recorded as supplied by them and the number of downloads of each torrent can be recorded
then there can be a "best uploaders" page showing the best uploaders calculated by whos torrents have had the most downloads
these users can then be given special treatment somehow, like skipping queues (i dont know how slots are allocated with BT so this might be nonsense)

as well as encouraging uploading, it also allows for an element of trust, you get to know that superjoex only uploads decent stuff. etc.
all files listed can have trust points (showing how many points the uploader of that file has)

i understand the concern... IPs dont need to be stored for this feature.

if it is possible to give users special treatment, (i dont know enough about the system) then allowing for user login/pass with ratios would be sweet.

some torrent sites ban users who dont upload enough. i dont care about that. i prefer to reward the good rather than punish the bad :P

rvt
01-04-2008, 01:44 AM
@spectator1: good spotting. Exactly the way I would fix it.
Every time I see that nick I think of bob, but I guess you were probably around for all those fun and games, you old fart :P

The next release will probably be nothing like the last one.
That one was a bit rushed and shoddy, this one is from ground up. It'll have a lot more features though.
It'll also more than likely be split into two branches, one for public and one for private.

To adress a couple of points raised by Lope333:
Captcha systems are designed as a way of determining whether the poster is human rather than spam prevention. A human could post 100 times a minute even with a captcha in place. If someone starts to bomb your forums with posts, I always see it as better to deal with that person rather than limit all your other users.

Requiring username and password for upload is a waste of time with this code really. The cookies are protected by having the IP address hashed into them, taking out a major source of account hacks. It still leaves 3 possibilities.
1) They know your password, in which case this will not stop them.
2) They are on your computer. This would stop them, but if they are using your computer they can more than likely bluff an admin into resetting their password. The next version will include a recovery script for passwords, which means they could do it without involving an admin.
3) Database hacks. Although I'm fairly confident there are no SQL holes, it's a remote possibility. If this happens though, there are bigger problems than torrents being uploaded. Even if we require a password, there is nothing to stop someone with database access from running a rainbow table attack.

The next version will tie uploaded torrents to specific users for the purposes of being able to edit. Code can either be modded in to do what you want, or I may include some of it by default. Either way, I'll throw in an anonymous box for uploads so they can keep their names from the top lists.

On the subject of ratios, it's something I'm debating. At revolt we don't use ratios for anything. It's a small place and we figure a user is worth more than a number. If I leave out ratios, it might encourage more sites to run a similar system and mark the code as being for smaller groups (mainly friends). It also removes the problem of ratio cheaters completely.
Lots of smaller, friendlier sites with lower operating costs is how I'd like to see the torrent scene go to make things harder on the mafiaa, but people will run the sites they want to run.

If I include ratios, it makes the site more durable for a range of uses, but still encourages ratio logging and leaves the problem of cheats.
If ratios are included, I cannot include any of the code I have written for detecting various cheat clients by name, as this would give the makers clues to improve their cheats. The best that could be included in a public release is a speed reporter, and this only catches the most stupid cheats rather than the worst ones.

I'm toying with various ideas to allow seedtime as a point system, but without some ratio inclusion that discriminates against seedboxes which seed to high ratios for a very short time.

Whatever happens, I'll be redoing the sysdev site to include some forums, so we should be able to at least have a mod section.

http://sysdev.org.uk/v2preview.jpg

SAM
01-04-2008, 01:54 AM
thanks rvt that's very nice

Lope333
01-04-2008, 04:53 PM
thats awesome rvt.

you're right about the capcha thing. simply having a non-standard forum will prevent most automated spam bots.

i have a slightly different approach to security. if people cheat on my site and give themself an inflated ratio whether its for their ego or to leech, i dont care. most people are normal and wont go to such great lengths. if someone steals someone else's account i dont really care either. 99% of the time things will work as they are planned.

giving certain users special treatment was just an idea to encourage uploading, but not important.

a good way for rewarding users with privelages (which is hard to hack) is counting the number of different users download torrents that they have created.
(but i'm not sure how to determine whether downloaders are unique without storing IPs)

the main thing that i see as being important is being able to know that a certain alias uploaded a certain torrent, which gives it *some* authenticity. (more than none)

and if peoples passwords get hacked they can recover them with an email link and then make their password more secure.
the system should probably store failed login attempt IPs for a certain period of time, and then block that user from making too many attempts.

another idea for killing forum spam is giving users with more than x posts on the site the ability to mark a post as spam, and if 3 of them do that, it will get moved to a spam section where the mods can review it.

TheFoX
01-05-2008, 01:11 AM
you're right about the capcha thing. simply having a non-standard forum will prevent most automated spam bots.



A spam bot can be modified to work with any forum, so a non-standard is not the answer.

I created something a year or so back called anti-flood code, and is designed to only allow x torrent comments, forum posts or personal messages to be sent every hour. Once that limit has been reached, no more submissions can be made until cleanup is run (whereby a percentage of the sum is reduced).

A similar system, based on my own, was submitted by ScarS, which again restricts the number of allowed postings (or messages or torrent comments).

My system allows me to change the maximum value for each attribute, so a persistant forum spammer can easily be restricted to one post per hour, whereas a valued contributor can have that value increased to whatever we felt would be benefitial.

Along with that code is another bit of code that restricts how many times a client can announce, which is also another form of flooding (when it is done repeatedly).

All this, and more, can be found on TBDev.net...

jasperr
01-15-2008, 06:30 AM
any further development rvt??

rvt
01-15-2008, 08:36 PM
Been working on it flat out. Lots of fairly big code pieces are getting done at the moment. Mostly backend stuff, like a proper ip to name function that doesn't block a page for minutes at a time, integrating maxminds geoip ip to country, fully working utf-8 support, url/ip/email validation are all done.
Also done a whois lookup page for mods, so they can click an IP and see the ISP name etc, even when PTR lookups fail.

Security is mostly done. Auto logouts when your cookies are used from a different address, blocking of brute force attempts on login/cookie login/password recovery/email change validation etc. Currently adding in a session based verification for mod functions to prevent mods being tricked into doing something from an external link.

I'm putting in some intelligent caching, whereby the cache is actually a php file. An example of where it's useful, a profile page. Normally, you want certain parts of a profile only accessable to staff, like mod comments. If you cache the HTML output, it's either missing the staff parts, or they become accessable to everyone. Storing as a php file allows us to keep the seperation while storing all the data preloaded and preparsed.
Works nicely on the news page as well, where you have a lot of bbcode() calls that can be cut down by caching but also want links to edit/delete only for admins.

It has 2 stage access control. There are mod/torrent mod/admin and sysop flags for classes, as well as class numbers. You can have a sysop at class number 1000 say, and an admin at 2000. The admin still only gets admin access, but can alter the sysops account. It allows you to make a coder class with sysop privs (can see everything), but have the coders account settings accessable to the admins.

I've built a setup script for it, which should run you through everything easily. All that needs doing on that is plugging in the sql queries once the code is finished.

Been building this one on windows with php4, and testing with linux and php5. Testing on apache and lighttpd. It should be more reliable, although it might be better running it on a VPS or paid for webspace rather than free space.

This version will be definately aimed towards private sites. Once this is finished with, I can start replacing the private stuff with public stuff.


http://sysdev.org.uk/demo/setup1.jpg

http://sysdev.org.uk/demo/setup2.jpg

http://sysdev.org.uk/demo/setup3.jpg

http://sysdev.org.uk/demo/setup4.jpg

http://sysdev.org.uk/demo/profile.jpg

http://sysdev.org.uk/demo/profile2.jpg

jasperr
01-16-2008, 04:23 PM
that sounds way awesome rvt...... your a monster!!.. lol

looking at the SSs and what i've read so far though(unless i missed that), are there any plans to have the ability to have catagories?? or are ya gonna forgo all that... eiether way works for me personely... :D

keep up the good work m8!

rvt
01-17-2008, 04:23 AM
Oh, forgot about that. Categories are already built.

I'm constantly recoding each section to get it as good as I can, so some things are in old builds and yet to be rewritten. The main code is there though just waiting for optimization.

clocktower
01-17-2008, 02:49 PM
hey rvt ive upped ur code but theres nowt no main page etc all i get is this

torrents (http://clocktest.no-ip.biz/index.php) | upload a torrent (http://clocktest.no-ip.biz/ul.php) | admin (http://clocktest.no-ip.biz/admin.php) | logout (http://clocktest.no-ip.biz/logout.php) thats it ???

Giveaway
01-17-2008, 09:49 PM
guys its so hard to start a tracker...hope you good luck and wish u get a good way to host ur trackers

clocktower
01-17-2008, 10:14 PM
i run a tracker coded by tbdev.net this code is a page thats it im in need of some info

as for the other difioer or something that installer is weired

lsw0794
01-18-2008, 02:03 AM
a good man

Justman
01-22-2008, 05:26 AM
Hello friends i need your help please
i just wanna have make only very small my home torrents for my friends like mininova.org is just check: http://hometorrents.100webspace.net/
i need only seed/leecher script please help me i dont care if there someone will not upload his/her files just i will upload only i wanna fix only only seeder/leecher script can anyone teach me this code or script?thanks before

goodkat
03-01-2008, 01:07 PM
rvt are you still developing this tracker code? Are there coming any new releases in the near future?

Aerozin
03-02-2008, 12:36 AM
http://sysdev.org.uk/sysdev.org.uk-1.1a.rar
i get error 404 :(

rvt
03-02-2008, 01:40 AM
If you check out http://sysdev.org.uk it's all been moved to a trac system.
Working towards a release that'll be in both SVN and rar download when done.

Placed a few of the functions into the wiki, http://sysdev.org.uk/trac/wiki/Functions
If you take a look at the cache functions, most of the site will revolve around them (reducing the sql queries and the processing loops).

The database is being split between fixed length tables and variable length tables, with fixed length being prefered. This should lead to less table locking and speed up everything to do with the database. If you look at the blog, there's some *VERY* preliminary speed tests consucted on lighttpd/fast-cgi.

Dark Archon
03-02-2008, 01:59 AM
If you check out http://sysdev.org.uk it's all been moved to a trac system.
Working towards a release that'll be in both SVN and rar download when done.

Placed a few of the functions into the wiki, http://sysdev.org.uk/trac/wiki/Functions
If you take a look at the cache functions, most of the site will revolve around them (reducing the sql queries and the processing loops).

The database is being split between fixed length tables and variable length tables, with fixed length being prefered. This should lead to less table locking and speed up everything to do with the database. If you look at the blog, there's some *VERY* preliminary speed tests consucted on lighttpd/fast-cgi.

that is awesome, when will your tracker be fully complete?

rvt
03-02-2008, 02:10 AM
If you want a very easy, completely public tracker with nothing but announce:

announce.php


<?php
if(strlen($hash=bin2hex(stripslashes($_GET['info_hash'])))!==40 || strlen($pid=stripslashes($_GET['peer_id']))!==20 || ($port=0+$_GET['port'])<=0 || $port>65535) die('d14:failure reason5:oops1e');
if(!($f=@fopen($hash,'ab+')) || (filesize($hash)!==0 && (!flock($f,LOCK_SH) || false===($peers=@unserialize(@file_get_contents($hash)))))) die('d14:failure reason5:oops2e');
if($_GET['event']==='stopped') unset($peers[$_SERVER['REMOTE_ADDR']]);
else $peers[$_SERVER['REMOTE_ADDR']]='7:peer_id20:'.$pid.'4:porti'.$port.'e';
if(flock($f,LOCK_EX)) { @rewind($f); @ftruncate($f,0); @fputs($f,serialize($peers)); @fclose($f); }
$ret='d8:intervali1800e12:min intervali1800e5:peersl';
foreach($peers as $x=>$y) $ret.='d2:ip'.strlen($x).':'.$x.$y.'e';
print($ret.'ee');
?>


Absolutely no support in there for NAT, ratios or scrape, but it works and should be fast as hell :P

If you want a full blown site, you'll need to wait a couple of months or grab tbdev.

J-dye
03-12-2008, 10:20 AM
:)

lysine
05-11-2008, 05:45 PM
is there anywhere to download this from? links in this thread are dead, and there's no files on the website.

DjFresh
05-11-2008, 06:00 PM
I might look into this for myself too. :)

moda
05-11-2008, 07:53 PM
hehe

seppypom
05-12-2008, 02:42 AM
hehe

That was quite the addition, thank you very much for contributing!

goodkat
06-11-2008, 10:29 AM
If you want a very easy, completely public tracker with nothing but announce:

Absolutely no support in there for NAT, ratios or scrape, but it works and should be fast as hell :P

If you want a full blown site, you'll need to wait a couple of months or grab tbdev.


And how is the progress going? Any new updates, release?

hek
12-30-2009, 09:43 PM
Hi.


is there any news about that? nothing on the website and just the announce.php on the forum... or would it be possible to have access to the old code somehow?

thx!