BitcoinPorn
|
|
September 28, 2011, 11:59:49 AM |
|
Very interesting proposal, but that could lead to the implication of the site in the illegal distribution of copyrighted materials however. Bitcointorrentz does not (officially) permit the use of the service for copyrighted or illegal materials, only legal torrents that are open source or not copyrighted. I'd love to do this, but I think it could be damaging to the site.
I'm an idiot, I did not think of the legal issue, and of course you do not want your site tied to illegal files being shared, very good point.
|
|
|
|
terrytibbs
|
|
September 28, 2011, 01:04:00 PM |
|
Maybe you should include a warning when proceeding to pay for a torrent with a low seed count.
The problem with this is that before payment has been completed, the torrent is not loaded into the torrent client. Therefore, I cannot query the client for the number of seeds. All I can do is parse the torrent file, and display information like size and name, etc. The torrent file itself does not contain the number of seeds or peers. So I would have to actually load the torrent into the client, start downloading it, and then query the seeds and peers counts. It would need to download for a while to get true seeds and peer figures aswell, because most torrents use multiple trackers which need to be connected to separately, and also the DHT and other p2p protocols that torrent clients use to obtain seeds and peers take a while to reel in the true figures. So the actual query could take several seconds, if not much longer, to actually complete. If the user decides then not to pay for it, this could lead to problems. There are many who upload torrent files just to see how much it would cost, and then decide not to go ahead. If the server were to load every queried torrent, it would leave the site vulnerable to users loading torrents for the sake of it, wasting a lot of server resources and bandwidth. Well, yes and no. Here's an idea I'd just like to throw into the air; - Query btjunkie.org for http://btjunkie.org/search?q=(htmlencoded torrent name).
- Use some regexp magic to grab the first result.
- Download the torrent.
- Check its metadata hash and compare it against the hash of the torrent the user submitted, if they match, continue.
Personally, I use transmissioncli;
transmissioncli -i torrent.torrent 2>/dev/null | grep "^hash:" | awk '{print $2}' This might seem like a whole lot of work for a single torrent, and you'd have to limit the amount of times a single user can query this information, but using the btjunkie API you can fetch immense amounts of data. You can then pass this on to your advertising network to increase clickthrough rate, warn the user about potentially hazardous torrents, list files. You name it, it's probably got it.
|
|
|
|
mjcmurfy (OP)
|
|
September 28, 2011, 01:09:17 PM |
|
Just found a small bug with the ajax refresh script where it would fail to display any of the status information. It's all fixed now, so if anyone noticed anything odd, just want to reiterate that it's all good now.
@BitcoinPorn: You're not an idiot by any means. You are exactly like most of us on this forum. We tend to trivialize and often completely forget laws which we deem archaic and insufficient. But we must remember that the law is the law, and can come down on you pretty hard if you are not extremely cautious.
@terrytibs: hmmmm.... the btjunkie API! I will definitely take a look into it. It would mean than btjunkie MUST remain operational at all times though, as my service would then depend on constant connectivity to btjunkies servers. I have noticed their site go down at times too. Do you know if they count seeders from all trackers, or just seeders on the btjunkie tracker? Also, do they include DHT seeds and peers in their results? Very interesting indeed.
|
|
|
|
terrytibbs
|
|
September 28, 2011, 01:16:53 PM |
|
@terrytibs: hmmmm.... the btjunkie API! I will definitely take a look into it. It would mean than btjunkie MUST remain operational at all times though, as my service would then depend on constant connectivity to btjunkies servers. I have noticed their site go down at times too. Do you know if they count seeders from all trackers, or just seeders on the btjunkie tracker? Also, do they include DHT seeds and peers in their results? Very interesting indeed.
I will research into this later today. Another thing, use torrenteditor.com's bencode and torrent classes. bencode include: http://pastebin.com/LfmPYkXQtorrent include: http://pastebin.com/HQSH8SYYNow you can simply get the hash by doing set_include_path('include'); include_once('torrent.php');
$data = file_get_contents($grab_from_file_upload); if ($data == false) { exit("Couldn't read torrent."); }
$torrent = new Torrent();
if ($torrent->load($data) == false) { exit("Error: {$torrent->error}"); }
$hash = $torrent->getHash();
// Eye candy, skip this for if-statements $hash = chunk_split($hash, 8, ' ');
echo($hash); Edit: About the connectivity, you could just set the timeout pretty low. The world doesn't end if the torrent has a low seeder-count. You should, however, refund the user if there are no seeders and the download doesn't start within a set timeframe. Second edit: isoHunt has a JSON-search-api. It would be better than btjunkie for getting results, although worse for actually parsing seed info and the like. http://isohunt.com/forum/viewtopic.php?t=150656
|
|
|
|
mjcmurfy (OP)
|
|
September 28, 2011, 01:35:38 PM |
|
I will research into this later today. Another thing, use torrenteditor.com's bencode and torrent classes. bencode include: http://pastebin.com/LfmPYkXQtorrent include: http://pastebin.com/HQSH8SYYNow you can simply get the hash by doing set_include_path('include'); include_once('torrent.php');
$data = file_get_contents($grab_from_file_upload); if ($data == false) { exit("Couldn't read torrent."); }
$torrent = new Torrent();
if ($torrent->load($data) == false) { exit("Error: {$torrent->error}"); }
$hash = $torrent->getHash();
// Eye candy, skip this for if-statements $hash = chunk_split($hash, 8, ' ');
echo($hash); I am actually already using BEncode to obtain the torrent's infohash. Originally, I tried to obtain seed and peer information about the torrent using the hash and scraping all the info from the list of announce trackers in the file directly, but the requests took too long. Some trackers time out, some are not responsive, and some torrents are actually trackerless, meaning the user would have to wait up to a minute or more on a blank screen while the queries completed, making it unfeasible for smooth, fast usage. So I just pulled all that code, and parsed just the data in the file. I think the best solution would be to just remind users that poorly seeded torrents may be speed limited due to poor availability, and to ensure that they only use healthy torrents. Then I can easily update the seeds/peers totals on the status page by querying my client without having to go to all that extra hassle. They will then be able to see WHY their torrent is going slow. Not because of the server, but because of the torrent itself. I could create a "health" indicator, and explain on the status page why a certain torrent may download slowly. The only reason I want to include something like this is because some users may attribute the slowness to the speed of the server, rather than the speed of the torrent, and might not return. If they realize that it is going slowly because of few seeders, they are more likely to return with a better seeded torrent in the future. I don't think it should be the duty of bitcointorrentz service to check seeds and warn users that a torrent will be slow. I think that duty should probably fall on the user themselves. It's pretty easy to check, it's plain to see on most torrent trackers. Also, it would probably lead to fewer conversions.
|
|
|
|
molecular
Donator
Legendary
Offline
Activity: 2772
Merit: 1019
|
|
September 28, 2011, 11:31:10 PM |
|
With regards to advertising on torrent search engines, I will certainly look into it. The only problem is that the service can only be paid for with bitcoin, meaning a large majority of users of those search engines will not be able to avail of the service.
Yes, it would be more of an advertisement for bitcoin than for bitcointorrentz. Not a bad thing per se of course. Text could be something like "safe torrent downloading service payed for by p2p money, bitcoin." Regarding ajax-updates: great, didn't get a chance to check it out yet, though! It seems you're unable to throttle your enthusiasm, a good thing... just don't burn out Regarding low seedcount torrents: I like the idea of a pre-payment warning if that's possible technically. EDIT: didn't read the discussion about the low seedcount torrents. interesting ideas (btjunkie). Maybe it could be simple, though, to refund (or give an option to refund), if the download takes exceptionally long. Of course the user would have to be instructed to not use online wallet services or mtgox or similar to pay if he wants to receive refunds. I don't think however, this is too big of an issue. For me this would likely not occur, because I search on btjunkie and check the seedcount there anyways. Maybe these situations could be handled manually upon user contact by email or similar. On the downside, we might end up with a lot of "dead torrents" we cannot really remove, because, after all, the user payed for them. Hmm, maybe it needs to be handled somehow after all... well, just my thoughts.
|
PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0 3F39 FC49 2362 F9B7 0769
|
|
|
dancupid
|
|
September 29, 2011, 04:32:42 AM |
|
I had a problem with the last download - the webpage indicated immediate download, but what I received was an 800mb !ut file (ie incomplete torrent) file. The file I downloaded was very obscure (a Spanish film from 1973) so I was a little surprised that I could immediately download it.
Edit: I've read back through the thread. This problem may have been sorted in your last fix. I've checked the links now and they do seem to be the correct files without the !ut extension.
|
|
|
|
mjcmurfy (OP)
|
|
September 29, 2011, 08:50:30 AM |
|
@dancupid: yeah, that is the glitch I was referring to in post #169. It was a small code error that would immediately bring the user to the torrent complete status page under certain circumstances before the file had completely finished downloading. I had this problem originally when I first implemented the javascript refresh script too. I have patched it up now, so it should all be fine. @terrytibbs: thats a good point you raised about non-starting torrents. It hasn't yet occurred, but it is an exception that I will have to think about handling soon. What I may do is give the user the option to cancel the download on the status page, and then provide a refund account address. Again though, this could lead to people taking the piss. Let a massive torrent get to 99% and then cancel it. It probably wouldn't happen, but you never know. @molecular: yeah, I'm finding it hard to drag myself away from dreamweaver! Right now, it would take a lot of effort to handle these exceptions automatically with code. I'll work on it, but I think the best stop-gap measure would be to just warn users beforehand to use healthy torrents, and then to advise them to use the contact us page with a link if the download goes so slowly that it will not complete in a reasonable amount of time.
|
|
|
|
terrytibbs
|
|
September 29, 2011, 01:01:44 PM |
|
@terrytibbs: thats a good point you raised about non-starting torrents. It hasn't yet occurred, but it is an exception that I will have to think about handling soon. What I may do is give the user the option to cancel the download on the status page, and then provide a refund account address. Again though, this could lead to people taking the piss. Let a massive torrent get to 99% and then cancel it. It probably wouldn't happen, but you never know.
You could give total refunds up to ten or fifteen percent, and refund the total amount minus your rate per GB for the rest.
|
|
|
|
mjcmurfy (OP)
|
|
September 30, 2011, 12:13:20 AM |
|
You could give total refunds up to ten or fifteen percent, and refund the total amount minus your rate per GB for the rest.
I'll try and think of some way of achieving this or something similar for the next live update of the site. I am also working on several other modifications to the service, so I hope to do another live update this weekend at some stage.
|
|
|
|
dancupid
|
|
September 30, 2011, 01:55:30 PM |
|
Another feature I'd like is for a store of recent download links for registered users - I've been using the site quite a bit, and at first I remembered to bookmark the links, but the more I use it the more I forget to do so (and I now have quite a lot of bookmarks that I need keep deleting). If I just start the download, and then walk away or have it open in one tab, I could quite easily come back and just close my browser and lose the link.
|
|
|
|
mjcmurfy (OP)
|
|
September 30, 2011, 02:01:09 PM |
|
Another feature I'd like is for a store of recent download links for registered users - I've been using the site quite a bit, and at first I remembered to bookmark the links, but the more I use it the more I forget to do so (and I now have quite a lot of bookmarks that I need keep deleting). If I just start the download, and then walk away or have it open in one tab, I could quite easily come back and just close my browser and lose the link.
I was thinking about doing something like this. It's a good idea, but the reason it is difficult is because torrents are not stored with any identifying information within the database. There is nothing in the code that links the download to your member account. To achieve this, I would have to make extensive changes and label torrents entered into the database with the corresponding username. From the perspective of anonymity, I don't know how happy other users of the site would be about this. I personally don't think it is a big issue, since you always have the option of downloading the file as an unregistered user. Thoughts?
|
|
|
|
HostFat
Staff
Legendary
Offline
Activity: 4270
Merit: 1209
I support freedom of choice
|
|
September 30, 2011, 02:20:27 PM |
|
Another feature: Local search engineUsers will be able to chose if they want to make their downloaded file "public". if they agree, users ( registered and not ) will be able to find them from a search engine. If they want do download them, then you will be able to make prices as rapidshare/megaupload ... Some free Some they will have to pay ... You could also share the income with the users that has left the file public. ( small % )
|
|
|
|
dancupid
|
|
September 30, 2011, 02:29:22 PM |
|
Another feature I'd like is for a store of recent download links for registered users - I've been using the site quite a bit, and at first I remembered to bookmark the links, but the more I use it the more I forget to do so (and I now have quite a lot of bookmarks that I need keep deleting). If I just start the download, and then walk away or have it open in one tab, I could quite easily come back and just close my browser and lose the link.
I was thinking about doing something like this. It's a good idea, but the reason it is difficult is because torrents are not stored with any identifying information within the database. There is nothing in the code that links the download to your member account. To achieve this, I would have to make extensive changes and label torrents entered into the database with the corresponding username. From the perspective of anonymity, I don't know how happy other users of the site would be about this. I personally don't think it is a big issue, since you always have the option of downloading the file as an unregistered user. Thoughts? Perhaps when someone clicks the the initial download link it could show a popup 'bookmark this link?' y/n. The user can then decide if they want to or not. At least it would be a clear reminder. I personally wouldn't generally be concerned about anonymity - and if I was I'd go for the unregistered option.
|
|
|
|
mjcmurfy (OP)
|
|
October 01, 2011, 12:12:19 AM |
|
Another feature: Local search engineUsers will be able to chose if they want to make their downloaded file "public". if they agree, users ( registered and not ) will be able to find them from a search engine. If they want do download them, then you will be able to make prices as rapidshare/megaupload ... Some free Some they will have to pay ... You could also share the income with the users that has left the file public. ( small % ) Hmm. Interesting proposal. I'll give this some thought. Thanks for the suggestion! Perhaps when someone clicks the the initial download link it could show a popup 'bookmark this link?' y/n. The user can then decide if they want to or not. At least it would be a clear reminder. I personally wouldn't generally be concerned about anonymity - and if I was I'd go for the unregistered option.
I think it would be better to just display a usage history in the members area as we discussed earlier. After further thought, I don't think this would be too much of a problem, as anonymous usernames are not a viable means of identification. I will get to work on this. Also, just want to add that I have made a slight modification to the status page. It now also shows the total number of available and connected seeds. More updates to come soon.
|
|
|
|
BitcoinMint.US
|
|
October 02, 2011, 01:49:46 AM |
|
This sounds like a great service. Nice job.
|
|
|
|
mjcmurfy (OP)
|
|
October 05, 2011, 08:40:24 AM |
|
Just a quick post to say that I been AFK for the past week or so, and that development of the service will resume as normal today. I should have the next live update ready to go at some stage this weekend. Thank you to everyone who continues to use this service.
|
|
|
|
phelix
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
October 07, 2011, 06:54:49 PM |
|
With regards to updates to the site, I have added affiliate banners with the users referral link pre-formatted into HTML and forum BBcode for easy copy-paste insertion. These can be found within the members area: [...img...] I have also added further affiliate statistics to the members area: earnings per hit and conversion rate. These are pretty much self explanatory, but just for the sake of clarity, earnings per hit is your average earnings per referral visit rounded to 6 decimal places. Conversion rate is the number of downloads your referee's have made as a percentage of your total hits. Both of these are indicators of how well the affiliate program is working out for you. I have also made some major syntax improvements to the code, which is not really evident to the end user, but will make future updates much easier to implement. Keep torrenting guys! if a user from my site would visit your site and use your service a day later would it still count? for how long?
|
|
|
|
mjcmurfy (OP)
|
|
October 08, 2011, 12:26:58 AM |
|
@phelix: you will keep earning referral credits indefinitely, even if the user comes back to the site without using your referral link. You just need to get them to click once. Your refid is then stored in a cookie on the users system. Until the user clears their cookie cache, or clicks a link with a new referral code, you will continue to receive commission.
|
|
|
|
w00ly
Newbie
Offline
Activity: 51
Merit: 0
|
|
October 09, 2011, 05:57:34 AM |
|
curious what happened with the stock? It was over 1.5btc per share now it's at .5
|
|
|
|
|