{"id":23894242,"url":"https://github.com/cli-toolbox/cdn-downloader","last_synced_at":"2025-10-29T12:48:13.266Z","repository":{"id":269474674,"uuid":"907524730","full_name":"cli-toolbox/CDN-Downloader","owner":"cli-toolbox","description":"Utility script that finds and downloads CDN-hosted assets from your project files. ","archived":false,"fork":false,"pushed_at":"2024-12-23T19:48:04.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-04T14:55:57.506Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cli-toolbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-12-23T19:31:35.000Z","updated_at":"2024-12-23T19:48:08.000Z","dependencies_parsed_at":"2024-12-23T20:44:55.110Z","dependency_job_id":null,"html_url":"https://github.com/cli-toolbox/CDN-Downloader","commit_stats":null,"previous_names":["cli-toolbox/cdn-downloader"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cli-toolbox%2FCDN-Downloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cli-toolbox%2FCDN-Downloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cli-toolbox%2FCDN-Downloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cli-toolbox%2FCDN-Downloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cli-toolbox","download_url":"https://codeload.github.com/cli-toolbox/CDN-Downloader/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240278052,"owners_count":19776020,"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":[],"created_at":"2025-01-04T14:55:59.097Z","updated_at":"2025-10-29T12:48:08.227Z","avatar_url":"https://github.com/cli-toolbox.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CDN Asset Finder and Downloader\n\nUtility script that finds and downloads CDN-hosted assets from your project files. It identifies assets from major CDN providers, checks their availability, and organizes downloads by vendor.\n\n## Installation\n\nUsing curl:\n```bash\ncurl -o- https://raw.githubusercontent.com/cli-toolbox/CDN-Downloader/refs/heads/main/install.sh | bash\n```\n\nUsing wget:\n```bash\nwget -qO- https://raw.githubusercontent.com/cli-toolbox/CDN-Downloader/refs/heads/main/install.sh | bash\n```\n\nAfter installation, close and reopen your terminal or source your profile:\n```bash \nsource ~/.bashrc  # or ~/.zshrc, ~/.profile, depending on your shell\n```\n\n## Description\n\nThe script recursively searches through your project files for URLs pointing to CDN-hosted assets. It supports:\n- Customizable file extensions to search\n- Configurable directory exclusions\n- Status code checking\n- File size reporting\n- Organized downloads by vendor\n- CSS asset dependency resolution\n- Verbose logging option\n\n## Dependencies\n\n- `bash` (version 3.2+)\n- Either `curl` or `wget`\n- Core Unix utilities: `grep`, `sed`, `awk`, `find`\n\n## OS Compatibility\n\nTested and compatible with:\n- macOS (10.15+)\n- Ubuntu (18.04, 20.04)\n- Debian-based Linux distributions\n\n## Supported CDN Providers\n\n### JavaScript/CSS CDNs\n- cdnjs.cloudflare.com\n- cdn.jsdelivr.net\n- unpkg.com\n- code.jquery.com\n- maxcdn.bootstrapcdn.com\n- stackpath.bootstrapcdn.com\n- ajax.googleapis.com\n- ajax.aspnetcdn.com\n- cdn.jsdelivr.net\n- cdn.skypack.dev\n\n### Font CDNs\n- fonts.googleapis.com\n- fonts.gstatic.com\n- use.typekit.net\n- use.fontawesome.com\n\n### General Purpose CDNs\n- Amazon CloudFront (*.cloudfront.net)\n- Cloudflare (*.cloudflare.com)\n- Akamai\n- Fastly\n- StackPath\n- Google Cloud CDN\n- Azure CDN\n- Bunny.net\n- KeyCDN\n\n## Usage\n\nBasic usage:\n```bash\ncdn-downloader\n```\n\nWith options:\n```bash\ncdn-downloader --verbose --asset-dir=/path/to/downloads --exclude=node_modules,dist\n```\n\nOverriding default file extensions:\n```bash\ncdn-downloader --extensions=js,css,html,php\n```\n\nOverriding default excluded directories:\n```bash\ncdn-downloader --exclude-dirs=node_modules,vendor,dist\n```\n\n### Options\n\n- `--verbose`: Enable detailed logging\n- `--asset-dir=PATH`: Specify download directory (default: current directory)\n- `--exclude=DIR1,DIR2`: Comma-separated list of paths to exclude\n- `--extensions=EXT1,EXT2`: Comma-separated list of file extensions to search (default: html,jsx,js,css,php)\n- `--exclude-dirs=DIR1,DIR2`: Comma-separated list of directories to exclude (default: node_modules,.git,dist,build)\n\n## Examples\n\n1. Search and download assets with verbose logging:\n```bash\ncdn-downloader --verbose --asset-dir=./cdn-assets\n```\n\n2. Search only JavaScript and CSS files:\n```bash\ncdn-downloader --extensions=js,css\n```\n\n3. Exclude specific directories and set custom download location:\n```bash\ncdn-downloader --exclude-dirs=node_modules,vendor --asset-dir=/var/www/assets\n```\n\n4. Search all file types except specific directories:\n```bash\ncdn-downloader --extensions=all --exclude-dirs=node_modules,vendor,dist\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\n- Submit bug reports and feature requests at [Issues](https://github.com/cli-toolbox/CDN-Downloader/issues)\n- Read the [Wiki](https://github.com/cli-toolbox/CDN-Downloader/wiki) for detailed documentation\n- Ask questions in [Discussions](https://github.com/cli-toolbox/CDN-Downloader/discussions)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcli-toolbox%2Fcdn-downloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcli-toolbox%2Fcdn-downloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcli-toolbox%2Fcdn-downloader/lists"}