Skip to content

yeeezy/splash-party

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

splash-party

Run multiple headless browsers on Adidas.com waiting room

Important Breaking Changes - Made April 26th, 2017 - Must Read

  • gCookies: You should not convert cookies in the jsfiddle any more, copy them straight from EditThisCookie
  • ///: If you have enabled /// via splash-party, all cookies are now being copied in a more trustworthy way, and all variables found will be automatically filled in /// when it opens

Support

There is a subreddit for supporting this repo and other Adidas-related repos

https://www.reddit.com/r/adidasatc

How it works

Headless browsers will refresh the splash page while creating fresh sessions, once a browser bypasses the waiting room, the browser will then become visible.

Note: Currently a browser becoming visible will have focus set to it, so be mindful while you're checking out, another window might pop up - which has a different session that also bypassed queue

Setup

  • install nodejs and npm
  • clone repo
  • npm install
  • node app.js

Configure

Configuration file can be modified as needed:

  • splashUrl: Url for the Adidas splash page (or "waiting room")
  • userAgent: You can set this to be your browsers user agent if you want to transfer sessions for /// use. The other option would be to set your browser to this user agent
  • partySize: Number of browsers to put on the splash page
  • splashUniqueIdentifier: This should be some unique selector that exists on splash but does not product page, many exist. If you want, you can reverse the .exists logic in the code and look for the sitekey to know your on the product page
  • waitTime: number of ms to wait between refreshing (after page has completely loaded)
  • enableSourceUpload: enables the auto-upload of page source once you hit the product page, to be shared by the community
  • singleSuccess: set to true if you want all other browsers to stop once you hit the product page with 1
  • fuckNikeTalk: when a browser passes through to the product page, a new window with /// will open with the same session
  • fuckGmail: if fuckNikeTalk is true, the browser will first open gmail, after logging in succesfully it will browse to ///, making captcha solving easier for /// users
  • stripesUrl: if you set fuckNikeTalk to true, set this to your local /// url
  • hmacOnly: "hmac mode" - a browser passing splash won't pop the window open, it will only print out the cookies, sitekey, and save the source code. Use this if you're only interested in getting hmac cookie and transfering them to your own browser
  • gCookies: an array of cookies, do not leave empty, it will cause program to crash. See this repo for explanation on how to build the array. Used properly this will let you through captcha without solving 10 times
  • SKU: only relevant for /// users, the current product SKU
  • locale: only relevant for /// users, your adidas locale

Page Source

After bypassing the Adidas waiting room/splash page, the app will automatically create a page-source directory, where it will save the product page's source code.

Variable Print Out

When a browser reaches the product page, it will attempt to extract and print the sitekey, client-id and captcha-dup.

/// Integration

this feature has never been tested live

If you want to use d3stryr-3stripes PHP script, you can now do so from inside the program.

set fuckNikeTalk to true and set stripesUrl to be your local /// url, for easier captcha solving set fuckGmail to true

  • once a browser gets to the product page, another window will open under the same session cookies+user-agent with your /// page
  • The title of the browser is the time it opened - this is important to keep track of your 10 minute cookie
  • if multiple windows open -> multiple /// instances will also open, each under a different session, to make things managable just notice the time in the title to understand how long you have for each window
  • all variables found will auto-populate the script when it opens
  • with fuckGmail set to true, you will log in to gmail before the browser moves to ///

G-Cookies

There is now an option to transfer over your g-cookies to pass captcha easily, see config for explanation

Disclaimer

Use at your own risk, currently Adidas does not ban multiple sessions from the same IP, it may in the future.

Session Transfer

There is a built in mechanism to help session transfer, all cookies are printed in proper JSON format, then any cookies that seem like hmac cookies are printed (also in proper JSON format)

Transfer any relevant cookies via your favorite browser extension, I recommend EditThisCookie which takes the complete JSON array as input and sets all cookies in 1 easy move

Debugging

  • For nightmarejs debugging DEBUG=nightmare node app.js
  • For electronjs debugging DEBUG=electron* node app.js

Todo

  • Add full browser toolbar to top of window

About

Run multiple headless browsers on Adidas.com waiting room

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published