{"id":25162666,"url":"https://github.com/tuxthepenguin84/wudd","last_synced_at":"2026-05-04T05:44:32.963Z","repository":{"id":276548820,"uuid":"929597883","full_name":"tuxthepenguin84/wudd","owner":"tuxthepenguin84","description":"Download updates from Microsoft without all the BS","archived":false,"fork":false,"pushed_at":"2026-01-10T15:43:20.000Z","size":150,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-11T04:48:40.191Z","etag":null,"topics":["automation","microsoft","patching","python","windows","windows-updates"],"latest_commit_sha":null,"homepage":"","language":"Python","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/tuxthepenguin84.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-08T23:08:15.000Z","updated_at":"2026-01-10T15:43:24.000Z","dependencies_parsed_at":"2025-02-09T00:19:13.961Z","dependency_job_id":"c8984d2c-0e6f-4c68-bd9b-43118085d751","html_url":"https://github.com/tuxthepenguin84/wudd","commit_stats":null,"previous_names":["tuxthepenguin84/wudd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tuxthepenguin84/wudd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuxthepenguin84%2Fwudd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuxthepenguin84%2Fwudd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuxthepenguin84%2Fwudd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuxthepenguin84%2Fwudd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tuxthepenguin84","download_url":"https://codeload.github.com/tuxthepenguin84/wudd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuxthepenguin84%2Fwudd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32596533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"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":["automation","microsoft","patching","python","windows","windows-updates"],"created_at":"2025-02-09T03:17:09.575Z","updated_at":"2026-05-04T05:44:32.941Z","avatar_url":"https://github.com/tuxthepenguin84.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/tuxthepenguin84/wudd\"\u003e\n    \u003cimg src=\"images/logo.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eWindows Update Direct Download [wudd]\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Download updates from Microsoft without all the BS\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/tuxthepenguin84/wudd\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/tuxthepenguin84/wudd/issues/new?labels=bug\u0026template=bug-report---.md\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/tuxthepenguin84/wudd/issues/new?labels=enhancement\u0026template=feature-request---.md\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nThe goal of this project is to make searching and downloading Windows updates directly from the [Microsoft Catalog](https://catalog.update.microsoft.com) easy.\nI find Microsofts approach to how they host their catalog as mildly hostile as it's not easy to search or programatically download updates without tools like WSUS, or manually searching and clicking.\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails open\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#key-features\"\u003eKey Features\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#use-cases\"\u003eUse Cases\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#run-locally\"\u003eRun Locally\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#repo-directory-structure\"\u003eRepo Directory Structure\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#docker\"\u003eDocker\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#fetch-from-github\"\u003eFetch from GitHub\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#scheduling-wudd\"\u003eScheduling wudd\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#installing-updates\"\u003eInstalling Updates\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#upcoming-features\"\u003eUpcoming Features\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- KEY FEATURES --\u003e\n## Key Features\n* ⚙️ Configuration-Driven\n* 🐳 Docker Support\n* 🚀 Automated Downloading of Updates with Validation\n* 🌍 Cross-Platorm Support\n* ⚡ Minimal Setup\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- USE CASES --\u003e\n## Use Cases\n* Avoid manually searching on https://catalog.update.microsoft.com, lets be honest this site sucks.\n* Roll your own imaging and/or update/patching solution and need direct access to the update files.\n* Offline patching (air gapped systems).\n* Environments that need specific patch sets applied to their fleet.\n* Not wanting to run WSUS.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\nwudd uses [selenium](https://www.selenium.dev/) (and Python) to search, store info about updates, and download updates from [Microsoft](https://catalog.update.microsoft.com).\n\nwudd works by parsing a json file that contains OS version, release, architecture, update type and date range of updates that the user wants. I have created several examples in the `examples/` dir, but you will most likely want to modify and create your own based on your needs.\n\nClone the repo\n``` Bash\ngit clone https://github.com/tuxthepenguin84/wudd.git\n```\n\nCopy one of the existing examples in the example dir and modify to fit your needs. This needs to be stored in the root of the repo and named `osinfo.json`\n``` Bash\ncp wudd/examples/win11.json wudd/osinfo.json\n```\n\nUpdate types supported\n```\ncu - Cumulative Update\ndcu - Dynamic Cumulative Update\ncup - Cumulative Update Preview for Windows\ndnet - Cumulative Update for .NET Framework 3.5, 4.8 and 4.8.1\ndnetp - Cumulative Update Preview for .NET Framework 3.5, 4.8 and 4.8.1\n```\n\nLet's take for example someone who has the following requirements for the updates they want to download\n```\nWindows 11 x64\n23H2 \u0026 24H2\ncu - Cumulative Update\ndnet - Cumulative Update for .NET Framework 3.5, 4.8 and 4.8.1\nUpdates for the month of December 2024 \u0026 January 2025\n```\n\nThe `osinfo.json` configuration for those requirements would look like the following\n``` json\n{\n  \"11\": {\n    \"releases\": {\n      \"23H2\": {\n        \"archs\": {\n          \"x64\": {\n            \"ut\": [\n              \"cu\",\n              \"dnet\"\n            ],\n            \"start\": {\n              \"month\": 12,\n              \"year\": 2024\n            },\n            \"end\": {\n              \"month\": 1,\n              \"year\": 2025\n            }\n          }\n        }\n      },\n      \"24H2\": {\n        \"archs\": {\n          \"x64\": {\n            \"ut\": [\n              \"cu\",\n              \"dnet\"\n            ],\n            \"start\": {\n              \"month\": 12,\n              \"year\": 2024\n            },\n            \"end\": {\n              \"month\": 1,\n              \"year\": 2025\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- RUN LOCALLY --\u003e\n## Run Locally\n\n```\nusage: wudd.py [-h] [--browser {chrome,firefox}] [--clean] [--download] [--foreground] [--latest] [--logging {debug,info,warning,error,critical}]\n               [--skipsha1]\n\nWindows Update Direct Download\n\noptions:\n  -h, --help            show this help message and exit\n  --browser {chrome,firefox}\n                        Browser to use\n  --clean               Clean downloads and outputs dirs before starting\n  --download            Download updates\n  --foreground          Run browser in the foreground\n  --latest              Only pulls the latest updates, ignores start/end dates\n  --logging {debug,info,warning,error,critical}\n                        Log level\n  --skipsha1            Skip sha1 hash check\n```\nYou'll need to make sure `requests` \u0026 `selenium` are installed\n``` Bash\npip install requests selenium\n```\nAlternatively\n```\npip install -r requirements.txt\n```\n\nThen you can run wudd and it will start downloading your updates\n``` Bash\npython3 wudd.py --download\n```\n\nwudd will start searching and downloading updates to a `download/` dir in the root of the repo. The directory structure of the downloads is `OS version \u003e release \u003e architecture \u003e date`. Search results are stored as [.csv, .json, .txt] files in the `outputs/` dir.\n\nwudd can be run without any parameters to only store search results in the `outputs/` dir, no downloading will occur\n``` Bash\npython3 wudd.py\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- REPO DIRECTORY STRUCTURE --\u003e\n## Repo Directory Structure\n```\ndocker/ - Files for building and running wudd in Docker\ndownloads/ - Directory updates are downloaded to\nexamples/ - Example json files to help get you started configuring what updates you want to download\nimages/ - Images for the repo\noutputs/ - Structured detailed output of your updates\nstored/ - Structured detailed output of all updates, useful if you don't want to run wudd\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- DOCKER --\u003e\n## Docker\nPull Docker Container\n\nBuild Docker Container\n\nRun Docker Container\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- FETCH FROM GITHUB --\u003e\n## Fetch from GitHub\nIf you don't want to run wudd at all you can parse the [.csv, .json, .txt] data from the `stored/` dir in this GitHub repo, assuming I keep it up to date.\n\nFor example, to get a list of all the updates for Windows 10 22H2 x64 for the month of Jan 2025\n``` Bash\nwget --quiet -O - https://raw.githubusercontent.com/tuxthepenguin84/wudd/refs/heads/main/stored/wudd.json | jq '.\"10\"[\"22H2\"][\"x64\"][\"2025-01\"][][\"files\"][]'\n```\n\nTo download each of those updates you could use a script like the following\n``` Bash\nupdates=$(wget --quiet -O - https://raw.githubusercontent.com/tuxthepenguin84/wudd/refs/heads/main/stored/wudd.json | jq '.\"10\"[\"22H2\"][\"x64\"][\"2025-01\"][][\"files\"][]' | xargs)\nfor update in $updates; do wget $update; done\n```\n\nThe structure of that data created in `outputs/wudd.json` looks like the following\n``` json\n{\n  \"10\": {\n    \"22H2\": {\n      \"x64\": {\n        \"2025-01\": {\n          \"3ed5e672-5046-4eb1-9a80-be5175158708\": {\n            \"title\": \"2025-01 Cumulative Update for Windows 10 Version 22H2 for x64-based Systems (KB5049981)\",\n            \"kb\": \"KB5049981\",\n            \"files\": [\n              \"https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/secu/2025/01/windows10.0-kb5049981-x64_bda073f7d8e14e65c2632b47278924b8a0f6b374.msu\"\n            ],\n            \"sha1\": [\n              \"bda073f7d8e14e65c2632b47278924b8a0f6b374\"\n            ]\n          },\n          \"e99d2606-a1ec-45cb-9399-4e5d6a4e9ae0\": {\n            \"title\": \"2025-01 Dynamic Cumulative Update for Windows 10 Version 22H2 for x64-based Systems (KB5049981)\",\n            \"kb\": \"KB5049981\",\n            \"files\": [\n              \"https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/secu/2025/01/windows10.0-kb5049981-x64_3cac6de1fd097dae64819ce05b3a5bea04a9659e.cab\"\n            ],\n            \"sha1\": [\n              \"3cac6de1fd097dae64819ce05b3a5bea04a9659e\"\n            ]\n          },\n          \"aaa20f4c-2672-44ef-99b7-4d40d5685101\": {\n            \"title\": \"2025-01 Cumulative Update Preview for Windows 10 Version 22H2 for x64-based Systems (KB5050081)\",\n            \"kb\": \"KB5050081\",\n            \"files\": [\n              \"https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/updt/2025/01/windows10.0-kb5050081-x64_33cfeb4c98c409642bfe7516e9ed1bcaada6d252.msu\"\n            ],\n            \"sha1\": [\n              \"33cfeb4c98c409642bfe7516e9ed1bcaada6d252\"\n            ]\n          },\n          \"be5ebf62-6260-45ba-9229-f3fe2368ceed\": {\n            \"title\": \"2025-01 Cumulative Update for .NET Framework 3.5, 4.8 and 4.8.1 for Windows 10 Version 22H2 for x64 (KB5050188)\",\n            \"kb\": \"KB5050188\",\n            \"files\": [\n              \"https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/secu/2024/12/windows10.0-kb5049621-x64-ndp481_8cf3ab9195ec940d2da51894fb690b2d21404e8e.msu\",\n              \"https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/secu/2024/12/windows10.0-kb5049613-x64-ndp48_9fb624c593353450a31118a4029ebed77699760b.msu\"\n            ],\n            \"sha1\": [\n              \"8cf3ab9195ec940d2da51894fb690b2d21404e8e\",\n              \"9fb624c593353450a31118a4029ebed77699760b\"\n            ]\n          },\n          \"8a99b47a-15bb-4fa5-b6f9-163f3893c8d8\": {\n            \"title\": \"2025-01 Cumulative Update Preview for .NET Framework 3.5, 4.8 and 4.8.1 for Windows 10 Version 22H2 for x64 (KB5050593)\",\n            \"kb\": \"KB5050593\",\n            \"files\": [\n              \"https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/updt/2024/12/windows10.0-kb5050576-x64-ndp481_27ae4c3d2373fe4005f42b3a46db794d24196770.msu\",\n              \"https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/updt/2024/12/windows10.0-kb5050579-x64-ndp48_ae3f54c8fcbd70fbe43dc6bb98747f50fe6daac4.msu\"\n            ],\n            \"sha1\": [\n              \"27ae4c3d2373fe4005f42b3a46db794d24196770\",\n              \"ae3f54c8fcbd70fbe43dc6bb98747f50fe6daac4\"\n            ]\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nSometimes you will see two files listed for an update, in the case of .NET updates this may be updates for different versions of .NET. If you see two files for a cumulative update that means the update has a pre-requisite that needs to be installed first. In this case, the update that doesn't match the KB entry is the one that is the pre-requisite.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- SCHEDULING WUDD --\u003e\n## Scheduling wudd\nYou can have wudd in a cron job to continually search and download updates for you.\n\nThis cronjob will run every day at 2 PM and only download the latest updates\n``` Bash\n0 14 * * * python3 ~/git/wudd/wudd.py --download --latest\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- INSTALLING UPDATES --\u003e\n## Installing Updates\nWindows 10 requires you to extract the contents of the .msu update before you can proceed with the installation. Windows 11 allows direct installation of the .msu update.\n\nTo extract the contents of .msu files for Windows 10 you can use [file-roller](https://gitlab.gnome.org/GNOME/file-roller/)\n``` Bash\nfile-roller -h windows10.0-kb5049981-x64_bda073f7d8e14e65c2632b47278924b8a0f6b374.msu\n```\nOn Windows you can use expand.exe\n```\nexpand -f:* windows10.0-kb5049981-x64_bda073f7d8e14e65c2632b47278924b8a0f6b374.msu extracted\n```\n\n**After the contents have been extracted you'll need to delete `WSUSSCAN.cab` to prevent errors during installation.**\n\nInstall update using PowerShell on Windows\n``` PowerShell\nAdd-WindowsPackage -Online -PackagePath C:\\path\\to\\dir\\containing\\win11msu_or_win10cab -NoRestart\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- UPCOMING FEATURES --\u003e\n## Upcoming Features\n\n☐ Docker instructions\n\n☐ Check for query in outputs dir before searching online\n\n☐ wudd server with REST API to deliver updates to clients\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Top contributors:\n\n\u003ca href=\"https://github.com/tuxthepenguin84/wudd/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=tuxthepenguin84/wudd\" alt=\"contrib.rocks image\" /\u003e\n\u003c/a\u003e\n\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nProject Link: [https://github.com/tuxthepenguin84/wudd](https://github.com/tuxthepenguin84/wudd)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n## Acknowledgments\n\n* [othneildrew/Best-README-Template](https://github.com/othneildrew/Best-README-Template)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/tuxthepenguin84/wudd.svg?style=for-the-badge\n[contributors-url]: https://github.com/tuxthepenguin84/wudd/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/tuxthepenguin84/wudd.svg?style=for-the-badge\n[forks-url]: https://github.com/tuxthepenguin84/wudd/network/members\n[stars-shield]: https://img.shields.io/github/stars/tuxthepenguin84/wudd.svg?style=for-the-badge\n[stars-url]: https://github.com/tuxthepenguin84/wudd/stargazers\n[issues-shield]: https://img.shields.io/github/issues/tuxthepenguin84/wudd.svg?style=for-the-badge\n[issues-url]: https://github.com/tuxthepenguin84/wudd/issues\n[license-shield]: https://img.shields.io/github/license/tuxthepenguin84/wudd.svg?style=for-the-badge\n[license-url]: https://github.com/tuxthepenguin84/wudd/blob/main/LICENSE\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/linkedin_username\n[product-screenshot]: images/screenshot.png\n[Next.js]: https://img.shields.io/badge/next.js-000000?style=for-the-badge\u0026logo=nextdotjs\u0026logoColor=white\n[Next-url]: https://nextjs.org/\n[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\n[React-url]: https://reactjs.org/\n[Vue.js]: https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge\u0026logo=vuedotjs\u0026logoColor=4FC08D\n[Vue-url]: https://vuejs.org/\n[Angular.io]: https://img.shields.io/badge/Angular-DD0031?style=for-the-badge\u0026logo=angular\u0026logoColor=white\n[Angular-url]: https://angular.io/\n[Svelte.dev]: https://img.shields.io/badge/Svelte-4A4A55?style=for-the-badge\u0026logo=svelte\u0026logoColor=FF3E00\n[Svelte-url]: https://svelte.dev/\n[Laravel.com]: https://img.shields.io/badge/Laravel-FF2D20?style=for-the-badge\u0026logo=laravel\u0026logoColor=white\n[Laravel-url]: https://laravel.com\n[Bootstrap.com]: https://img.shields.io/badge/Bootstrap-563D7C?style=for-the-badge\u0026logo=bootstrap\u0026logoColor=white\n[Bootstrap-url]: https://getbootstrap.com\n[JQuery.com]: https://img.shields.io/badge/jQuery-0769AD?style=for-the-badge\u0026logo=jquery\u0026logoColor=white\n[JQuery-url]: https://jquery.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuxthepenguin84%2Fwudd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftuxthepenguin84%2Fwudd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuxthepenguin84%2Fwudd/lists"}