A modern anime streaming application built with Next.js, FastAPI and Electron.
aniways_preview.mp4
aniways_tutorial.preview.mp4
This project is for educational and personal use only.
- I am not responsible for any misuse of this software
- This application does not host or store any media files on its servers
- All content is streamed from third-party providers
- Use at your own risk
Aniways provides anime metadata from MyAnimeList (via Jikan API) and video sources from Animepahe. The backend handles data fetching, caching, and video URL extraction while the frontend delivers a responsive viewing experience.
- Stream Anime - Watch from Animepahe sources with quality selection
- Anime Lists - Track your anime (Plan to Watch, Watching, Completed, Paused, Dropped)
- User Accounts - Register and login with JWT authentication
- Continue Watching - Resume from where you left off
- Search & Browse - Find anime by name, genre, season, or schedule
- Responsive Design - Works on desktop, tablet, and mobile
- Desktop App - Run as a standalone Electron application
aniways/
├── backend/
│ ├── server.py # Entry point
│ ├── requirements.txt
│ └── app/
│ ├── main.py # FastAPI application
│ ├── config.py # Configuration
│ ├── dependencies.py # Dependency injection
│ ├── routes/
│ │ ├── mal.py # MAL/Jikan endpoints
│ │ ├── animepahe.py # Animepahe endpoints
│ │ └── watch.py # Video source endpoints
│ └── services/
│ ├── mal.py # Jikan API service
│ ├── animepahe.py # Animepahe scraper
│ └── kwik.py # Video URL extractor
│
├── desktop/
│ ├── main.js # Electron main process
│ ├── preload.js # Electron preload script
│ └── package.json # Electron dependencies & build config
│
└── frontend/
├── package.json
├── app/ # Next.js pages
│ ├── page.tsx # Home
│ ├── anime/[id]/ # Anime details
│ ├── watch/[id]/[ep]/ # Video player
│ ├── search/ # Search results
│ ├── browse/ # Browse by category
│ └── schedule/ # Weekly schedule
├── components/ # React components
└── lib/ # Utilities and API client
FastAPI server providing anime data and video sources.
- Python 3.11+
cd backend
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/Mac
source .venv/bin/activate
pip install -r requirements.txtpython server.pyServer runs at http://localhost:4444
- Swagger UI:
http://localhost:4444/docs - ReDoc:
http://localhost:4444/redoc
| Endpoint | Description |
|---|---|
| GET /api/top/anime | Top anime (airing, upcoming, popular) |
| GET /api/browse/anime | Browse with filters |
| GET /api/anime?q= | Search anime |
| GET /api/anime/{id} | Anime details |
| GET /api/anime/{id}/recommendations | Recommendations |
| GET /api/anime/{id}/characters | Characters |
| GET /api/seasons/now | Current season |
| GET /api/schedules | Weekly schedule |
| GET /api/watch/{id}/{episode} | Video sources |
| GET /api/animepahe/latest | Latest releases |
| POST /api/auth/register | Create new account |
| POST /api/auth/login | Login and get JWT token |
| GET /api/list | Get user's anime list |
| POST /api/list | Add anime to list |
Animepahe requires DDoS-Guard bypass cookies. To update:
- Visit animepahe.si in browser
- Open DevTools > Application > Cookies
- POST cookies to
/api/animepahe/cookies
Next.js application with Tailwind CSS and shadcn/ui.
- Node.js 18+
cd frontend
npm installnpm run devFrontend runs at http://localhost:3000
npm run build
npm start| Route | Description |
|---|---|
| / | Home with featured anime |
| /anime/[id] | Anime details page |
| /watch/[id]/[episode] | Video player |
| /search | Search results |
| /browse/[category] | Browse by category |
| /schedule | Weekly broadcast schedule |
| /season/upcoming | Upcoming anime |
| /profile | User profile & anime list |
| /login | Login page |
| /signup | Registration page |
- FastAPI - Web framework
- SQLAlchemy - ORM with SQLite database
- httpx - Async HTTP client
- BeautifulSoup4 - HTML parsing
- Jikan API - MyAnimeList data
- JWT - User authentication
- Next.js 15 - React framework
- TypeScript - Type safety
- Tailwind CSS 4 - Styling
- shadcn/ui - UI components
- HLS.js - Video streaming
- Electron - Cross-platform desktop app
- Electron Forge - Build & packaging
docker-compose up -d- Frontend:
http://localhost:3000 - Backend:
http://localhost:4444
To rebuild after changes:
docker-compose up -d --buildWindows:
start.batLinux/Mac:
chmod +x start.sh
./start.shRun as a standalone desktop application:
cd frontend
npm install
npm run electron:devor
./start-app.batThis starts both the Next.js server and the Python backend automatically, then opens the Electron window.
Build Desktop App:
cd frontend
npm run electron:buildor
./build-app.batThe packaged app will be in frontend/out/make/.
Download the latest Windows installer from the Releases page:
- Aniways.Setup.X.X.X.exe - Windows installer with bundled backend
Simply download and run the installer. The app includes both the frontend and backend, so no additional setup is required.
-
Start backend:
cd backend python server.py -
Start frontend (new terminal):
cd frontend npm run dev -
Open
http://localhost:3000
MIT