{"id":15576924,"url":"https://github.com/hschne/data-dead-drop","last_synced_at":"2025-08-21T13:32:57.013Z","repository":{"id":211905760,"uuid":"730218624","full_name":"hschne/data-dead-drop","owner":"hschne","description":"Simple, quick data sharing. For humans and machines 🤖","archived":false,"fork":false,"pushed_at":"2024-10-15T18:51:10.000Z","size":1572,"stargazers_count":40,"open_issues_count":4,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-10T14:49:35.190Z","etag":null,"topics":["hotwire","rails","security"],"latest_commit_sha":null,"homepage":"https://datadeaddrop.com","language":"Ruby","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/hschne.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":"2023-12-11T13:04:30.000Z","updated_at":"2024-12-05T06:02:35.000Z","dependencies_parsed_at":"2024-01-02T08:40:54.913Z","dependency_job_id":"20debe56-8ec3-483e-b8bf-a5bc1bc6d833","html_url":"https://github.com/hschne/data-dead-drop","commit_stats":null,"previous_names":["hschne/data-dead-drop"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hschne%2Fdata-dead-drop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hschne%2Fdata-dead-drop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hschne%2Fdata-dead-drop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hschne%2Fdata-dead-drop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hschne","download_url":"https://codeload.github.com/hschne/data-dead-drop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230516191,"owners_count":18238353,"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":["hotwire","rails","security"],"created_at":"2024-10-02T19:00:23.913Z","updated_at":"2024-12-20T00:08:43.288Z","avatar_url":"https://github.com/hschne.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Data Dead Drop\n\n\u003cimg alt=\"logo\" src=\"app/assets/images/logo.png\" width=\"240px\" height=\"auto\"\u003e\n\n### Simple, secure file sharing. Data self-destroys after access.\n\n[![Main](https://github.com/hschne/data-dead-drop/actions/workflows/main.yml/badge.svg)](https://github.com/hschne/data-dead-drop/actions/workflows/main.yml)\n[![License](https://img.shields.io/github/license/hschne/data-dead-drop)](https://img.shields.io/github/license/hschne/data-dead-drop)\n\n\u003c/div\u003e\n\n## Usage\n\nVisit https://datadeaddrop.com to upload files, or upload files via the command line. For example using cURL:\n\n```bash\ncurl https://datadeaddrop.com/upload \\\n  -X POST -H \"Accept: application/json\" \\\n  -F \"upload[file]=@file.txt\" -F \"upload[expiry]=10\" -F \"upload[uses]=3\"\n```\n\nUploaded data will automatically be deleted after the specified number of minutes or uses. The maximum expiry is 60 minutes, and the maximum number of uses is 5. File size is limited to 1MB.\n\nData Dead drop will return a unique link generated using the [Diceware algorithm](https://en.wikipedia.org/wiki/Diceware) method. Use this link to download the file in the browser or via the command line.\n\n```bash\ncurl https://datadeaddrop.com/download/your-secret-key \\\n  -L -H \"Accept: application/json\" \u003e \"your-file.text\"\n```\n\n### API Documentation\n\nData Dead Drop's API is simple. If you want to build your own client use the `/upload` and `/download` endpoints.\n\n#### Upload\n\n```javascript\n// POST /upload\n{\n  \"file\":\"file.txt\",\n  \"expiry\":10,\n  \"uses\":1\n}\n```\n\nA successful request will return status code `200` and the following payload: \n\n```javascript\n{\n  \"name\":\"file.txt\"\n  \"key\":\"your-secret-key\",\n  \"url\":\"http://datadeaddrop/d/your-secret-key\",\n  \"expiry\":\"2024-12-24T18:10:00.000Z\",\n  \"uses\":3,\n  \"created_at\":\"2023-12-24T18:00:00.000Z\",\n}\n```\n\n#### Download\n\n```javasript\n# GET /download/your-secret-key\n```\n\n## Development\n\nThis is a Ruby on Rails application. To get started, clone the repo, install dependencies and prepare the database. You'll also need to seed the database with a Diceware word list.\n\n```bash\nbundle install\nrails db:setup\nrake import:dice_words\n```\n\nThe start the server with \n\n```bash\nrails server\n```\n\n### Testing\n\nData Dead Drop uses RSpec for testing. Run the test suite with\n\n```bash\nbundle exec rspec\n```\n\n### Deployment\n\nData Dead Drop is automatically deployed via GitHub actions using [Kamal](https://kamal-deploy.org/). To manually deploy you'll need SSH access to the server and access to the Docker Hub registry.\n\n```bash\nkamal setup\nkamal deploy\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhschne%2Fdata-dead-drop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhschne%2Fdata-dead-drop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhschne%2Fdata-dead-drop/lists"}