{"id":33120324,"url":"https://eikek.github.io/sharry/","last_synced_at":"2025-11-19T22:01:38.125Z","repository":{"id":38009501,"uuid":"90628954","full_name":"eikek/sharry","owner":"eikek","description":"Sharry is a self-hosted file sharing web application.","archived":false,"fork":false,"pushed_at":"2025-11-14T03:43:21.000Z","size":26783,"stargazers_count":1204,"open_issues_count":77,"forks_count":67,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-11-14T05:34:16.584Z","etag":null,"topics":["elm","file-sharing","file-upload","filesharing","scala","web-app","web-application","webapp"],"latest_commit_sha":null,"homepage":"https://eikek.github.io/sharry","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eikek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"Contributing.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-05-08T13:05:14.000Z","updated_at":"2025-11-14T03:43:25.000Z","dependencies_parsed_at":"2024-01-08T07:28:40.934Z","dependency_job_id":"b587ccfc-e530-48a7-b90b-23fc9dd32ad2","html_url":"https://github.com/eikek/sharry","commit_stats":{"total_commits":1576,"total_committers":23,"mean_commits":68.52173913043478,"dds":0.6529187817258884,"last_synced_commit":"a25b1612a4839625a8a278e84e015ea086ae1ece"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/eikek/sharry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikek%2Fsharry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikek%2Fsharry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikek%2Fsharry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikek%2Fsharry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eikek","download_url":"https://codeload.github.com/eikek/sharry/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikek%2Fsharry/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285335552,"owners_count":27154282,"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-11-19T02:00:05.673Z","response_time":65,"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":["elm","file-sharing","file-upload","filesharing","scala","web-app","web-application","webapp"],"created_at":"2025-11-15T04:00:42.281Z","updated_at":"2025-11-19T22:01:38.119Z","avatar_url":"https://github.com/eikek.png","language":"Elm","funding_links":["https://liberapay.com/eikek/","https://paypal.me/eikek0"],"categories":["Software"],"sub_categories":["File Sharing"],"readme":"\u003cimg align=\"left\"\n     src=\"https://raw.githubusercontent.com/eikek/sharry/master/artwork/icon.png\"\n     height=\"120px\"\n     style=\"padding-right: 20px\"\u003e\n\n[![Scala Steward badge](https://img.shields.io/badge/Scala_Steward-helping-blue.svg?style=flat\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=)](https://scala-steward.org)\n\n# Sharry\n\nSharry allows to share files with others in a simple way. It is a\nself-hosted web application. The basic concept is: upload files and get\na url back that can then be shared.\n\n\u003ca href=\"https://xkcd.com/949/\"\u003e\n  \u003cimg height=\"400\" align=\"right\" style=\"float:right\" src=\"https://imgs.xkcd.com/comics/file_transfer.png\"\u003e\n\u003c/a\u003e\n\n## How it works\n\n### Authenticated users → others\n\nAuthenticated users can upload their files on a web site together with\nan optional password and a time period. The time period defines how long\nthe file is available for download. Then a public URL is generated that\ncan be shared, e.g. via email.\n\nThe download page is hard to guess, but open to everyone.\n\n### Others → Authenticated users\n\nEach registered user can maintain alias pages. An alias page is behind\na “hard-to-guess” URL (just like the download page) and allows\neveryone to upload files to the corresponding user. The form does not\nallow to specify a password or validation period, but a description\ncan be given. The user belonging to the alias can be notified via\nemail. Alias pages can be disabled or deleted any time.\n\n## Install\n\n- Install the [provided](https://github.com/eikek/sharry/releases)\n  `deb` file at your debian based system.\n- Download [provided](https://github.com/eikek/sharry/releases) zip\n  file and run the script in `bin/`, as [described\n  here](https://eikek.github.io/sharry/doc/quickstart#quickstart).\n- Using the [nix](https://nixos.org/nix) package manager as [described\n  here](https://eikek.github.io/sharry/doc/nix). A a NixOS module is\n  available, too.\n- Using Docker, as [described\n  here](https://eikek.github.io/sharry/doc/quickstart#quickstart-with-docker).\n\n## Documentation\n\nPlease see the [documentation site](https://eikek.github.io/sharry).\n\n\n## Screenshots\n\n![screenshot-1](https://raw.githubusercontent.com/eikek/sharry/master/modules/microsite/docs/screenshots/Selection_226.png)\n![screenshot-2](https://raw.githubusercontent.com/eikek/sharry/master/modules/microsite/docs/screenshots/Selection_230.png)\n![screenshot-3](https://raw.githubusercontent.com/eikek/sharry/master/modules/microsite/docs/screenshots/Selection_235.png)\n\n\u003cimg src=\"https://raw.githubusercontent.com/eikek/sharry/master/modules/microsite/docs/screenshots/mobile_02.png\" height=\"600\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/eikek/sharry/master/modules/microsite/docs/screenshots/mobile_03.png\" height=\"600\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/eikek/sharry/master/modules/microsite/docs/screenshots/mobile_04.png\" height=\"600\"\u003e\n\n## Contributions/Support\n\nFeedback and other contributions are very welcome! You can [open an\nissue](https://github.com/eikek/sharry/issues/new) for questions,\nproblems and other feedback; or make a mail to `eikek [at] posteo.de`.\nI'll try to answer in time.\n\nIf you find this project any useful and want to support it via other\nmeans, giving a :star: is always encouraging and much appreciated. You\ncan also support activity by donating via\n[liberapay](https://liberapay.com/eikek/) or\n[paypal](https://paypal.me/eikek0).\n\nThank you so much!\n\n\n## Technical\n\nSharry implements the [tus](https://tus.io) protocol and the webapp\nuses it to send files to the backend server. This allows to send even\nlarge files reliably through http. For example, even if the connection\ndrops in the middle of an upload and you upload the same file again\nlater, it starts the upload process from the last received chunk of\ndata.\n\nThe backend is written in Scala using a pure functional style on top\nof great [typelevel](https://typelevel.org/) libraries like\n[cats](https://typelevel.org/cats/) and\n[fs2](https://github.com/typelevel/fs2). The frontend is written in\n[elm](https://elm-lang.org).\n\n\n## License\n\nThis project is distributed under the\n[GPLv3+](https://spdx.org/licenses/GPL-3.0-or-later.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/eikek.github.io%2Fsharry%2F","html_url":"https://awesome.ecosyste.ms/projects/eikek.github.io%2Fsharry%2F","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/eikek.github.io%2Fsharry%2F/lists"}