{"id":16984875,"url":"https://github.com/nektro/dacite","last_synced_at":"2026-05-19T04:40:33.549Z","repository":{"id":57523447,"uuid":"164164683","full_name":"nektro/dacite","owner":"nektro","description":"Hash-based file storage and upload.","archived":false,"fork":false,"pushed_at":"2020-09-27T02:49:02.000Z","size":83,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-22T01:20:59.540Z","etag":null,"topics":["astheno","dacite","file-sharing","image-host","indieweb","sharex-server"],"latest_commit_sha":null,"homepage":"","language":"Go","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/nektro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"nektro","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":"nektro","otechie":null,"custom":"https://www.paypal.me/nektro"}},"created_at":"2019-01-04T23:27:58.000Z","updated_at":"2020-09-27T02:47:43.000Z","dependencies_parsed_at":"2022-08-28T10:10:40.433Z","dependency_job_id":null,"html_url":"https://github.com/nektro/dacite","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/nektro/dacite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nektro%2Fdacite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nektro%2Fdacite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nektro%2Fdacite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nektro%2Fdacite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nektro","download_url":"https://codeload.github.com/nektro/dacite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nektro%2Fdacite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33202099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"online","status_checked_at":"2026-05-19T02:00:06.763Z","response_time":58,"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":["astheno","dacite","file-sharing","image-host","indieweb","sharex-server"],"created_at":"2024-10-14T02:35:02.652Z","updated_at":"2026-05-19T04:40:33.501Z","avatar_url":"https://github.com/nektro.png","language":"Go","funding_links":["https://github.com/sponsors/nektro","https://issuehunt.io/r/nektro","https://www.paypal.me/nektro","https://issuehunt.io/r/nektro/dacite"],"categories":[],"sub_categories":[],"readme":"# Dacite\n![loc](https://sloc.xyz/github/nektro/dacite)\n[![license](https://img.shields.io/github/license/nektro/dacite.svg)](https://github.com/nektro/dacite/blob/master/LICENSE)\n[![discord](https://img.shields.io/discord/551971034593755159.svg?logo=discord)](https://discord.gg/P6Y4zQC)\n[![circleci](https://circleci.com/gh/nektro/dacite.svg?style=svg)](https://circleci.com/gh/nektro/dacite)\n[![release](https://img.shields.io/github/v/release/nektro/dacite)](https://github.com/nektro/dacite/releases/latest)\n[![goreportcard](https://goreportcard.com/badge/github.com/nektro/dacite)](https://goreportcard.com/report/github.com/nektro/dacite)\n[![codefactor](https://www.codefactor.io/repository/github/nektro/dacite/badge)](https://www.codefactor.io/repository/github/nektro/dacite)\n[![downloads](https://img.shields.io/github/downloads/nektro/dacite/total.svg)](https://github.com/nektro/dacite/releases)\n[![issuehunt](https://img.shields.io/badge/issuehunt-dacite-38d39f)](https://issuehunt.io/r/nektro/dacite)\n[![docker_pulls](https://img.shields.io/docker/pulls/nektro/dacite)](https://hub.docker.com/r/nektro/dacite)\n[![docker_stars](https://img.shields.io/docker/stars/nektro/dacite)](https://hub.docker.com/r/nektro/dacite)\n\nHash-based file storage and upload.\n\n## Getting Started\nThese instructions will help you get the project up and running and are required before moving on.\n\n### Flags\n\n| Name | Type | Default | Description |\n|------|------|---------|-------------|\n| `--port` | `int` | `8000` | Port to bind web server to. |\n| `--root` | `string` | none. | Path of root directory to store files. |\n| `--algo` | `string` | `SHA1` | Hash algo to use for files. (One of `MD4`, `MD5`, `SHA1`, `SHA224`, `SHA256`, `SHA384`, `SHA512`, `MD5`, `SHA1`, `RIPEMD160`, `SHA3_224`, `SHA3_256`, `SHA3_384`, `SHA3_512`, `SHA512_224`, `SHA512_256`, `BLAKE2s_256`, `BLAKE2b_256`, `BLAKE2b_384`, `BLAKE2b_512`, `zeebo/blake3`) |\n| `--max-file-size` | `int` | `20` | Size in MB to limit user uploads to. |\n| `--max-folder-depth` | `int` | `6` | Max depth of folders to make in /data. 0 for hash_len/2. |\n\n### Creating External Auth Credentials\nIn order to get started with Dacite, you will need to create an app on your Identity Provider(s) of choice. See the [nektro/go.oauth2](https://github.com/nektro/go.oauth2#readme) docs for more detailed info on this process on where to go and what data you'll need.\n\nHere you can also fill out a picture and description that will be displayed during the authorization of users on your chosen Identity Provider. When prompted for the \"Redirect URI\" during the app setup process, the URL to use will be `http://dacite/callback`, replacing `dacite` with any origins you wish Dacite to be usable from, such as `example.com` or `localhost:8000`.\n\nOnce you have finished the app creation process you should now have a Client ID and Client Secret. These are passed into Dacite through flags as well.\n\n| Name | Type | Default | Description |\n|------|------|---------|-------------|\n| `--oauth2-client` | `string` | none. | Client config in the form `for|id|secret` (ex `discord|2429824|sDVavsd`). |\n\nThe Identity Provider IDs can be found from the table in the [nektro/go.oauth2](https://github.com/nektro/go.oauth2#readme) documentation.\n\n## Development\n\n### Prerequisites\n- The Go Language 1.12+ (https://golang.org/dl/)\n- Docker (https://www.docker.com/products/docker-desktop)\n- Docker Compose (https://docs.docker.com/compose/install/)\n\n### Installing\nRun\n```\n$ git clone https://github.com/nektro/dacite\n$ cd ./dacite/\n$ go get -v .\n$ docker-compose up\n```\n\n## Deployment\nPre-compiled binaries can be obtained from https://github.com/nektro/dacite/releases/latest.\n\nOr you can build from source:\n```\n$ ./scripts/build_all.sh\n```\n\n# Built With\n- https://github.com/gorilla/mux\n- https://github.com/gorilla/sessions\n- https://github.com/nektro/go-util\n- https://github.com/nektro/go.dbstorage\n- https://github.com/nektro/go.etc\n- https://github.com/nektro/go.oauth2\n- https://github.com/rakyll/statik\n- https://github.com/zeebo/blake3\n\n## Contact\n- hello@nektro.net\n- https://twitter.com/nektro\n\n## License\nApache 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnektro%2Fdacite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnektro%2Fdacite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnektro%2Fdacite/lists"}