{"id":15138178,"url":"https://github.com/philbobaggins/file-upload","last_synced_at":"2026-02-11T07:33:45.622Z","repository":{"id":202934418,"uuid":"706476959","full_name":"PhilboBaggins/file-upload","owner":"PhilboBaggins","description":"A small web application to accept file uploads","archived":false,"fork":false,"pushed_at":"2024-03-13T03:09:44.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T06:44:38.859Z","etag":null,"topics":["docker","file-upload","rocket","rust","rust-lang","rust-rocket","upload","web","webapp"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PhilboBaggins.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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-10-18T03:06:52.000Z","updated_at":"2023-10-22T15:55:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"fb7073a8-2e5e-4294-8e9d-9aa2d950b921","html_url":"https://github.com/PhilboBaggins/file-upload","commit_stats":null,"previous_names":["philbobaggins/file-upload"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PhilboBaggins/file-upload","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhilboBaggins%2Ffile-upload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhilboBaggins%2Ffile-upload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhilboBaggins%2Ffile-upload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhilboBaggins%2Ffile-upload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PhilboBaggins","download_url":"https://codeload.github.com/PhilboBaggins/file-upload/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhilboBaggins%2Ffile-upload/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273707378,"owners_count":25153724,"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","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["docker","file-upload","rocket","rust","rust-lang","rust-rocket","upload","web","webapp"],"created_at":"2024-09-26T07:21:05.636Z","updated_at":"2026-02-11T07:33:45.580Z","avatar_url":"https://github.com/PhilboBaggins.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ?????????????\n\nA small web application to accept file uploads...... \n\n.........\n\n.... allow people to upload files to my file server using only a web browser (i.e. so users don't have to install a SFTP client or any other software).\n\nEach file will be placed in it's own subdirectory with the date \u0026 time of upload as the directory name, so you can easily find your files. The idea is that after someone has uploaded a file, you would go grab it and move it somewhere else, so nothing is left in the upload directory long term.\n\n## Running with Docker or Podman\n\n...... forward port 8000 .... map /opt/file_upload/data mapped to wherever you want the files to be stored\n\n## TODO\n\n* [ ] Documentation\n* [ ] Docker image\n    * [x] Get it running\n    * [ ] Usage instructions\n    * [ ] Get it working with a smaller image like alpine\n    * [x] Prevent \"invalid cross-device link\" error:\n        * \u003chttps://github.com/SergioBenitez/Rocket/issues/1600\u003e\n        * \u003chttps://github.com/ShaddyDC/track-wear-backend/commit/e85bf54c0688900ff1f7052719f9676835402475\u003e\n    * [ ] Get it to work without the`set_permissions` call\n        * This might be useful: \u003chttps://stackoverflow.com/questions/26500270/understanding-user-file-ownership-in-docker-how-to-avoid-changing-permissions-o/26514736#26514736\u003e\n* [ ] Improve `index.html`:\n    * [x] Make it pretty\n    * [ ] Allow files to be dragged and dropped\n    * [x] Show acceptable file extensions\n    * [ ] Check the file extension locally in the browser before upload so user doesn't have to wait for upload to complete on a file that will be rejected anyway\n    * [x] Progress bar\n* [ ] Authentication\n* [x] Replace synchronous functions with async equivalents:\n    * [x] `std::fs::create_dir_all`\n    * [x] Creating and writing to `Original filename.txt`\n* [ ] favicon\n* [ ] Time zone - \u003chttps://stackoverflow.com/questions/57607381/how-do-i-change-timezone-in-a-docker-container\u003e\n* [ ] Sends a message to Slack when a file is uploaded\n\n## License\n\nLicensed under either of the following:\n\n* Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or \u003chttp://apache.org/licenses/LICENSE-2.0\u003e)\n* MIT license ([LICENSE-MIT](LICENSE-MIT) or \u003chttp://opensource.org/licenses/MIT\u003e)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilbobaggins%2Ffile-upload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilbobaggins%2Ffile-upload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilbobaggins%2Ffile-upload/lists"}