{"id":24991690,"url":"https://github.com/constup/garbage-cleaner-powershell","last_synced_at":"2025-04-12T02:13:12.017Z","repository":{"id":228060067,"uuid":"773044178","full_name":"constup/garbage-cleaner-powershell","owner":"constup","description":"Simple, free, open source PowerShell tool to clean up garbage files, directories and registry entries in Windows.","archived":false,"fork":false,"pushed_at":"2025-02-07T01:01:57.000Z","size":89,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T02:13:06.266Z","etag":null,"topics":["cleaner","foss","open-source","powershell","windows","windows-11"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/constup.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING.adoc","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":"2024-03-16T15:36:22.000Z","updated_at":"2025-01-16T11:23:25.000Z","dependencies_parsed_at":"2024-11-10T21:17:41.402Z","dependency_job_id":"ab2c5872-2015-4cb8-8920-e2c5d56fdb59","html_url":"https://github.com/constup/garbage-cleaner-powershell","commit_stats":null,"previous_names":["constup/garbage-cleaner-powershell"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/constup%2Fgarbage-cleaner-powershell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/constup%2Fgarbage-cleaner-powershell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/constup%2Fgarbage-cleaner-powershell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/constup%2Fgarbage-cleaner-powershell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/constup","download_url":"https://codeload.github.com/constup/garbage-cleaner-powershell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505925,"owners_count":21115354,"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":["cleaner","foss","open-source","powershell","windows","windows-11"],"created_at":"2025-02-04T13:51:38.347Z","updated_at":"2025-04-12T02:13:11.993Z","avatar_url":"https://github.com/constup.png","language":"PowerShell","funding_links":["https://ko-fi.com/E1E3VQUK2"],"categories":[],"sub_categories":[],"readme":"= constUP Garbage Cleaner\n:toc:\n:toclevels: 5\n\n== Support this tool\n\nlink:https://ko-fi.com/E1E3VQUK2[image:https://ko-fi.com/img/githubbutton_sm.svg[Ko-fi]]\n\n== Description\n\nSimple, easy to use and configurable garbage cleaner for Windows. Deletes files, directories and registry entries.\nWritten in PowerShell 7 with simple JSON configuration. Tested on PowerShell 7.4.\n\n=== Quick info\n\n* *A PowerShell script which can be run from terminal or automated to be run by your own scripts*\n* *Configurable with a simple JSON file*\n* *It can clean files, directories and registry values*\n* *It has a built-in cleanup list, but supports your own custom cleanup lists as well*\n** *The default cleanup list does not require administrative privileges*\n** *Each entry in the default cleanup list is carefully reviewed by consulting official documentation to verify that it\nis safe to delete*\n** *Custom cleanup lists which you can expand whenever you need, without having to wait for the update or submit a feature request*\n** *Custom cleanup lists which you can easily share with anyone or have them on multiple devices*\n* *Granular cleaning using filters like application, category,...*\n* *Built-in helpful instructions on how to prevent further garbage creation*\n* *No tracking, no telemetry, no pinging home, completely free and open source*\n\n=== Preview of commands\n\nHere is a preview of some of the commands. If you already have experience with running applications from terminal, you\nmight get a general idea about this application from these commands. Of course, each command (*and more*) is covered in\nthis documentation:\n\n[source,shell]\n----\npwsh .\\constup-garbage-cleaner.ps1 -clean\npwsh .\\constup-garbage-cleaner.ps1 -clean -cleanupListFile /path/to/your/cleanup-list.json\npwsh .\\constup-garbage-cleaner.ps1 -dryRun\npwsh .\\constup-garbage-cleaner.ps1 -dryRun -detailed\npwsh .\\constup-garbage-cleaner.ps1 -listActive\npwsh .\\constup-garbage-cleaner.ps1 -listApplications\npwsh .\\constup-garbage-cleaner.ps1 -listCategories\npwsh .\\constup-garbage-cleaner.ps1 -clean -applications \"Firefox,Chrome\"\npwsh .\\constup-garbage-cleaner.ps1 -clean -types \"file,registry value\"\npwsh .\\constup-garbage-cleaner.ps1 -clean -customCategories \"your category,some other category\"\npwsh .\\constup-garbage-cleaner.ps1 -clean -applications \"Firefox,Chrome\" -entityCategories \"log,crash log\"\n----\n\n== Why?\n\nThere is a number of tools available on the market, both free and commercial, for cleaning garbage files and registry\nentries. However, each of them has one or more of the following downsides:\n\n* Free versions have limited features compared to their paid ones.\n* They are deleting more than they should. This is especially true when deleting browser data with these tools. Deleting\ntoo much have different effects, depending on the tool: from logging you out of websites and destroying your sessions to\neven messing up CSS of web pages. (Note: these are real world examples).\n* They are not deleting what they should. Many tools and applications are not covered by other cleaners. For example,\ndid you know that WebStorm can produce a Java crash log of 3+ GB in your Windows user directory? That's the very first\nrule in the default cleanup list of constUP Garbage Cleaner, and is the primary inspiration for building this tool.\n* You can not expand their set of cleaning rules (easily). You've just found out that some application on your computer\nis creating garbage not covered by your cleaning rules? Just open your `cleanup-list.json` and add the rule to clean it\nin a matter of minutes (even seconds, if you type fast enough).\n* They are filled with bloatware which has nothing to do with cleaning the system.\n* Many of them outright lie about the amount of space saved by running their software. This is especially noticeable in\nantivirus software with cleaning features.\n* *They are \"pinging home\" - collecting your information and uploading it to their servers.* Especially those which have\n\"software updater tools\", which are harvesting the list of *all software which you have installed on your computer,\ndetermining their versions and uploading that information to their servers.*\n* They are closed source and have access to all files on your computer and all registry entries.\n* You can not (easily) process garbage which you or applications which you have written produce. For example, if you are\ncreating 3D renders and have a lot of temporary throwaway render samples, you can define cleaning rules to clean them up\nwith constUP Garbage Cleaner. Or, if you are a programmer and your application produces logs which you need only\ntemporarily, you can define cleaning rules for those logs as well.\n* Even if defining custom rules is possible, it is not easy to transfer them to another machine, let alone share them\nwith the community and improve cleaning performance for many users.\n* They do not support multiple cleaning configurations and rule sets.\n\n== Prerequisites and compatibility\n\n* Microsoft Windows 11 (it also should work on Windows 10, but that's not tested)\n* Microsoft PowerShell 7\n** Installation instructions:\nhttps://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows\n\n== Installation and updating\n\n=== Method 1: Download a release\n\nDownload a release from https://github.com/constup/garbage-cleaner-powershell/releases, and extract it to your desired location.\n\nTo update, just download a newer release.\n\n=== Method 2: Cloning this repository\n\n[source,shell]\n----\ngit clone git@github.com:constup/garbage-cleaner-powershell.git\n----\n\nor:\n\n[source,shell]\n----\ngit clone https://github.com/constup/garbage-cleaner-powershell.git\n----\n\nor with GitHub CLI:\n\n[source,shell]\n----\ngh repo clone constup/garbage-cleaner-powershell\n----\n\n=== Updating\n\nTo update, open terminal and enter the directory where constUP Garbage Cleaner is located, then run:\n\n[source,shell]\n----\ngit fetch origin master\ngit pull origin master\n----\n\n[IMPORTANT]\n====\nPlease note that the default cleanup list bundled with constUP Garbage Cleaner will be updated along with the\napplication. If you have yor own set of cleaning rules, make sure to store them in your own custom cleanup list file.\n====\n\n=== Optional: Add constUP Garbage Cleaner to `PATH`\n\nTo run constUP Garbage Cleaner from any location, you can add it to your system's `PATH` environment variable.\n\nA handy PowerShell script is provided in this repository. Just run link:add-to-path.ps1[add-to-path.ps1], and it will\nadd constUP Garbage Cleaner's directory to your user's `PATH` environment variable. Don't worry about running this\nscript more than once - it only adds to `PATH` if the directory is not already there. You can run it with:\n\n[source,shell]\n----\npwsh .\\add-to-path.ps1\n----\n\n== Basic use\n\nThis describes the basic use of the constUP Garbage Cleaner. Basic use only checks if the cleanup rule is active or not.\n\n[IMPORTANT]\n====\nconstUP Garbage Cleaner has more advanced usage options which are covered in link:doc/advanced-use.adoc[Advanced use].\n====\n\n=== Cleaning by using default set of rules\n\nThe following command will perform the cleaning using the default cleaning rules provided in\nlink:cleanup-list.json[cleanup-list.json].\n\n[source,shell]\n----\npwsh .\\constup-garbage-cleaner.ps1 -clean\n----\n\n=== Cleaning by using custom set of rules\n\nIf you are not happy with the default set of cleaning rules, you can use the following command to run the cleaner with\nyour own set of rules. The cleaning rules are covered in\nlink:doc/cleanup-list-file.adoc[Cleanup list file and listing available applications, categories,...].\n\n[source,shell]\n----\npwsh .\\constup-garbage-cleaner.ps1 -clean -cleanupListFile /path/to/your/cleanup-list.json\n----\n\n[IMPORTANT]\n====\n*All* constUP Garbage Cleaner commands have an option to either use the default cleanup list or your custom one. To make\nthis documentation shorter, we will not mention instructions for the custom cleanup list anymore - but it's available,\njust like in the example above. Just use the `-cleanupListFile` option and set the path to your own cleanup list.\n====\n\n=== Dry run\n\nYou can dry run constUP Garbage Cleaner with:\n\n[source,shell]\n----\npwsh .\\constup-garbage-cleaner.ps1 -dryRun\n----\n\nThis will detect garbage on your system, but will not delete it. This option is useful when you want to roughly preview\nwhat is going to be deleted.\n\n==== Detailed dry run\n\nTo get more detailed information about the garbage on your system without cleaning it, run:\n\n[source,shell]\n----\npwsh .\\constup-garbage-cleaner.ps1 -dryRun -detailed\n----\n\nThis will:\n\n* List all garbage with their locations and sizes.\n* Each cleanup rule can have information on how to prevent garbage creation (relevant to that particular rule). Detailed\ndry run will show this information, but only for garbage which was found on your system.\n\n== More documentation\n\nThe following documentation is also available:\n\n* link:doc/dry-run.adoc[Dry run] (with garbage creation prevention instructions and cleanup list configuration file\nerror detection)\n* link:doc/cleanup-list-file.adoc[Cleanup list file and listing available applications, categories,...]\n** link:doc/categories.adoc[Categories]\n* link:doc/advanced-use.adoc[Advanced use] (including cleaning by property filters, for example: application,\ncategory,...)\n* link:doc/planned-features.adoc[Planned features] - what's coming up next\n* link:doc/testing.adoc[Testing] - Unit testing with Pester\n* link:CONTRIBUTING.adoc[Contributing] - guidelines for software contribution, feature requests and populating the\ncleanup list\n\n== Support\n\nIf you like this tool or find it useful, consider buying me a nice cup of coffee. Coffee fuels open source.\n\nlink:https://ko-fi.com/E1E3VQUK2[image:https://ko-fi.com/img/githubbutton_sm.svg[Ko-fi]]\n\n== License\n\nlink:LICENSE[Mozilla Public License 2.0] (also available on Mozilla's website at:\nhttps://www.mozilla.org/en-US/MPL/2.0/[MPL 2.0])","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconstup%2Fgarbage-cleaner-powershell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconstup%2Fgarbage-cleaner-powershell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconstup%2Fgarbage-cleaner-powershell/lists"}