{"id":39604716,"url":"https://github.com/scrayosnet/xenos","last_synced_at":"2026-05-25T01:02:29.557Z","repository":{"id":216817255,"uuid":"537761403","full_name":"scrayosnet/xenos","owner":"scrayosnet","description":"Minecraft Profile Information Proxy","archived":false,"fork":false,"pushed_at":"2025-05-31T21:12:30.000Z","size":503,"stargazers_count":18,"open_issues_count":13,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-31T22:56:50.879Z","etag":null,"topics":["api","cache","container","docker","games","grpc","grpc-gateway","kubernetes","microservice","minecraft","mojang-api","network","proxy","rest","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/scrayosnet.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2022-09-17T09:36:51.000Z","updated_at":"2025-05-31T11:52:54.000Z","dependencies_parsed_at":"2024-02-14T14:28:40.285Z","dependency_job_id":"abe42a5c-0e1f-42c5-a22a-6659c2cfe333","html_url":"https://github.com/scrayosnet/xenos","commit_stats":null,"previous_names":["scrayosnet/xenos"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/scrayosnet/xenos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrayosnet%2Fxenos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrayosnet%2Fxenos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrayosnet%2Fxenos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrayosnet%2Fxenos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scrayosnet","download_url":"https://codeload.github.com/scrayosnet/xenos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrayosnet%2Fxenos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28533577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","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","cache","container","docker","games","grpc","grpc-gateway","kubernetes","microservice","minecraft","mojang-api","network","proxy","rest","rust"],"created_at":"2026-01-18T07:58:41.350Z","updated_at":"2026-01-18T07:58:42.020Z","avatar_url":"https://github.com/scrayosnet.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"![The official Logo of Xenos](.github/images/logo.png \"Xenos\")\n\n![A visual badge for the latest release](https://img.shields.io/github/v/release/scrayosnet/xenos \"Latest Release\")\n![A visual badge for the workflow status](https://img.shields.io/github/actions/workflow/status/scrayosnet/xenos/docker.yml \"Workflow Status\")\n![A visual badge for the dependency status](https://img.shields.io/librariesio/github/scrayosnet/xenos \"Dependencies\")\n![A visual badge for the Docker image size](https://ghcr-badge.egpl.dev/scrayosnet/xenos/size \"Image Size\")\n![A visual badge for the license](https://img.shields.io/github/license/scrayosnet/xenos \"License\")\n\nXenos is a Minecraft profile data proxy that can be used as an ultra-fast replacement for the\nofficial [Mojang API][mojang-api-docs] on [Kubernetes][kubernetes].\n\n*The name \"Xenos\" is derived from the Greek word xénos which means something like \"stranger\" or \"guest\nfriend\" ([source][name-source]). That alludes to the process of profile resolution by which strangers become known\nplayers.*\n\n## Motivation\n\nMojang already offers an API to query the profile data of Minecraft accounts, but it is strictly rate limited. And while\nthe performance is overall *okay*, it's by no means optimal and can therefore only be used as a fallback. Xenos aims for\nperformance and reliability and can be used as the primary source of truth for profile information.\n\nIt is built with scaling and high availability in mind and can be set up fairly easy. Compared to existing solutions\nlike [MineTools][minetools-docs], Xenos introduces little to no additional latency and primarily uses cached and\nlatency-optimized responses to communicate with the services. It is meant to completely replace any kind of internal\ncaching and always use the API instead for inter process communication.\n\nThe differences between Xenos and serverless solutions like [Crafthead][crafthead-docs] are, that Xenos is deployed on\nyour own infrastructure to minimize latency, Xenos uses your own IPs regarding the rate-limit and you'll have more\nover what requests are performed, that Xenos is based on gRPC to cut down API response times even further and that\nXenos will always try to return a value, even if only outdated data is available.\n\nTherefore, Xenos is a reliable service, offering high-availability for Mojang API calls. It offers all the standard\nMojang APIs and will even be able to proxy authentication requests in the future.\n\n## Feature Highlights\n\n* Perform [gRPC][grpc-docs] and [HTTP REST][rest-docs] lookups for profile information.\n* Make efficient use of your available IP addresses to not run into rate limits.\n* Get best-in-class caching inbuilt and always request Xenos with very low latency.\n* Set Xenos up with replication, to get high availability.\n* Supply data in any representation without converting it first (dashed vs non-dashed UUIDs).\n* Fall back to retrieving cached data, if the Mojang API is currently not available.\n* Store resolved information to allow for grace periods for the resolution between name changes!\n\n### Remote Caches\n\nXenos provides multiple images with configurations for different remote caches. Additional caches might be provided in\nthe future. Caches are excluded from the build process using build features. This allows for a greater variety of caches\nwhile minimizing security risks arising from their dependencies.\n\nCurrently, the supported remote caches are:\n\n* None (`minimal`)\n* Redis (`redis`)\n\n## Getting started\n\n\u003e [!WARNING]\n\u003e Xenos is under active development and may experience breaking changes until the first version is released. After that\n\u003e version, breaking changes will be performed in adherence to [Semantic Versioning][semver-docs]\n\nOnce this project is ready, information about how to run Xenos will be published here. Stay tuned!\n\n## Reporting Security Issues\n\nTo report a security issue for this project, please note our [Security Policy][security-policy].\n\n## Code of Conduct\n\nParticipation in this project comes under the [Contributor Covenant Code of Conduct][code-of-conduct].\n\n## How to contribute\n\nThanks for considering contributing to this project! In order to submit a Pull Request, please read\nour [contributing][contributing-guide] guide. This project is in active development, and we're always happy to receive\nnew contributions!\n\n## Resources\n\nThe project includes the official Mojang skins for [Steve][steve-mojang] and [Alex][alex-mojang].\nWe do NOT own them, and it is NOT officially approved by Mojang.\nThey are only present in the source code to speed up the request time.\n\n## License\n\nThis project is developed and distributed under the MIT License. See [this explanation][mit-license-doc] for a rundown\non what that means.\n\n[mojang-api-docs]: https://wiki.vg/Mojang_API\n\n[kubernetes]: https://kubernetes.io/\n\n[name-source]: https://en.wikipedia.org/wiki/Xenos_(Greek)\n\n[minetools-docs]: https://api.minetools.eu/\n\n[crafthead-docs]: https://crafthead.net/\n\n[grpc-docs]: https://grpc.io/\n\n[rest-docs]: https://en.wikipedia.org/wiki/Representational_state_transfer\n\n[semver-docs]: https://semver.org/lang/de/\n\n[steve-mojang]: https://assets.mojang.com/SkinTemplates/steve.png\n\n[alex-mojang]: https://assets.mojang.com/SkinTemplates/alex.png\n\n[security-policy]: SECURITY.md\n\n[code-of-conduct]: CODE_OF_CONDUCT.md\n\n[contributing-guide]: CONTRIBUTING.md\n\n[mit-license-doc]: https://choosealicense.com/licenses/mit/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscrayosnet%2Fxenos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscrayosnet%2Fxenos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscrayosnet%2Fxenos/lists"}