{"id":36533799,"url":"https://github.com/mirrorhub-io/platform","last_synced_at":"2026-01-12T03:04:30.803Z","repository":{"id":57554672,"uuid":"79958620","full_name":"mirrorhub-io/platform","owner":"mirrorhub-io","description":"Mirrorhub base API (Lineageos mirror #1)","archived":false,"fork":false,"pushed_at":"2017-03-07T18:31:55.000Z","size":11065,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T16:44:45.620Z","etag":null,"topics":["api","docker","docker-compose","grpc","http","mirror","mirrors","mit","protobuf","quay","rest","rest-api"],"latest_commit_sha":null,"homepage":"https://mirrorhub.io","language":"Go","has_issues":true,"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/mirrorhub-io.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":"2017-01-24T21:57:48.000Z","updated_at":"2018-04-18T02:12:23.000Z","dependencies_parsed_at":"2022-09-26T18:51:24.951Z","dependency_job_id":null,"html_url":"https://github.com/mirrorhub-io/platform","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/mirrorhub-io/platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirrorhub-io%2Fplatform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirrorhub-io%2Fplatform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirrorhub-io%2Fplatform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirrorhub-io%2Fplatform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mirrorhub-io","download_url":"https://codeload.github.com/mirrorhub-io/platform/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirrorhub-io%2Fplatform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28332869,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"online","status_checked_at":"2026-01-12T02:00:08.677Z","response_time":98,"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":["api","docker","docker-compose","grpc","http","mirror","mirrors","mit","protobuf","quay","rest","rest-api"],"created_at":"2026-01-12T03:04:30.250Z","updated_at":"2026-01-12T03:04:30.796Z","avatar_url":"https://github.com/mirrorhub-io.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mirrorhub.io Platform\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/mirrorhub-io/platform)](https://goreportcard.com/report/github.com/mirrorhub-io/platform)\n[![Docker Repository on Quay](https://quay.io/repository/mirrorhub/platform/status \"Docker Repository on Quay\")](https://quay.io/repository/mirrorhub/platform)\n[![codebeat badge](https://codebeat.co/badges/605c5d37-6f31-44c9-afeb-a0833251b930)](https://codebeat.co/projects/github-com-mirrorhub-io-platform)\n[![GoDoc](https://godoc.org/github.com/mirrorhub-io/platform?status.svg)](https://godoc.org/github.com/mirrorhub-io/platform)\n\nOur goal is to provide MirrorAsAService for everybody. Everybody knows it, you're running an application stack and you don't care about traffic. It is not as much to provide anybody a mirroring functionality but it wouldn't hurt to do.\n\nWe are trying to provide you as soon as possible a full stack solution which allows you to stop or hold mirroring at any time you want, with configurable traffic and storage limits. Possibly you want to support any open source project with up to 100GB storage but your are only able to provide 30% of them. \n\n**Coming soon**\n\n## CLI\n\n### Installation\n\nDownload latest prebuilt binaries package. Select the correct binary and just run it.\n\n```\nMirrorhub root command.\n\nUsage:\n  mirrorhub [command]\n\nAvailable Commands:\n  api          Start mirrorhub api\n  autocomplete Generate shell autocompletion script for Mirrorhub\n  client       Mirrorhub API-Client\n  gateway      Start mirrorhub rest-gateway\n\nFlags:\n      --config string   config file (default is $HOME/.mirrorhub.yaml)\n\nUse \"mirrorhub [command] --help\" for more information about a command.\n```\n\nA config could looks like the following.\n\n```yaml\nEmail: huimoo@example.org\nPassword: supersecurepassword\nAPI:\n  base: localhost:9000\n```\n\n## API\n\n**Checkout protocol buffers under controllers/proto/api.proto**\n\nAuthorize (HTTP-Header) from Client\n\n```\nGrpc-Metadata-ClientToken: \u003cToken\u003e\n```\n\nAuthorize (HTTP-Header) from Frontend\n\n```\nGrpc-Metadata-ContactToken: \u003cToken\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirrorhub-io%2Fplatform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmirrorhub-io%2Fplatform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirrorhub-io%2Fplatform/lists"}