-
Notifications
You must be signed in to change notification settings - Fork 1
Setup Tutorial
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 yourSID
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...
If you're familiar with Heroku, you can just deploy the YTCC archiving tool just by clicking here:
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.
-
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
, andSID
inside ofconfig.json
- The
TRACKER_USERNAME
can also be specified inconfig.json
or as an environment variable.
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.