{"id":22610784,"url":"https://github.com/cheatoid/yaytd-public","last_synced_at":"2025-03-28T23:14:03.764Z","repository":{"id":142767497,"uuid":"375915675","full_name":"Cheatoid/yaytd-public","owner":"Cheatoid","description":"Public/NodeJS version of yaytd. Turn up the beats. 🤘🎸🎵💿","archived":false,"fork":false,"pushed_at":"2021-06-13T00:09:44.000Z","size":15915,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dropbox","last_synced_at":"2025-02-03T09:46:54.254Z","etag":null,"topics":["api-service","yaytd","youtube-dl"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cheatoid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-11T05:34:26.000Z","updated_at":"2021-12-26T17:58:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"378dedf7-90c3-4f58-93f8-a28adf65c16a","html_url":"https://github.com/Cheatoid/yaytd-public","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cheatoid%2Fyaytd-public","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cheatoid%2Fyaytd-public/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cheatoid%2Fyaytd-public/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cheatoid%2Fyaytd-public/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cheatoid","download_url":"https://codeload.github.com/Cheatoid/yaytd-public/tar.gz/refs/heads/dropbox","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246112666,"owners_count":20725301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-service","yaytd","youtube-dl"],"created_at":"2024-12-08T16:08:07.151Z","updated_at":"2025-03-28T23:14:03.750Z","avatar_url":"https://github.com/Cheatoid.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yaytd-public\nWelcome to the public version of mine currently private project called *yaytd* (Yet Another YouTube Downloader).  \nI decided to implement this one using NodeJS \u0026 PowerShell for my own simplicity.\n\n## Enough crap. What is this?\nyaytd allows you to run localhost HTTP server that will serve yt-dl API ***and*** lets you cache requests/downloads.\n\n(Primarily, this tool has been designed for use by Garry's Mod community; to make it possible to create fancy ingame music players via ingame scripting...)\n\n## Installation: Full Walkthrough\n\n### Prerequisites\nMake sure you have **all** of the following (items marked with `*` are optional):\n1. [NodeJS](https://nodejs.org/en/download/) (v14.17.0 or higher)\n2. [PowerShell](https://github.com/PowerShell/PowerShell/releases/latest) / [Win10Store](https://www.microsoft.com/en-us/p/powershell/9mz1snwt0n5d) (v7.1.3 or higher)\n3. [ffmpeg](https://ffmpeg.org/download.html) / [BtbN](https://github.com/BtbN/FFmpeg-Builds/releases/latest) `*` (v4.4 or higher)\n4. [Dropbox](https://www.dropbox.com/downloading)\n5. [Dropbox account](https://www.dropbox.com/register) (it is free)\n\nIf you already had installed NodeJS previously, please make sure to check your installed version by running (in Command Prompt or Terminal):  \n\u003e `node --version`\n\n\n### Setup\nTo get started, you would need to clone/download this repository to your computer. This should be straightforward, open up Command Prompt or Terminal, and then enter the following:  \n    `git clone https://github.com/Cheatoid/yaytd-public`  \nOr alternatively, [download the ZIP file](https://github.com/Cheatoid/yaytd-public/archive/refs/heads/dropbox.zip) and extract it on your computer.  \nAt this point you should have yaytd downloaded on your computer.  \n\n\n#### Initialization / Cache Subsystem\nThis is one-time process (you would only need to do this only once):  \n- Open Terminal/PowerShell and run `.\\!yaytd.ps1 -dropbox \"YOUR_DROPBOX_FOLDER\"`, but replace `YOUR_DROPBOX_FOLDER` with folder path to your Dropbox folder.  \n  For example, the default Dropbox location for Windows OS is inside your user profile folder (`%UserProfile%\\Dropbox`).\n\n\n### Startup\nFrom this point onwards, launching yaytd is as simple as running `.\\!yaytd.ps1` PowerShell script (double-click it).  \n\u003cdetails\u003e\n\u003csummary\u003eIf this is your first time using NodeJS application, click here to see extra step.\u003c/summary\u003e\n\nYou may receive Windows Firewall popup which looks like this:  \n![Windows Firewall](https://user-images.githubusercontent.com/13347909/121682618-98229e00-cabc-11eb-95a7-2ac578da98aa.png)  \nJust click `Allow access` button. (It may prompt for UAC, but you would just need to do this only once.)\n\u003c/details\u003e\n\nIf you have done everything correctly, local HTTP server should be operating at this point.\n\n\n### Testing\nBy default, HTTP server will try to use the port number `60999`.  \nTo quickly test if yaytd is working, click this example GET link in your web browser:  \nhttp://localhost:60999/fetch/?url=bM7SZ5SBzyY\u0026download=1  \nIt will fetch *and* download [this YouTube audio](https://www.youtube.com/watch?v=bM7SZ5SBzyY) into your local cache folder, therefore subsequent HTTP request (for the same YouTube audio) will be much faster.\n\nAdditionally, if you have `ffmpeg` installed (you should have it on your system `PATH`), then you can also take advantage of automatically converting audio into MP3 format, to do this, simply append `\u0026mp3=1` to the end of URL:  \nhttp://localhost:60999/fetch/?url=bM7SZ5SBzyY\u0026download=1\u0026mp3=1\n\nNote: Once audio has been cached, both `download` and/or `mp3` options **will have no effect**. To fix this, delete a json file for particular audio and repeat the HTTP request.\n\n\n### Updating YTDL\nOccasionally, youtube-dl will become outdated, simply run the `.\\!yaytd.ps1 -update` to automatically update it to their latest released version.\n\n\n### Direct Link\nIn order to play music ingame (via scripting), you must obtain a direct link to particular audio file, on Windows you can right-click on the file in your Dropbox `yaytd-cache` folder and then choose `Copy Dropbox link`.  \nHere are some URL examples of what you can expect to work (or not to work):  \n❌ `https://www.dropbox.com/s/e9ld2pt8z4wq4va/bM7SZ5SBzyY.webm?dl=0`  \n✔️ `https://www.dropbox.com/s/e9ld2pt8z4wq4va/bM7SZ5SBzyY.webm?dl=1`  \n✔️ `https://dl.dropboxusercontent.com/s/e9ld2pt8z4wq4va/bM7SZ5SBzyY.webm`  \n\n...\n\nHappy tunes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheatoid%2Fyaytd-public","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcheatoid%2Fyaytd-public","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheatoid%2Fyaytd-public/lists"}