Skip to content
This repository has been archived by the owner on Oct 29, 2020. It is now read-only.

Setup Tutorial

madprogramer edited this page Sep 25, 2020 · 8 revisions

Tutorial

Getting Started

In order to run the worker you will need to provide "session cookies", you can think of this as a lazy way of logging onto YouTube:

  • In a new/guest/Incognito browser profile, create a test Google account. (Use a separate browser profile so the cookies don't get associated with your main Google account).
  • IMPORTANT: Set the default account language to English (United States). https://myaccount.google.com/language
  • IMPORTANT: Visit YouTube.com. Set the YouTube site language (found by clicking on the profile image on the top right corner of youtube.com) to English (US).
  • Open developer tools and go to the Application tab in Chrome, or the Storage tab in Firefox. Copy the full values for the following cookies on youtube.com: HSID, SSID, and SID (note: don't miss the . at end of your SID entry).

The cookie values are needed because a Google account (any Google account) is required to access the community contributions editor, where much of the data is gathered from.

  • Last but not least you will need to pick a TRACKER_USERNAME, this is the name that is used for the dashboard, think of it like your name on a leaderboard.

IMPORTANT: Keep your TRACKER_USERNAME alphanumeric and avoid spaces, to avoid getting errors.

Now onto the question of Where to run the worker from...

Method 1: Heroku

If you're familiar with Heroku, you can just deploy the YTCC archiving tool just by clicking here:

Deploy

And if you're not familiar with Heroku, consider the following:

  • It's a cloud environment where you don't have to worry about bandwidth or turning off your computer.
  • automatic updates every few hours.
  • Deploy up to 5 instances of it to a free Heroku account (total max monthly runtime 550 hours)
  • no programming knowledge necessary, just create a new account and you'll be set!

Once you're registered or signed in, all you'll have to do is name your app whatever you want, and then fill in HSID, SSID, SID and theTRACKER_USERNAME of your choosing.

  • The TRACKER_USERNAME

When setup completes, Heroku should continue to run the worker automatically until you cancel it.

You can deploy upto 5 copies of the same template (for free), if you want to maximize throughput! Just give the copies different app names.

Method 2: Run Locally

  • Ensure that the following are all installed on your system:

    • python 3.8.6,
    • zip,
    • curl,
    • rsync
  • Install the Python module requirements in the requirements.txt file

pip install -r requirements.txt
# note that aioquic will be required for a future update.
  • You'll have to specify your HSID, SSID, and SID inside of config.json
  • The TRACKER_USERNAME can also be specified in config.json or as an environment variable.

Method 3: Run in a Docker Container

Image on dockerhub provided by Fusl.

docker pull fusl/ytcc-archive

Run a container with:

docker container run --restart=unless-stopped --network=host -d --tmpfs /grab/out --name=grab_ext-yt-communitycontribs -e HSID=[YOUR-HSID]-e SID=[YOUR-SID] -e SSID=[YOUR-SSID] -e TRACKER_USERNAME=[YOUR-TRACKER_USERNAME] -e PYTHONUNBUFFERED=1 fusl/ytcc-archive

IMPORTANT: Take care to replace [YOUR-HSID], [YOUR-SID], [YOUR-SSID], [YOUR-TRACKER_USERNAME] with your values.

Feel free to build your own image using the Dockerfile provided in this repo.

Clone this wiki locally