Skip to content

Zayrix-bit/Anixo

Repository files navigation

AniXo Logo

🎌 AniXo - The Next-Gen Anime Experience 🎌

React 19 Python 3.10 Flask Vercel

Caution

Self-hosting this application is strictly limited to personal use only. Commercial utilization is prohibited, and the inclusion of advertisements on your self-hosted website may lead to serious consequences, including potential site takedown measures. Ensure compliance to avoid any legal or operational issues.


πŸ“Έ Interface Preview



Advanced Filtering & Discovery System


🌌 Overview

AniXo is a high-performance, premium anime streaming platform built for speed, aesthetics, and reliability. It bridges the gap between multiple metadata providers (AniList, MAL, Kitsu) and high-quality streaming sources to deliver a seamless, ad-free watching experience.

Unlike traditional platforms, AniXo features a Hybrid Resilience Engineβ€”ensuring the platform remains functional even during major third-party API outages.


πŸ—οΈ Architectural Blueprint

The system is split into three core layers designed for maximum scalability and zero downtime.

anixo/
β”œβ”€β”€ api/                        # πŸš€ Unified Backend (Python & Node.js)
β”‚   β”œβ”€β”€ index.py                # 🐍 Python API (Jikan/AniList Proxy)
β”‚   β”œβ”€β”€ user.js                 # 🟒 Node.js Auth & Watchlist Gateway
β”‚   β”œβ”€β”€ comments.json           # πŸ’¬ Local Database (Comments)
β”‚   └── stream_cache.json       # ⚑ Scraper Performance Cache
β”œβ”€β”€ src/                        # βš›οΈ Frontend (React 19 + Vite)
β”‚   β”œβ”€β”€ pages/                  # πŸ–ΌοΈ Application Views (Pages)
β”‚   β”‚   β”œβ”€β”€ AnimeDetails.jsx    # Anime Info & Metadata
β”‚   β”‚   β”œβ”€β”€ Browse.jsx          # Advanced Filtering & Discovery
β”‚   β”‚   β”œβ”€β”€ Watch.jsx           # Core Streaming Experience
β”‚   β”‚   β”œβ”€β”€ Home.jsx            # Dynamic Hero & Trending Rails
β”‚   β”‚   β”œβ”€β”€ Profile.jsx         # User Dashboard
β”‚   β”‚   β”œβ”€β”€ Watchlist.jsx       # Personal List Management
β”‚   β”‚   β”œβ”€β”€ Schedule.jsx        # Airing Timetable
β”‚   β”‚   β”œβ”€β”€ Character.jsx       # Character Specific Info
β”‚   β”‚   β”œβ”€β”€ Staff.jsx           # Production Staff Info
β”‚   β”‚   β”œβ”€β”€ Notifications.jsx   # User Alerts & Updates
β”‚   β”‚   β”œβ”€β”€ ContinueWatching.jsx# Progress Tracking View
β”‚   β”‚   β”œβ”€β”€ ImportExport.jsx    # AniList/MAL Data Portability
β”‚   β”‚   β”œβ”€β”€ Settings.jsx        # App Preferences
β”‚   β”‚   β”œβ”€β”€ Portal.jsx          # User Entry Point (Login/Signup)
β”‚   β”‚   β”œβ”€β”€ ForgotPassword.jsx  # Account Recovery Initiation
β”‚   β”‚   β”œβ”€β”€ ResetPassword.jsx   # Secure Password Update
β”‚   β”‚   β”œβ”€β”€ DMCA.jsx            # Legal Information
β”‚   β”‚   └── TermsOfService.jsx  # Terms & Conditions
β”‚   β”œβ”€β”€ components/             # 🧱 UI Building Blocks
β”‚   β”‚   β”œβ”€β”€ layout/             # Navbar, Footer, Sidebar
β”‚   β”‚   β”œβ”€β”€ common/             # AnimeCard, VideoPlayer, Pagination
β”‚   β”‚   β”œβ”€β”€ auth/               # Login & Registration Components
β”‚   β”‚   β”œβ”€β”€ home/               # Featured Content & Carousels
β”‚   β”‚   └── user/               # Profile & List Components
β”‚   β”œβ”€β”€ services/               # πŸ“‘ API Connectors (api.js, auth.js)
β”‚   β”œβ”€β”€ hooks/                  # πŸͺ Custom Logic & State Hooks
β”‚   └── context/                # 🌐 Global Auth & UI State
β”œβ”€β”€ public/                     # πŸ“‚ Static Assets (Icons, Logos)
β”œβ”€β”€ vercel.json                 # 🌍 Serverless Deployment Logic
β”œβ”€β”€ vite.config.js              # ⚑ Fast Build & Proxy Setup
β”œβ”€β”€ requirements.txt            # 🐍 Python Dependencies
└── .env.example                # πŸ”’ Setup Template

🌟 Premium Features

πŸ›‘οΈ Hybrid Resilience Engine

  • Intelligent Fallback: Automatically switches to Jikan (MAL) if AniList goes down.
  • Dynamic Normalization: Jikan data is transformed on-the-fly to match the AniList schema, preventing UI breaks.
  • Broadcast Timing: Live-synced broadcast schedules displayed directly in the Watch page.

🎬 Elite Streaming Experience

  • Multi-Server Resolution: Seamlessly switches between high-quality streaming providers.
  • Smart Metadata: Episode thumbnails and descriptions are intelligently pulled from Kitsu/MAL for a "Netflix-style" browse experience.
  • Native HLS Player: High-performance playback with Auto-Skip (Intro/Outro) support.

πŸ” Advanced Security & Recovery

  • Token-Based Recovery: Secure "Forgot Password" flow with high-entropy, hashed reset tokens.
  • Gmail SMTP Integration: Professional, dark-themed HTML email templates for account recovery.
  • Real-time Verification: Mandatory current password check and real-time strength indicators.
  • Cloudflare Turnstile: Bot protection integrated into the login/registration process.

πŸ“‘ API Reference & Proxy Logic

🐍 Python Scraper API (/api/index.py)

πŸš€ Example Discovery Flow

Order Action Endpoint Purpose
0 Proxy POST /api/anilist/proxy GraphQL Proxy with Jikan Fallback.
1 Jikan GET /api/jikan/proxy?path=... Direct REST proxy for Jikan v4 API.
2 Mapping GET /api/malsync/<mal_id> MAL to AniList/Streaming mapping.

πŸ’¬ Community & Comments

Action Endpoint Purpose
Get GET /api/comments?animeId=... Retrieve episode discussion threads.
Post POST /api/comments Post a new community comment.
Vote POST /api/comments/vote Upvote or Downvote a comment.

🟒 Node.js User API (/api/user.js)

Action Endpoint Purpose
Register POST /api/auth/register Secure user registration.
Login POST /api/auth/login JWT-based user authentication.
List GET /api/user/watchlist Manage personal anime collections.

πŸ“‚ Database Schema (MongoDB)

Our data model is designed for high-concurrency and fast lookups:

  • Users: Stores hashed passwords, profile settings, and account metadata.
  • Watchlist: Tracks anime status (Watching, Planned, Dropped) and current progress.
  • Comments: A nested system for episode-specific discussions and community engagement.

πŸ› οΈ Detailed Setup Guide

1. Prerequisite Environment

Ensure you have the following installed:

  • Node.js 20+
  • Python 3.10+
  • MongoDB Atlas Account

2. Configuration

Copy the template and fill in your secrets:

cp .env.example .env

Key variables to set:

  • MONGO_URI: Your MongoDB connection string.
  • JWT_SECRET: A long random string for auth security.
  • EMAIL_USER: Your Gmail address (e.g., user@gmail.com).
  • EMAIL_PASS: Your 16-digit Gmail App Password.
  • FRONTEND_URL: Your frontend domain (e.g., http://localhost:5173 or https://anixo.online).

3. Frontend Installation (Root Directory)

# Run this in the project root to install frontend dependencies
npm install
npm run dev

4. Backend Proxy & Scraper (Python)

# Install Python dependencies and start the scraper
pip install -r requirements.txt
python api/index.py

5. Authentication Server (API Directory)

# IMPORTANT: You MUST also install dependencies in the api folder
cd api
npm install
npm run dev  # Starts the auth gateway on port 5001

πŸ›‘οΈ Security & Performance

To ensure a premium and safe experience, AniXo implements:

  • Rate Limiting: Prevents API abuse and brute-force attacks via express-rate-limit.
  • Security Headers: Uses helmet to protect against common web vulnerabilities.
  • JWT Authentication: Secure stateless session management for user data.
  • HLS Optimization: Adaptive bitrate streaming for smooth playback on any network.
  • Scraper Caching: Reduces external API calls by caching stream results in stream_cache.json.

πŸ“œ Development Scripts

Command Description
npm run dev Starts the Vite development server for the frontend.
npm run build Compiles the frontend for production deployment.
npm run lint Runs ESLint to check for code quality and style issues.
npm run preview Previews the production build locally.

πŸ—ΊοΈ Future Roadmap

  • Sync with MAL/AniList: Bi-directional sync for watchlist data.
  • PWA Support: Install AniXo as a native app on mobile and desktop.
  • Advanced Player Skins: Customizable themes for the streaming player.
  • Community Forums: Dedicated space for anime discussions.
  • Recommendation AI: Personalized suggestions based on watch history.
  • Social Features: Friend lists and activity feeds.

πŸ’‘ Pro Tips for Developers

  • Environment Security: Never commit your .env file to a public repository. Use the included .env.example as a template for other contributors.
  • Scraper Health: If you notice slow loading times, check the stream_cache.json file. It helps reduce redundant API calls but can be cleared if data becomes stale.
  • Rate Limit Management: When using the Jikan fallback, avoid making more than 3 requests per second to stay within their free-tier limits.
  • HLS Stability: For the best streaming performance, ensure your server supports CORS and use hls.js compatible browsers (Chrome, Edge, Safari).
  • Vercel Deployment: If deploying to Vercel, make sure to configure the vercel.json properly to handle both Python and Node.js runtimes.

πŸ”§ Troubleshooting

Issue Solution
"Anime Not Found" Check if your Python proxy is running on port 5000.
Login Fails Ensure your MONGO_URI is correct and IP access is enabled in Atlas.
Video Not Playing Try switching servers (S1/S2) or check your internet connection.
Rate Limits If Jikan fallback triggers too often, you may hit Jikan's 429 limit.

βš–οΈ Legal & DMCA

AniXo is a metadata aggregator and does not host any video files on its servers. All content is pulled from publicly available third-party providers. For removal requests, please refer to the DMCA page. This project is for educational purposes only.


πŸ“œ License

This project is licensed under the MIT License. See the LICENSE file for more details.


πŸ‘₯ Contribution

We welcome contributions! Please fork the repo, create a feature branch, and submit a PR. For major changes, please open an issue first.


Developed with ❀️ for the Anime Community.
For educational purposes only. Built by the AniXo Team.

About

🎌 AniXO β€” A high-performance, next-gen anime streaming experience. Built with React 19 & Python, featuring a Hybrid Resilience Engine (AniList + Jikan fallback), elite HLS playback, smart metadata integration, and a seamless ad-free UI. The ultimate bridge between metadata and high-quality streams.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors