{"id":28498664,"url":"https://github.com/0xssompw/kawaiikinetics","last_synced_at":"2025-10-25T09:07:27.458Z","repository":{"id":273169963,"uuid":"855006890","full_name":"0xSSOMPW/KawaiiKinetics","owner":"0xSSOMPW","description":"KawaiiKinetics is a Rust API built with Axum and Shuttle, utilizing the Aniscraper library for scraping anime-related content. This API provides various endpoints to retrieve information about anime, including trending series, episode details, and more.","archived":false,"fork":false,"pushed_at":"2025-01-19T06:05:39.000Z","size":81,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-01-19T07:23:04.105Z","etag":null,"topics":["anime","axum","hianime","rust-api","zoro"],"latest_commit_sha":null,"homepage":"https://kawaii-kinetics-hsh8.shuttle.app","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/0xSSOMPW.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}},"created_at":"2024-09-10T06:24:45.000Z","updated_at":"2025-01-19T06:15:21.000Z","dependencies_parsed_at":"2025-01-19T07:33:56.109Z","dependency_job_id":null,"html_url":"https://github.com/0xSSOMPW/KawaiiKinetics","commit_stats":null,"previous_names":["0xssompw/kawaiikinetics"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xSSOMPW%2FKawaiiKinetics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xSSOMPW%2FKawaiiKinetics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xSSOMPW%2FKawaiiKinetics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xSSOMPW%2FKawaiiKinetics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xSSOMPW","download_url":"https://codeload.github.com/0xSSOMPW/KawaiiKinetics/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xSSOMPW%2FKawaiiKinetics/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258723056,"owners_count":22747272,"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","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":["anime","axum","hianime","rust-api","zoro"],"created_at":"2025-06-08T14:06:03.026Z","updated_at":"2025-10-25T09:07:22.431Z","avatar_url":"https://github.com/0xSSOMPW.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KawaiiKinetics\n\nKawaiiKinetics is a Rust API built with Axum and Shuttle, utilizing the Aniscraper library for scraping anime-related content. This API provides various endpoints to retrieve information about anime, including trending series, episode details, and more.\n\n## Features\n\n- **Anime Information Retrieval**: Get details on various anime, including home info, specific anime info, episode listings, and more.\n- **Caching**: Utilizes caching for better performance.\n- **Secret Management**: Securely handles configuration and secrets using a dedicated secret store.\n\n## Getting Started\n\n### Prerequisites\n\n- Rust (1.50 or later)\n- Cargo\n- An instance of [Shuttle](https://shuttle.rs) for deployment (if needed)\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/0xSSOMPW/KawaiiKinetics.git\n   cd KawaiiKinetics\n   ```\n   \n2. Run the application:\n\n   ```bash\n   cargo run\n   ```\n\n### Configuration\n\nSet up your secret configuration in your environment. The following keys are required:\n\n- `MAX_RETRIES_ATTEMPTS`\n- `REQWEST_ERROR_WEBHOOK`\n- `NO_PROXIES_AVAILABLE_ERROR_WEBHOOK`\n- `FAILED_TO_FETCH_AFTER_RETRIES_ERROR_WEBHOOK`\n- `UTILS_ERROR_WEBHOOK`\n- `UNKNOWN_ERROR_WEBHOOK`\n- `HTTP_URL`\n- `SOCK4_URL`\n- `SOCK5_URL`\n- `HIANIME_DOMAINS`\n- `USER_AGENT_HEADER`          // REQUIRED\n- `ACCEPT_ENCODING_HEADER`     // REQUIRED\n- `ACCEPT_HEADER`       // REQUIRED\n\nThese secrets will be loaded into the application at runtime.\n\n## API Endpoints\n\n### 1. Home Information\n\n- **Endpoint**: `GET /hianime/home`\n- **Returns**: `HomeInfo`\n  \n```json\n{\n    \"trending\": [/* Array of MinimalAnime */],\n    \"latest_episodes\": [/* Array of Anime */],\n    \"top_upcoming_animes\": [/* Array of Anime */],\n    \"spotlight_animes\": [/* Array of SpotlightAnime */],\n    \"featured\": {/* FeaturedAnime */},\n    \"top_10_animes\": {/* Top10PeriodRankedAnime */},\n    \"genres\": [/* Array of Strings */]\n}\n```\n\n### 2. Anime Information\n\n- **Endpoint**: `GET /hianime/anime/:anime_id`\n- **Returns**: `AboutAnime`\n  \n```json\n{\n    \"id\": \"string\",\n    \"mal_id\": 123,\n    \"al_id\": 456,\n    \"anime_id\": 789,\n    \"title\": \"string\",\n    \"description\": \"string\",\n    \"image\": \"string\",\n    \"rating\": \"string\",\n    \"category\": \"string\",\n    \"duration\": \"string\",\n    \"quality\": \"string\",\n    \"subs\": 12,\n    \"dubs\": 34,\n    \"eps\": 24,\n    \"japanese\": \"string\",\n    \"synonyms\": \"string\",\n    \"aired\": \"string\",\n    \"premiered\": \"string\",\n    \"status\": \"string\",\n    \"mal_score\": \"string\",\n    \"studios\": [\"string\"],\n    \"producers\": [\"string\"],\n    \"genres\": [\"string\"],\n    \"most_popular_animes\": [/* Array of SideBarAnimes */],\n    \"related_animes\": [/* Array of SideBarAnimes */],\n    \"recommended_animes\": [/* Array of Anime */],\n    \"seasons\": [/* Array of AnimeSeason */]\n}\n```\n\n### 3. Category Results\n\n- **Endpoint**: `GET /hianime/:category`\n- **Returns**: `CategoryInfo`\n  \n```json\n{\n    \"total_pages\": 5,\n    \"current_page\": 1,\n    \"has_next_page\": true,\n    \"animes\": [/* Array of Anime */],\n    \"top_10_animes\": {/* Top10PeriodRankedAnime */},\n    \"genres\": [/* Array of Strings */]\n}\n```\n\n### 4. Anime Episodes\n\n- **Endpoint**: `GET /hianime/anime/:anime_id/episodes`\n- **Returns**: `EpisodesInfo`\n  \n```json\n{\n    \"total_episodes\": 24,\n    \"episodes\": [/* Array of AnimeEpisode */]\n}\n```\n\n### 5. Search Results\n\n- **Endpoint**: `GET /hianime/search/:query`\n- **Returns**: `SearchInfo`\n  \n```json\n{\n    \"total_pages\": 3,\n    \"current_page\": 1,\n    \"has_next_page\": true,\n    \"animes\": [/* Array of Anime */],\n    \"most_popular_animes\": [/* Array of SideBarAnimes */],\n    \"genres\": [/* Array of Strings */]\n}\n```\n\n### 6. A-Z List\n\n- **Endpoint**: `GET /hianime/atoz-list`\n- **Returns**: `AtoZ`\n  \n```json\n{\n    \"has_next_page\": true,\n    \"current_page\": 1,\n    \"total_pages\": 10,\n    \"animes\": [/* Array of Anime */]\n}\n```\n\n### 7. Episode Source\n\n- **Endpoint**: `GET /hianime/episode-src/:anime_id`\n- **Returns**: `ServerInfo`\n  \n```json\n{\n    \"episode_no\": 1,\n    \"sub\": [/* Array of Server */],\n    \"dub\": [/* Array of Server */]\n}\n```\n\n### 8. Streaming Links\n\n- **Endpoint**: `GET /hianime/episode-src-links/:anime_id`\n- **Returns**: `ServerExtractedInfo`\n  \n```json\n{\n    \"MegaCloud\": {\n        \"intro\": {/* IntroOutro */},\n        \"outro\": {/* IntroOutro */},\n        \"tracks\": [/* Array of Track */],\n        \"sources\": [/* Array of Source */]\n    }\n}\n```\n\n### Error Handling\n\nAll API responses are returned as JSON. In the case of an error, a response will be structured as follows:\n\n```json\n{\n    \"error\": \"Error message here\"\n}\n```\n\n## Contributing\n\nContributions are welcome! If you'd like to contribute to KawaiiKinetics, please fork the repository and submit a pull request.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- [Axum](https://github.com/tokio-rs/axum) for the web framework.\n- [Shuttle](https://shuttle.rs) for seamless deployment.\n- [Aniscraper](https://github.com/0xSSOMPW/aniscraper) for anime scraping functionality.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xssompw%2Fkawaiikinetics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xssompw%2Fkawaiikinetics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xssompw%2Fkawaiikinetics/lists"}