{"id":20251574,"url":"https://github.com/muhamed-didovic/tcdown","last_synced_at":"2025-10-05T18:08:14.354Z","repository":{"id":57702487,"uuid":"502081486","full_name":"muhamed-didovic/tcdown","owner":"muhamed-didovic","description":"Course downloader for teachable platform written in nodejs using puppeteer and yt-dlp","archived":false,"fork":false,"pushed_at":"2023-11-23T16:23:47.000Z","size":1579,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-19T19:39:15.038Z","etag":null,"topics":["courses","download","downloader","nodejs","puppeteer","scraper","teachable","teachable-dl","teachable-downloader","teachable-scraper","teacheable-download","yt-dlp","yt-dlp-wrapper"],"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/muhamed-didovic.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":"2022-06-10T14:53:46.000Z","updated_at":"2025-03-06T14:17:55.000Z","dependencies_parsed_at":"2025-03-03T16:41:02.513Z","dependency_job_id":"5218c7d9-4c1e-445d-b57d-99a5b76b6977","html_url":"https://github.com/muhamed-didovic/tcdown","commit_stats":{"total_commits":12,"total_committers":1,"mean_commits":12.0,"dds":0.0,"last_synced_commit":"a7cfed62968c251b6115e45b42355ab78676af12"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/muhamed-didovic/tcdown","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhamed-didovic%2Ftcdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhamed-didovic%2Ftcdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhamed-didovic%2Ftcdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhamed-didovic%2Ftcdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muhamed-didovic","download_url":"https://codeload.github.com/muhamed-didovic/tcdown/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhamed-didovic%2Ftcdown/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278494645,"owners_count":25996414,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["courses","download","downloader","nodejs","puppeteer","scraper","teachable","teachable-dl","teachable-downloader","teachable-scraper","teacheable-download","yt-dlp","yt-dlp-wrapper"],"created_at":"2024-11-14T10:10:58.713Z","updated_at":"2025-10-05T18:08:14.334Z","avatar_url":"https://github.com/muhamed-didovic.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Downloader and scraper for teachable.com platform\n\n[![npm](https://badgen.net/npm/v/tcdown)](https://www.npmjs.com/package/tcdown)\n[![Downloads](https://img.shields.io/npm/dm/tcdown.svg?style=flat)](https://www.npmjs.org/package/tcdown)\n[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fmuhamed-didovic%2Ftcdown\u0026count_bg=%2379C83D\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=hits\u0026edge_flat=false)](https://hits.seeyoufarm.com)\n[![license](https://flat.badgen.net/github/license/muhamed-didovic/tcdown)](https://github.com/muhamed-didovic/tcdown/blob/master/LICENSE)\n\n## Requirement\n- Node 18\n- yt-dlp (https://github.com/yt-dlp/yt-dlp)\n\n## Install\n```sh\nnpm i -g tcdown\n```\n\n#### without Install\n```sh\nnpx tcdown\n```\n\n#### run locally\n- pull the project\n- install dependencies\n- run next command:\n```sh\nnode lib/cli.js\n```\nif there are issues with cloudflare run with '-h' or headless option so solve captcha manually\n```sh\nnode lib/cli.js -h no\n```\n\n## CLI\n```sh\nUsage\n    $ tcdown [CourseUrl]\n\nOptions\n    --all, -a           Get all courses from particular school or provider.\n    --login, -l         Your login url with login form.\n    --email, -e         Your email.\n    --password, -p      Your password.\n    --directory, -d     Directory to save.\n    --file, -f          Location of the file where are the courses\n    --headless, -h      Enable headless (values: 'yes' or 'no'), default value is 'yes'\n    --html, -t          Enable html download (values: 'yes' or 'no'), default value is 'yes'\n    --screenshot, -s    Enable screenshot (values: 'yes' or 'no'), default value is 'yes'\n    --concurrency, -c\n\nExamples\n    $ tcdown\n    $ tcdown -a\n    $ [DEBUG=scraper*] tcdown [url] [-l url...] [-e user@gmail.com] [-p password] [-d dirname] [-f path-to-file] [-h yes/no] [-t yes/no] [-s yes/no] [-c number]\n```\n\n\n\n## Log and debug\nThis module uses [debug](https://github.com/visionmedia/debug) to log events. To enable logs you should use environment variable `DEBUG`.\nNext command will log everything from `scraper`\n```bash\nexport DEBUG=scraper*; tcdown\n```\n\nModule has different loggers for levels: `scraper:error`, `scraper:warn`, `scraper:info`, `scraper:debug`, `scraper:log`. Please read [debug](https://github.com/visionmedia/debug) documentation to find how to include/exclude specific loggers.\n\n## License\nMIT\n\n## Need help\nIf you require assistance with an existing scraper/crawler, need to develop a new one, or have any other programming-related inquiries, please don't hesitate to reach out to me: [muhamed.didovic@gmail.com](mailto:muhamed.didovic@gmail.com)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhamed-didovic%2Ftcdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuhamed-didovic%2Ftcdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhamed-didovic%2Ftcdown/lists"}