{"id":23972620,"url":"https://github.com/uintdev/discord-cache-dump","last_synced_at":"2025-04-13T20:21:44.705Z","repository":{"id":45114043,"uuid":"171320352","full_name":"uintdev/Discord-Cache-Dump","owner":"uintdev","description":"Dump Discord's cache and identify files","archived":false,"fork":false,"pushed_at":"2024-07-18T15:29:26.000Z","size":359,"stargazers_count":55,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T10:51:16.617Z","etag":null,"topics":["cache","cross-platform-desktop","discord","dump","extraction","golang","linux","macos","windows"],"latest_commit_sha":null,"homepage":"","language":"Go","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/uintdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"ko_fi":"uintdev"}},"created_at":"2019-02-18T16:44:59.000Z","updated_at":"2025-02-13T05:21:19.000Z","dependencies_parsed_at":"2024-01-24T05:47:42.092Z","dependency_job_id":"da96a89f-1ac6-4ac0-bc03-f11333f903c3","html_url":"https://github.com/uintdev/Discord-Cache-Dump","commit_stats":null,"previous_names":["nodepoint/discord-cache-dump"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uintdev%2FDiscord-Cache-Dump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uintdev%2FDiscord-Cache-Dump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uintdev%2FDiscord-Cache-Dump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uintdev%2FDiscord-Cache-Dump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uintdev","download_url":"https://codeload.github.com/uintdev/Discord-Cache-Dump/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248776209,"owners_count":21159742,"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":["cache","cross-platform-desktop","discord","dump","extraction","golang","linux","macos","windows"],"created_at":"2025-01-07T03:53:46.729Z","updated_at":"2025-04-13T20:21:44.676Z","avatar_url":"https://github.com/uintdev.png","language":"Go","readme":"# Discord Cache Dump\n\n\u003cimg src=\"banner.png\" alt=\"Banner with logo\"\u003e\n\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n    A cross-platform command line Discord cache collection tool\n    \u003cbr\u003e\n    \u003cbr\u003e\n    \u003ca href=\"../../releases/latest\" title=\"Latest release\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/uintdev/Discord-Cache-Dump\" alt=\"Version\"\u003e\u003c/a\u003e\n    \u0026nbsp;\u0026nbsp;\n    \u003ca href=\"https://github.com/uintdev/Discord-Cache-Dump\" title=\"Stars\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/uintdev/Discord-Cache-Dump.svg?logo=github\" alt=\"Stars\"\u003e\u003c/a\u003e\n    \u0026nbsp;\u0026nbsp;\n    \u003ca href=\"LICENSE\" title=\"License\"\u003e\u003cimg src=\"https://img.shields.io/github/license/uintdev/qrserv\" alt=\"License\"\u003e\u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://ko-fi.com/uintdev\" title=\"ko-fi\"\u003e\u003cimg src=\"https://ko-fi.com/img/githubbutton_sm.svg\" alt=\"Donate\" height=\"80\" width=\"300\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## About\n\nDiscord Cache Dump is a tool that gathers the cache of all known Electron Discord client builds, copies into their corresponding build directories, and gives the files their appropriate file extensions.\n\n## Features\n\n-   Detection of known Discord build types (can do multiple in a single run)\n-   Flatpak support using `--flatpak` (or `-f`) flag (i.e. `./dcd --flatpak`)\n-   Discloses count of amount of files it is unable to gather at the time for that particular build\n-   Supports Windows, GNU/Linux, and macOS\n-   Checks storage available where the program is being ran before copying\n-   Dumps are timestamped along with the cache being in their own build type directories\n-   Select specific build type with the `--build` (or `-b`) flag (i.e. `./dcd --build stable`)\n-   Non-interactive mode by using the `--noninteractive` (or `-n`) flag (i.e. `./dcd --noninteractive`)\n\n## Known limitations\n\n-   The files that a Discord client process is utilising at the time cannot be copied over as it involves opening\n    -   It is advised to kill the parent process of the client(s) you wish to copy files from that contains strings of _potentially sensitive_ data\n-   Due to how cache is stored in GNU/Linux and macOS builds, this tool includes a file extraction function\n    -   .MOV files cannot be completely extracted\n    -   Some .GZ (gzip) files containing mentions of .JS cannot be completely extracted\n    -   Some cache files containing request and response data cannot be completely extracted\n    -   Cache files that cannot be handled at all will not have their contents altered as they are being copied over\n\n## Always opened files\n\nThe following files are known to be used constantly by Discord and so cannot be copied while that Discord client is running.\n\n| File   | Contents                                                                                         |\n| ------ | ------------------------------------------------------------------------------------------------ |\n| index  | Cache index                                                                                      |\n| data_0 | Unknown                                                                                          |\n| data_1 | Full URLs to friendly URLs, API, avatars, emojis, embeds, attachments, uploads (self and others) |\n| data_2 | Code, assets (png, svg)                                                                          |\n| data_3 | Certificates, hostnames, IP addresses, image EXIF, references to javascript assets (webpack)     |\n\n## Prerequisites\n\nIn order to compile the tool, there are a few things required to get it set up.\n\n-   Go (compiling)\n-   [h2non/filetype](https://github.com/h2non/filetype) (recognition of file types and extensions): `go get github.com/h2non/filetype`\n-   [ricochet2200/go-disk-usage](https://github.com/ricochet2200/go-disk-usage) (disk information): `go get github.com/ricochet2200/go-disk-usage/du`\n-   [jessevdk/go-flags](https://github.com/jessevdk/go-flags) (flag handling): `go get github.com/jessevdk/go-flags`\n\n## Usage\n\n| Platform  | Command                                                            |\n| --------- | ------------------------------------------------------------------ |\n| Windows   | `dcd_windows.exe`                                                  |\n| GNU/Linux | `./dcd_linux` (run `chmod +x ./dcd_linux` initially)               |\n| macOS     | `./dcd_darwin_arm64` (run `chmod +x ./dcd_darwin_arm64` initially) |\n\n## Credits\n\n| User                                        | Contribution                                                                        |\n| ------------------------------------------- | ----------------------------------------------------------------------------------- |\n| [uintdev](https://github.com/uintdev)       | Research \u0026amp; analysis, development, Windows, GNU/Linux and macOS platform testing |\n| [NotZoeyDev](https://github.com/NotZoeyDev) | macOS platform testing                                                              |\n| [utf-4096](https://github.com/utf-4096)     | GNU/Linux platform testing                                                          |\n\n## Tested\n\n-   Windows 10\n-   Ubuntu (GNU/Linux)\n-   Kali Linux (GNU/Linux)\n-   Solus (GNU/Linux)\n-   macOS\n","funding_links":["https://ko-fi.com/uintdev"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuintdev%2Fdiscord-cache-dump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuintdev%2Fdiscord-cache-dump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuintdev%2Fdiscord-cache-dump/lists"}