A high-performance mobile anime streaming application built with modern web technologies and native Android integration. Delivering seamless HD/HLS streaming with an elegant, intuitive interface.
- Overview
- Features
- Tech Stack
- Screenshots
- Requirements
- Installation
- Development
- Building
- Project Structure
- Contributing
- License
Jinju is a modern, performant anime streaming application that continues the legacy of the OtakuStream project. It brings a cinematic viewing experience to mobile devices with support for adaptive bitrate streaming (HLS), intuitive navigation, and a dark-themed interface optimized for anime content discovery and playback.
Built with Capacitor, Jinju bridges the gap between web and native applications, providing users with a truly native Android experience while maintaining the flexibility and rapid development cycle of web technologies.
- β‘ High-Performance Streaming - Native HLS.js integration for smooth video playback
- π¨ Modern UI/UX - Dark theme optimized for anime content with responsive design
- π± Native Android App - Built with Capacitor for true Android integration
- π§ Developer Friendly - Easy setup and build process for rapid development
- π Content Rich - Comprehensive anime catalog with organized browsing
- HLS Streaming Support - High-performance adaptive bitrate streaming
- Multiple Video Players - Native HLS player with embed fallback options
- Quality Selection - Automatic and manual quality adjustment
- Smooth Playback - Optimized for low-latency streaming
- Dark Theme UI - Eye-friendly interface designed for long viewing sessions
- Responsive Design - Seamless experience across various screen sizes
- Fast Navigation - Optimized splash screen and app initialization
- Asset Optimization - Pre-loaded assets for instant loading
- Comprehensive Anime Database - Extensive catalog of anime titles
- Smart Browsing - Organized categories and search functionality
- Media Information - Detailed anime metadata and episode information
- HTML5 - Semantic markup for modern web standards
- CSS3 - Advanced styling with flexbox and grid layouts
- JavaScript (ES6+) - Interactive features and player controls
- HLS.js - Professional HTML5 streaming library
- Capacitor 6.2.0 - Bridge between web and native Android
- Capacitor Plugins
@capacitor/status-bar- Native status bar customization@capacitor/splash-screen- App splash screen management
- Gradle - Android build system with optimized configurations
- NPM - Package management and build scripts
- Python - Utility scripts for asset generation and setup
- Google Fonts - Modern typography (Outfit, Plus Jakarta Sans)
- FontAwesome 6.5.1 - Comprehensive icon library
- Custom CSS Framework - Tailored styling for anime platform
To add professional screenshots to this README:
-
Take Screenshots - Capture your mobile app interface on device or emulator
-
Store Images - Place screenshots in the
assets/directory:assets/screenshot-home.png- Home screen with anime listingsassets/screenshot-player.png- Video player interfaceassets/screenshot-menu.png- Navigation menuassets/screenshot-detail.png- Anime detail page
-
Add to README - Include them using markdown: ```markdown
```
- Node.js β₯ 16.x
- axios > 7.x
- NPM β₯ 8.x
- JDK 11 or higher
- Android SDK API 21+
- Gradle (included in Android SDK)
- Android Device/Emulator - API Level 21 (Android 5.0) or higher
- 2GB RAM minimum recommended
- 50MB free storage for app installation
```bash git clone https://github.com/Gffxt/jinju.git cd jinju ```
```bash npm install ```
Ensure you have the following environment variables configured: ```bash export ANDROID_HOME=/path/to/android/sdk export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH ```
Edit `android/local.properties`: ```properties sdk.dir=/path/to/android/sdk ```
```bash npx cap sync android ```
```bash npm run build ```
```bash npm run sync ```
```bash npm run build:apk ```
```bash npm run build:release ```
-
Modify Web Assets ```bash
```
-
Test Changes ```bash npm run sync ```
-
Build APK ```bash npm run build:apk ```
-
Install on Device ```bash adb install android/app/build/outputs/apk/debug/app-debug.apk ```
```bash npm run build:apk ``` Generates: `android/app/build/outputs/apk/debug/app-debug.apk`
```bash npm run build:release ``` Generates: `android/app/build/outputs/apk/release/app-release.apk`
```bash cd android ./gradlew clean npm run build:apk ```
ProGuard configuration is already set up in `android/app/proguard-rules.pro` for release builds.
```bash cd android ./gradlew assembleDebug --info ```
``` jinju/ βββ www/ # Web application (Capacitor webDir) β βββ index.html # Main HTML entry point β βββ app.js # Application logic (74KB) β βββ styles.css # Application styles (50KB) β βββ hls.min.js # HLS.js streaming library (618KB) β βββ assets/ # Static assets (images, icons, etc.) β βββ android/ # Native Android project β βββ app/ β β βββ build.gradle # App build configuration β β βββ capacitor.build.gradle β β βββ proguard-rules.pro # Code obfuscation rules β β βββ src/ β β βββ androidTest/ # Instrumented tests β β βββ main/ # Main app source code β β βββ test/ # Unit tests β β β βββ build.gradle # Project-level build config β βββ gradlew # Gradle wrapper (Linux/Mac) β βββ gradlew.bat # Gradle wrapper (Windows) β βββ gradle.properties # Gradle properties β βββ local.properties # Local SDK configuration β βββ settings.gradle # Build settings β βββ capacitor.config.json # Capacitor configuration βββ package.json # NPM dependencies and scripts βββ package-lock.json # Locked dependency versions βββ build_apk.sh # Build script βββ generate_assets.py # Asset generation utility βββ setup_android_assets.py # Android asset setup βββ README.md # This file ```
`www/` - Complete web application
- Contains all HTML, CSS, JavaScript needed for the app
- Served through Capacitor's WebView on Android
- Directly modifiable for rapid development
`android/` - Native Android wrapper
- Capacitor integration layer
- Gradle build configuration
- ProGuard code obfuscation rules
- Native plugin dependencies
`assets/` - Static resources
- App icons, splash screens, images
- Generated and optimized by Python utility scripts
We welcome contributions to improve Jinju! Whether it's bug fixes, feature additions, or documentation improvements, please follow these guidelines:
- Fork the repository
- Create a feature branch: `git checkout -b feature/amazing-feature`
- Make your changes and test thoroughly
- Commit with clear messages: `git commit -m 'Add amazing feature'`
- Push to your branch: `git push origin feature/amazing-feature`
- Open a Pull Request
- Write clean, readable code
- Add comments for complex logic
- Test changes on actual Android devices when possible
- Update documentation for new features
- Clearly describe the problem
- Provide device and Android version information
- Include steps to reproduce
- Attach relevant logs or screenshots
This project is licensed under the MIT License - see the LICENSE file for details.
The Jinju application is based on OtakuStream and continues its mission to provide high-quality anime streaming experiences.
- Built with Capacitor - The cross-platform app framework
- Streaming powered by HLS.js - Professional HTTP Live Streaming
- Inspired by OtakuStream's elegant design and functionality
- Icons from FontAwesome
For questions, suggestions, or support:
- GitHub Issues: Report bugs or request features
- Repository: https://github.com/Gffxt/jinju
Made with β€οΈ for anime enthusiasts