Go Back   DealScans > Scanners > Doorbusters Script
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read Donate

Reply
 
LinkBack Thread Tools
Old 12-09-2008, 03:00 PM   #1 (permalink)
Junior Member
 
Join Date: Dec 2008
Posts: 5
Default now that its over....

Any possibility of releasing the source code? I'm a programmer as well, and would love to get to see the source code, and see what all you did over the time you developed it to improve speeds etc :D (You = Smitts)

Also, we're turning this thread into sharing what you used, so please share

Last edited by ferasm; 12-09-2008 at 09:31 PM..
ferasm is offline   Reply With Quote
Old 12-09-2008, 03:38 PM   #2 (permalink)
Junior Member
 
Join Date: Dec 2008
Posts: 4
Default

I found out about this whole scene from the Techcrunch article, so I was really late to the game. Regardless, I was able to win two Flip phones and a Driver! :)

You can use ".NET Reflector" to get Smitts full source code. He basically polled the category of the item for $1 items (with a couple other restrictions) and signaled whenever it found something. From what I could see, there were artificial delays put in there to keep it at 1request/sec per thread. It was multithreaded so the rate was faster than this. Smitts version was very primitive as it required a web browser to place the bid (i'm guessing he didn't want to implement the login cookie receiving/sending). As such, it made placing bids very slow and unreliable when compared to other scripts (like Waffle's). The Smitts script was also a pain when it comes to placing a failed bid. You need to sit at your computer and click the stop and start buttons to resume hammering ebay's servers. This is not scalable and as such I did not end up using his script for anything other than being notified on my Windows computer that a new item had gone through the system.

I used a modified version of Waffle's script to win all three times. My modifications to his script were if it fails to place a bid right away, it skipped trying again. (making it faster to detect newly posted items). I ran this on 5 servers, though I peaked at around 10 instances at times. Throughout the days I had tons of IPs be banned so I had to constantly switch IPs every 5-6 hours. Ebay definitley lets users use more than the advertised 5000 API calls/day, haven't counted the real amount yet though. Script: http://www.trivex.net/hybrid.php.txt

I also tried using Waffle's script for placing bids, but modifying it to use Smitts method of finding items. I coded this website polling and parsing myself since I stuck in PHP and smitts code was .NET based. Although it was very promising, I didn't win anything with this hybrid version. It caught the items, but it just couldn't place bids in time. I'm suspecting that ebay prioritizes the API servers over the http servers' cache. Script: http://www.trivex.net/modifiedwaffles.php.txt

What I learned throughout all of this is how easily friends will give me their ebay account info if I asked nicely. ;)
kloper is offline   Reply With Quote
Old 12-09-2008, 04:30 PM   #3 (permalink)
Senior Member
 

smitts's Avatar
 
Join Date: May 2006
Posts: 696
Default

It sure was fun :) I don't plan to release the source code. As mentioned above, it's not too hard to figure it out anyway.

I never claimed that it was the fastest/most efficient/best method out there. However, it was simple to use for those who don't have a linux server or something with php installed.

And the best part is....

Lots of people won some pretty cool stuff using it!
__________________
DealScans - The best deals, first!
smitts is offline   Reply With Quote
Old 12-09-2008, 05:23 PM   #4 (permalink)
Member
 
Join Date: Dec 2008
Posts: 71
Default

Kloper comes in the day after the contest with ONE post to bash the app that Smitts did and say how great his modified script was?? WTF?

Nobody here could care if it was "primitive" - Smitts' app did what it was supposed to and did not involve anyone learning PHP, scripting or anything else for that matter. Many people who used it are not computer savvy and were able to boot it up, log in and go - giving many people who were F5'ing there fingers off a shot.

Many of us won using it...

Thanks Smitts.
freddyfred is offline   Reply With Quote
Old 12-09-2008, 05:23 PM   #5 (permalink)
Junior Member
 
Join Date: Dec 2008
Posts: 5
Default

definitely... it helped me win, and I greatly appreciate it as well!
ferasm is offline   Reply With Quote
Old 12-09-2008, 06:13 PM   #6 (permalink)
Junior Member
 
Join Date: Dec 2008
Posts: 4
Default

Oh wow, Smitts has quite the strong following. :)

Sorry if I appeared to bash his app. I think what he did is great, he allowed the community to get free stuff and didn't keep it to himself like me and a whole bunch of others. I think that's awesome! He's a really great guy for doing that!!

I thought this thread was more about people who hadn't used his script to explain what they did instead -- a way to reveal secrets of what worked and what didn't for people interested. The intention of my post was to show why I didn't use Smitts' script, why I chose to modify existing ones, to give full disclosure on what i modified, and the results. I know people with much more sophisticated scripts (and infrastructures) that got 30+ items, so even my 3 is lightweight. :) But, I commend them for writing such a successful system (even though they're assholes, heh). I love hearing successful automation stories though!

Please don't get me wrong, I was expecting this to be a technical discussion -- I had no intention to attack Smitts' script!
kloper is offline   Reply With Quote
Old 12-09-2008, 07:58 PM   #7 (permalink)
Junior Member
 
Join Date: Dec 2008
Posts: 5
Default

I agree with Klobber, I'd love to see what else others did.

I had no success with Waffles... I had running on my dedicated server, and just ran out of IP's, and in general had issues. Also, It kept exiting because of getting system timeout, so I changed it to just tell me it errored, and keep running. It didn't even pick up all drops, so not sure why I had so many problems... and I know php very well :)

Klobber - how were you able to cycle that many IP's etc? Also, what did you end up winning, if you don't mind?

Also, 30 items is insane... how can they possibly get that many addresses anyways?!
Any idea on what kind of infrastructure they had? If it wasn't finals week at my university, I would of spent time and written up my own nice system, since I knew I could make one that was much faster than Smitts (which was still a great general purpose script)
ferasm is offline   Reply With Quote
Old 12-09-2008, 08:22 PM   #8 (permalink)
Junior Member
 
Join Date: Dec 2008
Posts: 4
Default

ferasm,

About the exiting, I also changed that to not quit unless it was an error other than a timeout "if (strpos($resp->Errors->ShortMessage, "request timed out") === FALSE)". I found that it got really annoying really quickly otherwise -- plus again not very scalable if i wanted to run this unattended.

I hear you on not picking up all drops. I still don't understand why either. This is why I decided to try the hybrid method. There was a particularity slow time on Sunday night, I maybe caught 4 drops using the API method, and of course didn't successfully bid on either. Perhaps eBay is still working on their API's accuracy... I'm really not sure.

I was doing about 1 IP/day for every system. This was because my requests per second on the ebay api were pretty slow (about 1 per second). When I experimented with multiple IPs I binded to another NIC on the server (different ip)

I won 2 flip cameras and one driver. I'm gifting the driver to a friend and my bro and i are gifting each other the cameras so we don't end up having to spend money this christmas. :)

The guy with 30-something wins had a massive system with a pool of 100s of IPs and multiple systems in a datacenter. He runs a hosting company so he used spare cycles on his customer's VPS servers to attack eBay at ~100mbits (eeeek!!). I also proposed a system to him where he would just increment the ebay ID number and check that way since auctions are available quicker like that than through searching/categories/api. The problem is that hundreds of ebay items are posted every second, so checking each item incrementally could be a problem. Perhaps him having this massive amount of bandwidth was what was needed to support a system like this...

Finals week for me too, but I got lucky that I had a final last Thursday and my next one is this Thursday. :)
kloper is offline   Reply With Quote
Old 12-09-2008, 08:53 PM   #9 (permalink)
Member
 

weber81's Avatar
 
Join Date: Nov 2008
Posts: 68
Default

i used firefox with greasemonkey installed. here was the script i was using.
search for what you wanted and narrow down the results until nothing but a doorbuster would show. then turn on macro, refresh screen and let it buy everything that they posted. unfortunately i didn't get this code till the last day, and being on the east coast (PA) didn't help either. but i was withing a second or 2 of every item ending. but i won a wii fit, a leapster 2, and a train set. which was then resisted ( train ) due to shipping to same address as wii fit was. but under my wife's name, i was under the impression it was every adult over 18 in the house could win 1 item. so after i won this auction, i changed my address to my current instead of my brothers like i had maed it originally. well dumb move by me, lost the train set that i really wanted so bad. would have killed for a power wheels also. i have a 3 month old and wanted it for him. i have a quad my self and thought it would be sweet to have a toy 1 for him for later also

// ==UserScript==
// @name ebaybuster
// @namespace RB
// @include eBay
// @include eBay - Nonfiction Books, DVD, HD DVD Blu-ray, Women's Clothing items on eBay.com
// @include items on eBay.com
// @include Page not found
// @include http://*.ebay.com/*
// ==/UserScript==
//
//
//

/*
* Wrote this for fun, not meant for any serious use.
*
* !!!!!!!!!!!!!!!!!!!!!!!!!! Important !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* If you don't understand even a line of the following, please do not run it.
* You will end up buying a lot of unwanted stuff
* !!!!!!!!!!!!!!!!!!!!!!!!!! Important !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*
* Use Firefox with GreaseMonkey plugin
* Install Adblock-Plus firefox plugin and filter the following
* http://pics.ebaystatic.com/aw/pics/*.gif
* http://pics.ebaystatic.com/aw/pics/globalHeader/*
* http://rtm.ebaystatic.com/0/RTMS/Image/*
* http://thumbs.ebaystatic.com/pict/*
*
* Logoff and login to ebay after checking the "keep me logged in"
* Opt out of the "new search experience"
* Replace with the search url for exact match, Make sure you test the search in the browser
* Narrow down to the lowest category, use But-It-Now, Price>=1, Price<=1, Free Shiping,
* Do not include "title and description" in your search. Rather, use a combination of any
* words you can think of in the title. Having too many search terms is ok
*
* Close all browser windows except one
* Install script in GreaseMonkey
* Activate GM
* Type in the searchUrl in the address
*
*/


var searchUrl = "http://toys.shop.ebay.com/items/Ride-Ons-Tricycles__W0QQLHQ5fPriceZ1Q2eQ2e1Q40cQQLHQ5fInclu deSIFZ1QQLHQ5fBINZ1QQLHQ5fFSZ1QQ_arrZ1QQ_catrefZ1Q Q_flnZ1QQ_mPrRngCbxZ1QQ_npmvZ3QQ_sacatZ19023QQ_trk sidZp3286Q2ec0Q2em283?_trksid=p3286.c0.m287";

function rmById(nId) {
var n = document.getElementById(nId);
if (n)
n.parentNode.removeChild(n);
}

var interested = true;
var backToSearchTimer;

//rmById('expSprc');
//rmById('expStore');

if (document.body.innerHTML.indexOf('0 items found for:') != -1)
interested = false;
else if (document.body.innerHTML.indexOf('0 results found for') != -1)
interested = false;
else if (document.body.innerHTML.indexOf('0 items found in:') != -1)
interested = false;
else if (document.getElementById('rsc_mid') && document.getElementById('rsc_mid').innerHTML.index Of('<span class="countClass">0</span>') != -1)
interested = false;

if (interested) {
var allDivs, thisDiv, thisHref;

// listings results can be in 2 different formats, search for both

allDivs = document.evaluate(
"//td[@class='details ttl']",
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);

for (var i = 0; i < allDivs.snapshotLength; i++) {
thisDiv = allDivs.snapshotItem(i);
if (thisDiv.childNodes[2] && thisDiv.childNodes[2].tagName == 'A') {
thisHref = thisDiv.childNodes[2].href;
console.log("Found an item - " + new Date() + thisHref);
window.location = thisHref;
}
}

allDivs = document.evaluate(
"//h3[@class='ens fontnormal']",
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);

for (var i = 0; i < allDivs.snapshotLength; i++) {
thisDiv = allDivs.snapshotItem(i);
if (thisDiv.childNodes[0] && thisDiv.childNodes[0].tagName == 'A') {
thisHref = thisDiv.childNodes[0].href;
console.log("Found an item - " + new Date() + thisHref);
window.location = thisHref;
}
}
} else {
window.location = window.location;
}

if (document.body.innerHTML.indexOf("This item has ended with Buy it Now.") != -1) {
console.log("Oops, item ended with a buy it now: " + new Date() + window.location);
backToSearchTimer = setTimeout(function() { window.location = searchUrl; }, 60000 * 5); // 5 mins
}

if (document.getElementsByName('input_bin') && document.getElementsByName('input_bin')[0]) {
document.getElementsByName('input_bin')[0].click();
console.log("Got it step1 !!! : " + new Date() + window.location);
} else if (document.getElementsByName('BIN_button') && document.getElementsByName('BIN_button')[0]) {
document.getElementsByName('BIN_button')[0].click();
console.log("Got it step2 !!! : " + new Date() + window.location);
}

if (document.title == "Buy It Now") {
if (document.body.innerHTML.indexOf('Transaction Blocked') != -1) {
console.log("Oops, Transaction blocked: " + new Date() + window.location);
backToSearchTimer = setTimeout(function() { window.location = searchUrl; }, 60000 * 5); // 5 mins
} else {
document.forms[0].submit();
console.log("Got it step3 !!! : " + new Date() + window.location);
}
}
if (document.title == "Attention Buyer") {
document.forms[1].submit();
console.log("Got it step4 !!! : " + new Date() + window.location);
}
weber81 is offline   Reply With Quote
Old 12-09-2008, 09:03 PM   #10 (permalink)
Junior Member
 
Join Date: Dec 2008
Posts: 4
Default

Quote:
Originally Posted by weber81 View Post
i used firefox with greasemonkey installed. here was the script i was using.
search for what you wanted and narrow down the results until nothing but a doorbuster would show. then turn on macro, refresh screen and let it buy everything that they posted. unfortunately i didn't get this code till the last day, and being on the east coast (PA) didn't help either. but i was withing a second or 2 of every item ending. but i won a wii fit, a leapster 2, and a train set. which was then resisted ( train ) due to shipping to same address as wii fit was. but under my wife's name, i was under the impression it was every adult over 18 in the house could win 1 item. so after i won this auction, i changed my address to my current instead of my brothers like i had maed it originally. well dumb move by me, lost the train set that i really wanted so bad. would have killed for a power wheels also. i have a 3 month old and wanted it for him. i have a quad my self and thought it would be sweet to have a toy 1 for him for later also

..code..
Very cool. I've wanted to get into greasemonkey scripting, looks pretty simple.

Did you get the three wins using this script?
kloper is offline   Reply With Quote
Old 12-09-2008, 10:42 PM   #11 (permalink)
Member
 

coot66's Avatar
 
Join Date: Dec 2008
Posts: 38
Default

I'm saving the scripts you folks are sharing just in case they do something like this next year! I doubt it, but I hope so!

-The Saving Coot66
coot66 is offline   Reply With Quote
Old 12-11-2008, 01:04 PM   #12 (permalink)
Junior Member
 
Join Date: Dec 2008
Posts: 1
Default

Quote:
Originally Posted by weber81 View Post
i used firefox with greasemonkey installed. here was the script i was using.
search for what you wanted and narrow down the results until nothing but a doorbuster would show. then turn on macro, refresh screen and let it buy everything that they posted. unfortunately i didn't get this code till the last day, and being on the east coast (PA) didn't help either. but i was withing a second or 2 of every item ending. but i won a wii fit, a leapster 2, and a train set. which was then resisted ( train ) due to shipping to same address as wii fit was. but under my wife's name, i was under the impression it was every adult over 18 in the house could win 1 item. so after i won this auction, i changed my address to my current instead of my brothers like i had maed it originally. well dumb move by me, lost the train set that i really wanted so bad. would have killed for a power wheels also. i have a 3 month old and wanted it for him. i have a quad my self and thought it would be sweet to have a toy 1 for him for later also

// ==UserScript==
// @name ebaybuster
// @namespace RB
// @include eBay
// @include eBay - Nonfiction Books, DVD, HD DVD Blu-ray, Women's Clothing items on eBay.com
// @include items on eBay.com
// @include Page not found
// @include http://*.ebay.com/*
// ==/UserScript==
//
//
//
}
I sent you this script over a private message upon your request. If i wanted to publish it, i would've done that myself. Also, it is common courtesy to request permission from the author before you publish someone else's work online. Not very nice of you.
forusenet is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On





All times are GMT -5. The time now is 03:24 AM.



Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0 RC8 ©2007, Crawlability, Inc.
Copyright ©2006 - DealScans