{"id":21595225,"url":"https://github.com/euank/super-simple-s3paste","last_synced_at":"2025-10-15T17:04:54.473Z","repository":{"id":66058232,"uuid":"15087102","full_name":"euank/Super-Simple-S3Paste","owner":"euank","description":"A simple, entirely client-side, paste-site using s3; serverless before serverless was cool","archived":false,"fork":false,"pushed_at":"2014-04-09T22:16:02.000Z","size":152,"stargazers_count":3,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-18T11:09:28.052Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/euank.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}},"created_at":"2013-12-10T19:32:21.000Z","updated_at":"2021-09-11T00:55:11.000Z","dependencies_parsed_at":"2023-02-19T21:55:24.749Z","dependency_job_id":null,"html_url":"https://github.com/euank/Super-Simple-S3Paste","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/euank/Super-Simple-S3Paste","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euank%2FSuper-Simple-S3Paste","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euank%2FSuper-Simple-S3Paste/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euank%2FSuper-Simple-S3Paste/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euank%2FSuper-Simple-S3Paste/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/euank","download_url":"https://codeload.github.com/euank/Super-Simple-S3Paste/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euank%2FSuper-Simple-S3Paste/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262357430,"owners_count":23298454,"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-11-24T17:34:45.727Z","updated_at":"2025-10-15T17:04:54.395Z","avatar_url":"https://github.com/euank.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Super-Simple-S3Paste\n====================\n\nA simple, entirely client-side, paste-site using s3.\n\nIt's running at [paste.esk.io](http://paste.esk.io) right now, and for the\nforseeable future.\n\n## Installing\n\nCreate two buckets and a user with admin permissions to it. Enter them into\nconfig.js as the 'site' and 'raw' buckets. Manually enable versioning on the raw\nbucket. run `node deploy.js`.\n\n## Notes\n\n\n### Idea\n\nThe driving idea behind this was to have a simple pastebin-like site that\nhad no servers involved. It's kind of a proof of concept of using the AWS\nclient-side api as the entire backend.\n\n### Overwriting\n\nOne interesting ramification of this is that other users can overwrite your\npastes by default. The solution I came up with for that was to enable\nversioning in the s3 bucket of pastes, and then include the versionid in\nthe paste get. You can't overwrite a key+versionid pair, only a key, so\nI believe this entirely resolves that problem.\n\n### Abuse\n\nThis required read/write credentials (didn't want to force login for\nthe more secure credential option) to be visible to all clients. I even\noriginally \nincluded them in this repo until Amazon banned my account temporarily for being\n\"exploited\". In order to limit abuse, I think I'll\nalso write a program that deletes all non-plaintext files and all files\nlarger than 10M. This won't prevent abuse, but it will make storing large\nfiles on my dime less useful since they'll vanish randomly.\n\n\n##Todo\n\nI plan to do the following as well:\n\n* Add a view.html?id= page.\n* Add syntax highlighting saved as an id-meta file in addition to the paste.\n* See if I can exclude the versionid from the view.html page by ensuring view\ndefaults to the earliest version anyways, and that there's only one version of\neach id that matters ever\n* Expiring. Still contemplating how to do this; possibly set expiration and\nhave an hourly cron job sweep it (or even have user clients of\npaste.html/view.html delete old items).\n* Create a generic file host in addition to text host using the exact same idea\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feuank%2Fsuper-simple-s3paste","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feuank%2Fsuper-simple-s3paste","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feuank%2Fsuper-simple-s3paste/lists"}