{"id":17274362,"url":"https://github.com/xetera/gyazoplusplus","last_synced_at":"2025-07-21T05:03:47.853Z","repository":{"id":113234037,"uuid":"124753663","full_name":"Xetera/GyazoPlusPlus","owner":"Xetera","description":"Google Chrome addon for gyazo that enables users to access old pictures for free.","archived":false,"fork":false,"pushed_at":"2018-03-16T12:36:22.000Z","size":72,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-26T13:29:50.978Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/Xetera.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":"2018-03-11T12:21:47.000Z","updated_at":"2020-04-28T05:37:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"771867e9-2158-4f42-abdc-2c34c2974748","html_url":"https://github.com/Xetera/GyazoPlusPlus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Xetera/GyazoPlusPlus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xetera%2FGyazoPlusPlus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xetera%2FGyazoPlusPlus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xetera%2FGyazoPlusPlus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xetera%2FGyazoPlusPlus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xetera","download_url":"https://codeload.github.com/Xetera/GyazoPlusPlus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xetera%2FGyazoPlusPlus/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266242072,"owners_count":23898102,"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":"2024-10-15T08:53:44.532Z","updated_at":"2025-07-21T05:03:47.834Z","avatar_url":"https://github.com/Xetera.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gyazo++\n\n![](https://gyazo.com/7b16320caf1f61b576d7ff615ed579ef.png)\n\n#### WIP: Currently working but not consistently enough to release it just yet\n\n### How to:\n\nTake a gyazo screenshot and... well, that's it.\n\nThe next time you're in your [gallery](https://gyazo.com/captures) it will be saved and ready to click no matter when you took it.\n##### ((unless you took it before you installed this extension, I'm not a wizard you know))\n\n\n## How does it work?\n### Short explanation:\nDespite the fact that you need gyazo ninja to access your old pictures, their links still work even after you take 10 pictures.\n\nWith this extension, those links saved on localstorage at the time of creation until we need them later.\n\n\n### Long explanation:\nWhen pictures are specifically taken on gyazo and not clicked, there's a token that gets appended to the url for a split second\nbefore we are redirected to the picture's URL\n\n![](https://i.gyazo.com/5b0c4cc46ca9ab8ad56f423fa5cdc978.png)\n\nAlthough the token is probably a hash that gets computed on the server-side and doesn't seem to be matching anything on their website, that is how we know which URLs are pictures we took ( and also because of the 'owner' property that the redirect reflects to us in the following div )\n\nAfter that, the page that we're redirected to contains this large div block of reflected metadata about the picture we just took\n\n![](https://i.gyazo.com/03e1c029687b22254dd11ae502b166f0.png)\n\nI'm not completely sure as to why this is even on there but it contains all the information about the picture that we need, specifically this one that we end up saving as `localstorage {medium_thumbnail_url : permalink_url}`\n\n![](https://i.gyazo.com/7dfee3124c4f202f60a7c76ab04430f4.png)\n\nThe medium thumbnail that we get in the server response isn't used for anything on the page, however, it _is_ used in the gallery page for the thumbnail of the picture. That effectively lets us  find the picture we're looking for, draw a div on top and redirect to the appropriate link that matches the thumbnail key in the localstorage.\n\n\n## Limitations:\n\n* Does not work retroactively, only on new pictures that are taken after the extension is installed.\n* You have to wait for the picture to actually load for it to get saved.\n* Loading gallery sometimes does not work (will be fixed).\n* Links are deleted when you uninstall the extension.\n* Possibly very buggy for ninja users but then again, why are you using this if you're ninja?\n\n## Fixes?\n\nAlthough this sort of workaround is always going to be around as long as pictures are available through links forever, there are ways to make it a lot harder. \n\nDon't reflect data the user doesn't need. The thumbnail along with all the other data that's saved as a DOM element don't get used for anything the user can see, \n\n\u003cimg src=\"https://i.gyazo.com/1e4df116f82230ee501b6c6b2776c14d.png\"\u003e\n\nI suppose this is just a feature of the framework or something but regardless, this data really shouldn't be visible on the client side.\nThe best way would be to not send any meta-data to begin with. That doesn't prevent people from saving the URL but it certainly makes it harder to match saved files \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxetera%2Fgyazoplusplus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxetera%2Fgyazoplusplus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxetera%2Fgyazoplusplus/lists"}