{"id":20263459,"url":"https://github.com/opengapps/package-api","last_synced_at":"2025-08-11T07:09:23.063Z","repository":{"id":40523779,"uuid":"203352757","full_name":"opengapps/package-api","owner":"opengapps","description":"API to list OpenGApps assets on the website","archived":false,"fork":false,"pushed_at":"2024-07-08T11:24:30.000Z","size":149,"stargazers_count":9,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-11T02:08:52.473Z","etag":null,"topics":["api","go","opengapps"],"latest_commit_sha":null,"homepage":null,"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/opengapps.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-08-20T10:22:50.000Z","updated_at":"2024-07-08T11:24:34.000Z","dependencies_parsed_at":"2024-06-19T05:17:41.209Z","dependency_job_id":"2b306143-1524-4eec-8d27-4e13fc82d8ab","html_url":"https://github.com/opengapps/package-api","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/opengapps/package-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opengapps%2Fpackage-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opengapps%2Fpackage-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opengapps%2Fpackage-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opengapps%2Fpackage-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opengapps","download_url":"https://codeload.github.com/opengapps/package-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opengapps%2Fpackage-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269844103,"owners_count":24484133,"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-08-11T02:00:10.019Z","response_time":75,"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","go","opengapps"],"created_at":"2024-11-14T11:35:15.519Z","updated_at":"2025-08-11T07:09:23.022Z","avatar_url":"https://github.com/opengapps.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenGApps Package API [![CircleCI](https://circleci.com/gh/opengapps/package-api/tree/master.svg?style=svg)](https://circleci.com/gh/opengapps/package-api/tree/master) [![Go Report Card](https://goreportcard.com/badge/github.com/opengapps/package-api)](https://goreportcard.com/report/github.com/opengapps/package-api)\n\nThis is the implementation of the [opengapps.org](https://opengapps.org) backend.\n\nThis project adheres to the Golang [project-layout](https://github.com/golang-standards/project-layout) structure.\n\n## Purpose\n\nSince the website has transitioned to the SourceForge storage from Github releases, we've lost Github API support.\n\nSo, to compensate for that, this service was created.\n\n## Installation\n\nThe service uses Go modules for vendoring.\n\nTo install it, starting with Go 1.12 you can just use `go get`:\n\n```shellscript\ngo get github.com/opengapps/package-api/cmd/package-api\n```\n\nAlso you can clone this repo and use the build/install/run targets from [Makefile](./Makefile).\n\n## Configuration\n\nYou can use any config file format supported by [Viper](https://github.com/spf13/viper) library (currently our preferred format is [TOML](https://github.com/toml-lang/toml)).\n\nIn case you don't want to use local config, it will rely on ENV variables with prefix `PACKAGE_API_` (can be changed in [Makefile](./Makefile)).\n\nExample config can be found at [config_example.toml](./resources/config_example.toml).\n\n## Usage\n\nThis API only exposes two endpoints: `/list` and `/download`.\n\n### Request format\n\n| Method | Endpoint    | Parameters                                                    |\n| ------ | ----------- | ------------------------------------------------------------- |\n| `GET`  | `/list`     | None                                                          |\n| `GET`  | `/download` | `arch={ARCHITECTURE}\u0026api={API}\u0026variant={VARIANT}\u0026date={DATE}` |\n\n### Response codes\n\n- **200**: successful response;\n- **404**: on bad request format or improper parameters;\n- **500**: mostly on external call failures.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopengapps%2Fpackage-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopengapps%2Fpackage-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopengapps%2Fpackage-api/lists"}