{"id":27245282,"url":"https://github.com/davidcornu/mediamonkey","last_synced_at":"2025-04-10T21:11:05.952Z","repository":{"id":3044163,"uuid":"4065244","full_name":"davidcornu/MediaMonkey","owner":"davidcornu","description":"CDN and thumbnail generator for web apps.","archived":false,"fork":false,"pushed_at":"2011-12-09T03:21:19.000Z","size":81,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-14T14:23:37.677Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":false,"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/davidcornu.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":"2012-04-18T15:31:47.000Z","updated_at":"2014-04-05T18:51:55.000Z","dependencies_parsed_at":"2022-09-07T09:11:19.603Z","dependency_job_id":null,"html_url":"https://github.com/davidcornu/MediaMonkey","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidcornu%2FMediaMonkey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidcornu%2FMediaMonkey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidcornu%2FMediaMonkey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidcornu%2FMediaMonkey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidcornu","download_url":"https://codeload.github.com/davidcornu/MediaMonkey/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248298312,"owners_count":21080320,"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":"2025-04-10T21:11:05.135Z","updated_at":"2025-04-10T21:11:05.945Z","avatar_url":"https://github.com/davidcornu.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"#About\n\nMediaMonkey is a Sinatra and Nginx powered CDN and thumbnail generator for web applications. \n  \nSimply POST your file, and MediaMonkey will jump through hoops to generate the necessary thumbnails, place them in the appropriate folder and return a URL so you can access it in the future. You can also DELETE that url to\nremove the file.\n\nAll GET requests are served by Nginx, including a manifest.json file in each directory allowing for easy access via JavaScript.\n\nYou can also define defaults, which Nginx will serve should the file not exist. This can be extremely useful for avatars where you don't necessarily want to query your database to show an image or the avatar.\n\n#Warning\n\nThis is currently a work in progress, and far from production-ready. Contributions are welcome.\n\n#Behavior\n\n__Media is uploaded to__\n\n`POST /:resource/:id/(:type)`\n  \n- If the resource is an image\n\t- It will be converted to the specified format\n\t- Thumbnails will be generated in each of the defined sizes\n- If the type is defined\n\t- Naming will be based on the type\n\t- Otherwise the name or a hash will be used\n\t- If a file already exists for that type, the files will be replaced\n\n__Images can be accessed through__\n\n`GET /:resource/:id/(:type|:name)/:size.:extension`\n\n__Other files can be accessed through__\n\n`GET /:resource/:id/:name/original.:extension`\n\n__If the file doesn't exist, Nginx will try the following__\n\nIf the size is present\n\n- With type: `GET /:ressource/defaults/type/:size.:extension`\n- Without: `GET /:ressource/defaults/:size.:extension`\n\nIf none of these exist, a 404 will be returned.\n\n__Media can be deleted through__\n\n`DELETE /:ressource/:id/(:name|:type)`\n\n__Non public media__\n\nTODO","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidcornu%2Fmediamonkey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidcornu%2Fmediamonkey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidcornu%2Fmediamonkey/lists"}